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

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

由于刚毕业的穷大学生,和朋友合租了一台服务器开了多个端口提供 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 端查看流量的页面,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

时间: 2024-10-06 16:01:09

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

vnstat 流量统计 并附带一个小 php 查看流量的页面

安装apt-get install vnstat 配置到自动启动update-rc.d vnstat enable 启动/etc/init.d/vnstat start vnstat基本使用命令 vnstat -i eth0 -l #实时流量情况vnstat -i eth0 -h #按小时查询流量情况vnstat -i eth0 -d #按天数查询流量情况vnstat -i eth0 -m #按月数查询流量情况vnstat -i eth0 -w #按周数查询流量情况vnstat -i eth0

用C写一个web服务器(二) I/O多路复用之epoll

.container { margin-right: auto; margin-left: auto; padding-left: 15px; padding-right: 15px } .container::before,.container::after { content: " "; display: table } .container::after { clear: both } .container::before,.container::after { content:

一起写一个 Web 服务器

导读: 本系列深入浅出的讲述了如何用 Python 从 0 开始,写一个 web 服务器,并让其与业界流行的 web 框架协同工作,最后还进一步完善了开头的 web 服务器 demo,让其可以支持多并发请求的处理,并解决了过程当中遇到的"僵尸进程"等一系列 socket/网络编程 中的常见问题,图文并茂.循序渐进,是篇非常不错的教程,对了解整个 Web 编程理论相当有帮助,推荐一看. 作者:伯乐在线 - 高世界 翻译 1.什么是 Web 服务器,以及怎样工作的? 一起写一个 Web 服

使用node.js 文档里的方法写一个web服务器

刚刚看了node.js文档里的一个小例子,就是用 node.js 写一个web服务器的小例子 上代码 (*^▽^*) //helloworld.js// 使用node.js写一个服务器 const http=require('http'); const hostname='127.0.0.1' const port=3000; const server = http.createServer((req,res)=>{ res.statusCode=200; res.setHeader('Cont

用C写一个web服务器(四) CGI协议

* { margin: 0; padding: 0 } body { font: 13.34px helvetica, arial, freesans, clean, sans-serif; color: black; line-height: 1.4em; background-color: #F8F8F8; padding: 0.7em } p { margin: 1em 0; line-height: 1.5em } table { font-size: inherit; font: 10

如何写一个Web服务器

最近两个月的业余时间在写一个私人项目,目的是在Linux下写一个高性能Web服务器,名字叫Zaver.主体框架和基本功能已完成,还有一些高级功能日后会逐渐增加,代码放在了github.Zaver的框架会在代码量尽量少的情况下接近工业水平,而不像一些教科书上的toy server为了教原理而舍弃了很多原本server应该有的东西.在本篇文章中,我将一步步地阐明Zaver的设计方案和开发过程中遇到的困难以及相应的解决方法. 为什么要重复造轮子 几乎每个人每天都要或多或少和Web服务器打交道,比较著名

教你写一个web远程控制小工具

惯例先上图 晚上躺床上了,发现忘关电脑了,又不想起来关,来用手机控制电脑多好,百度了下,果然一大把.哈,我自己为什么不自己也实现个呢,任意的自己diy.Just do it. 如果不想看如何实现,那么直接用下面的吧: web操控端:http://smallyard.cn/jobhub/ 控制端jar包: http://files.cnblogs.com/files/smallyard/jobhub-client.rar 运行:java -jar joghub-client.jar [你的密码]

使用HTML写一个简单的跳转登录页面

最近在学习前端的知识,于是就想写一个简单的页面跳转,必须是勾选了"我同意"这个选项以后才能跳转,否则不能,不废话,直接上代码. 首先是第一个页面:testlogin1.html <!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8">     <title>Title</title> </hea

使用python写一个web

先编写hello.py,实现Web应用程序的WSGI处理函数: # hello.py def application(environ, start_response): start_response('200 OK', [('Content-Type', 'text/html')]) return '<h1>Hello, %s!</h1>' % (environ['PATH_INFO'][1:] or 'web') 再编写一个server.py,负责启动WSGI服务器,加载appl