如何给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 相关文章推荐
让checkbox不选中即将选中的checkbox不选中
Jul 11 Javascript
生成二维码方法汇总
Dec 26 Javascript
JS实现让网页背景图片斜向移动的方法
Feb 25 Javascript
详解JavaScript中的表单验证
Jun 16 Javascript
HTML5游戏引擎LTweenLite实现的超帅动画效果(附demo源码下载)
Jan 26 Javascript
AngularJs  Using $location详解及示例代码
Sep 02 Javascript
详解vue事件对象、冒泡、阻止默认行为
Mar 20 Javascript
Webpack中css-loader和less-loader的使用教程
Apr 27 Javascript
jstree单选功能的实现方法
Jun 07 Javascript
javascript实现倒计时效果
Feb 17 Javascript
JavaScript ECMA-262-3 深入解析(一):执行上下文实例分析
Apr 25 Javascript
react使用CSS实现react动画功能示例
May 18 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
弄了个检测传输的参数是否为数字的Function
2006/12/06 PHP
elgg 获取文件图标地址的方法
2010/03/20 PHP
php用正则表达式匹配中文实例详解
2013/11/06 PHP
通过dbi使用perl连接mysql数据库的方法
2014/04/16 PHP
将CMYK颜色值和RGB颜色相互转换的PHP代码
2014/07/28 PHP
laravel框架中视图的基本使用方法分析
2019/11/23 PHP
YII2框架使用控制台命令的方法分析
2020/03/18 PHP
jQuery在html有效在jsp无效的原因及解决方法
2013/08/02 Javascript
纯js简单日历实现代码
2013/10/05 Javascript
js返回前一页刷新本页重载页面
2014/07/29 Javascript
ichart.js绘制虚线、平均分虚线效果的实现代码
2016/05/05 Javascript
JS实现兼容火狐及IE iframe onload属性的遮罩层隐藏及显示效果
2016/08/23 Javascript
axios全局请求参数设置,请求及返回拦截器的方法
2018/03/05 Javascript
JS实现的汉字与Unicode码相互转化功能分析
2018/05/25 Javascript
用node撸一个监测复联4开售短信提醒的实现代码
2019/04/10 Javascript
详解微信小程序胶囊按钮返回|首页自定义导航栏功能
2019/06/14 Javascript
iSlider手机端图片滑动切换插件使用详解
2019/12/24 Javascript
你可能从未使用过的11+个JavaScript特性(小结)
2020/01/08 Javascript
简单了解three.js 着色器材质
2020/08/03 Javascript
Python中字典的基本知识初步介绍
2015/05/21 Python
使用Django启动命令行及执行脚本的方法
2018/05/29 Python
在PyCharm下打包*.py程序成.exe的方法
2018/11/29 Python
pytorch sampler对数据进行采样的实现
2019/12/31 Python
Matplotlib使用Cursor实现UI定位的示例代码
2020/03/12 Python
解决django框架model中外键不落实到数据库问题
2020/05/20 Python
python求解汉诺塔游戏
2020/07/09 Python
python eventlet绿化和patch原理
2020/11/21 Python
pycharm中leetcode插件使用图文详解
2020/12/07 Python
深入理解css属性的选择对动画性能的影响
2016/04/20 HTML / CSS
如何获取某个日期是当月的最后一天
2013/12/05 面试题
员工合理化建议书
2014/05/19 职场文书
平安家庭示范户事迹
2014/06/02 职场文书
2014基建处领导班子“四风”对照检查材料思想汇报
2014/10/04 职场文书
2014年局领导班子自身建设情况汇报
2014/11/21 职场文书
我们的节日中秋节活动总结
2015/03/23 职场文书
Springboot中如何自动转JSON输出
2022/06/16 Java/Android