如何给ss bash 写一个 WEB 端查看流量的页面


Posted in Javascript onMarch 23, 2017

由于刚毕业的穷大学生,和朋友合租了一台服务器开了多个端口提供 ss 服务,懒得配置 ss-panel,就使用了 ss-bash 来监控不同端口的流量,但每次都要等上服务器才能看到流量使用情况,很麻烦,于是就写了个简单的页面来提供 WEB 访问。

JavaScript 版本

用 crontab 定时把流量记录文件复制到 WEB 目录下,写个 JS 脚本作数据处理。

function successFunction(data) {
 var allRows = data.split(/\r?\n|\r/);
 var table = '<table class="table table-hover" style="width: 50%; margin: auto;">';
 for (var singleRow = 0; singleRow < allRows.length; singleRow++) {
  if (singleRow === 0) {
   table += '<thead>';
   table += '<tr>';
  } else {
   table += '<tr>';
  }
  var rowCells = allRows[singleRow].split(',');
  for (var rowCell = 0; rowCell < rowCells.length; rowCell++) {
   if (singleRow === 0) {
    table += '<th class="text-right">';
    table += rowCells[rowCell];
    table += '</th>';
   } else {
    table += '<td class="text-right">';
    table += rowCells[rowCell];
    table += '</td>';
   }
  }
  if (singleRow === 0) {
   table += '</tr>';
   table += '</thead>';
   table += '<tbody>';
  } else {
   table += '</tr>';
  }
 } 
 table += '</tbody>';
 table += '</table>';
 $('body').append(table);
}

首页

<!DOCTYPE html>
<html>
<head>
  <title>Traffic</title>
  <script src=//cdn.bootcss.com/jquery/3.2.0/jquery.min.js></script>
  <link href="//cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="external nofollow" rel="external nofollow" rel="stylesheet">
  <script src="//cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
  <script src="test.js"></script>
</head>
<body>
<script type="text/javascript">
var text="";
$.ajax({
  url: "traffic.txt",
  method: "GET",
  success: function(data){
    text = data.replace(' ', '').replace(/\t| /g, ',');
    successFunction(text);
  }
})
</script>
</body>
</html>

PHP 版本

服务器本来就安装了 PHP,所以用 PHP 也是很理所当然的事情了。

<!DOCTYPE html>
<html>
<head>
  <title>Traffic</title>
  <script src=//cdn.bootcss.com/jquery/3.2.0/jquery.min.js></script>
  <link href="//cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="external nofollow" rel="external nofollow" rel="stylesheet">
  <script src="//cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>
<?php
$traffic = file_get_contents("d:\\traffic.txt");
$traffic = explode("\n", $traffic);
echo "<table class='table table-hover' style='width: 50%; margin: auto;''>\n";
echo "<thead>\n";
echo "<tr>\n";
for ($i=0; $i < sizeof($traffic); $i++) {
  if ($i === 0) {
    $str = preg_replace('/ /','',$traffic[0],1);
    $str = preg_replace('/ /', ',', $str);
    $str = explode(',', $str);
    for ($j=0; $j < sizeof($str); $j++) { 
      echo "<th class='text-right'>" . $str[$j] . "</th>\n";
    }
    echo "</tr>\n";
    echo "</thead>\n";
    echo "<tbody>\n";
  }
  else {
    $str = preg_replace('/\t/', ',', $traffic[$i]);
    $str = explode(',', $str);
    echo "<tr>\n";
    for ($j=0; $j < sizeof($str); $j++) { 
      echo "<td class='text-right'>" . $str[$j] . "</td>\n";
    }
    echo "</tr>\n";
  }
}
echo "</tbody>\n";
echo "</table>\n";
?>
</body>
</html>

