如何给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 相关文章推荐
JQuery 常用操作代码
Mar 14 Javascript
JavaScript表达式:URL 协议介绍
Mar 10 Javascript
基于jquery的网站幻灯片切换效果焦点图代码
Sep 15 Javascript
javascript实现数字验证码的简单实例
Feb 10 Javascript
Node.js 去掉种子(torrent)文件里的邪恶信息
Mar 27 Javascript
深入理解JavaScript定时机制
Oct 27 Javascript
AngularJs篇:使用AngularJs打造一个简易权限系统的实现代码
Dec 26 Javascript
Javascript中字符串和数字的操作方法整理
Jan 22 Javascript
整理关于Bootstrap列表组的慕课笔记
Mar 29 Javascript
Vue.js实现模拟微信朋友圈开发demo
Apr 20 Javascript
JS回调函数原理与用法详解【附PHP回调函数】
Jul 20 Javascript
vue实现倒计时功能
Mar 24 Vue.js
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调用Linux的命令行执行文件压缩命令
2013/01/27 PHP
javascript multibox 全选
2009/03/22 Javascript
javascript 流畅动画实现原理
2009/09/08 Javascript
jQuery EasyUI API 中文文档 - Draggable 可拖拽
2011/09/29 Javascript
JQuery的AJAX实现文件下载的小例子
2013/05/15 Javascript
js 判断浏览器使用的语言示例代码
2014/03/22 Javascript
js获取网页可见区域、正文以及屏幕分辨率的高度
2014/05/15 Javascript
吐槽一下我所了解的Node.js
2014/10/08 Javascript
代码分析jQuery四种静态方法使用
2015/07/23 Javascript
javascript性能优化之事件委托实例详解
2015/12/12 Javascript
JS实现六边形3D拖拽翻转效果的方法
2016/09/11 Javascript
js遍历json的key和value的实例
2017/01/22 Javascript
JavaScript数据结构之二叉查找树的定义与表示方法
2017/04/12 Javascript
微信小程序实战之轮播图(3)
2017/04/17 Javascript
jquery中封装函数传递当前元素的方法示例
2017/05/05 jQuery
在vue中通过axios异步使用echarts的方法
2018/01/13 Javascript
NodeJs入门教程之定时器和队列
2019/03/08 NodeJs
babel7.x和webpack4.x配置vue项目的方法步骤
2019/05/12 Javascript
vue elementUI table 自定义表头和行合并的实例代码
2019/05/22 Javascript
JavaScript实现五子棋小游戏
2020/10/26 Javascript
解决VantUI popup 弹窗不弹出或无蒙层的问题
2020/11/03 Javascript
[00:31]2016完美“圣”典风云人物:国士无双宣传片
2016/12/04 DOTA
Python字符串和文件操作常用函数分析
2015/04/08 Python
Python切片操作实例分析
2018/03/16 Python
python内置函数sorted()用法深入分析
2019/10/08 Python
TensorFlow实现checkpoint文件转换为pb文件
2020/02/10 Python
python安装dlib库报错问题及解决方法
2020/03/16 Python
Python logging自定义字段输出及打印颜色
2020/11/30 Python
英国网上超市:Ocado
2020/03/05 全球购物
畜牧兽医本科生的自我评价
2014/03/03 职场文书
青年文明号服务承诺
2014/03/31 职场文书
大学新闻系应届生求职信
2014/06/02 职场文书
店铺转让协议书
2014/12/02 职场文书
《穷人》教学反思
2016/02/19 职场文书
JavaScript实现简单拖拽效果
2021/09/15 Javascript
Python可视化动图组件ipyvizzu绘制惊艳的可视化动图
2022/04/21 Python