以上所述是小编给大家介绍的给ss bash 写一个 WEB 端查看流量的页面,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
20个实用的JavaScript技巧分享
Nov 28 Javascript
javascript模拟评分控件实现方法
May 13 Javascript
Bootstrap每天必学之按钮(一)
Nov 24 Javascript
jQuery+jsp下拉框联动获取本地数据的方法(附源码)
Dec 03 Javascript
JavaScript类的写法
Sep 17 Javascript
angularjs 中$apply,$digest,$watch详解
Oct 13 Javascript
Vue.js组件tab实现选项卡切换
Mar 23 Javascript
Node.JS段点续传:Nginx配置文件分段下载功能的实现方法
Mar 12 Javascript
Angular 4.x+Ionic3踩坑之Ionic3.x pop反向传值详解
Mar 13 Javascript
使用JS代码实现俄罗斯方块游戏
Aug 03 Javascript
webpack安装配置与常见使用过程详解(结合vue)
Jun 01 Javascript
微信小游戏中three.js离屏画布的示例代码
Oct 12 Javascript
angularJS深拷贝详解
Mar 23 #Javascript
canvas实现环形进度条效果
Mar 23 #Javascript
Javascript实现登录记住用户名和密码功能
Mar 22 #Javascript
jquery实现图片平滑滚动详解
Mar 22 #jQuery
JavaScript中在光标处插入添加文本标签节点的详细方法
Mar 22 #Javascript
jQuery轻松实现无缝轮播效果
Mar 22 #jQuery
JavaScript登录记住密码操作(超简单代码)
Mar 22 #Javascript
You might like
php继承的一个应用
2011/09/06 PHP
新浪微博API开发简介之用户授权(PHP基础篇)
2011/09/25 PHP
simplehtmldom Doc api帮助文档
2012/03/26 PHP
php mail to 配置详解
2014/01/16 PHP
使用php语句将数据库*.sql文件导入数据库
2014/05/05 PHP
ThinkPHP无限级分类原理实现留言与回复功能实例
2014/10/31 PHP
Kindeditor编辑器添加图片上传水印功能(php代码)
2017/08/03 PHP
4种Windows系统下Laravel框架的开发环境安装及部署方法详解
2020/04/06 PHP
PNGHandler-借助JS让PNG图在IE下实现透明(包括背景图)
2007/08/31 Javascript
js操作二级联动实现代码
2010/07/27 Javascript
jQuery实现的Email中的收件人效果(按del键删除)
2011/03/20 Javascript
jquery表单对象属性过滤选择器实例分析
2015/05/18 Javascript
基于JavaScript的操作系统你听说过吗?
2016/01/28 Javascript
微信小程序  生命周期详解
2016/10/27 Javascript
如何在Angular2中使用jQuery及其插件的方法
2017/02/09 Javascript
基于Bootstrap框架实现图片切换
2017/03/10 Javascript
vue项目优化之通过keep-alive数据缓存的方法
2017/12/11 Javascript
JS中的算法与数据结构之队列(Queue)实例详解
2019/08/20 Javascript
React+Redux实现简单的待办事项列表ToDoList
2019/09/29 Javascript
python脚本实现数据导出excel格式的简单方法(推荐)
2016/12/30 Python
pandas进行数据的交集与并集方式的数据合并方法
2018/06/27 Python
使用Python编写Prometheus监控的方法
2018/10/15 Python
Python脚本修改阿里云的访问控制列表的方法
2019/03/08 Python
python操作小程序云数据库实现简单的增删改查功能
2019/06/06 Python
使用python实现飞机大战游戏
2020/03/23 Python
SmartBuyGlasses英国:购买太阳镜和眼镜
2018/01/29 全球购物
生物科学专业个人求职信范文
2013/12/05 职场文书
函授教育个人学习的自我评价
2013/12/31 职场文书
乡镇庆八一活动方案
2014/02/02 职场文书
护士个人自我鉴定
2014/03/24 职场文书
优秀共产党员先进事迹材料
2014/05/06 职场文书
暂停营业通知
2015/04/25 职场文书
幼儿教师远程研修感悟
2015/11/18 职场文书
golang 实现Location跳转方式
2021/05/02 Golang
Keras多线程机制与flask多线程冲突的解决方案
2021/05/28 Python
SQL CASE 表达式的具体使用
2022/03/21 SQL Server