由于刚毕业的穷大学生,和朋友合租了一台服务器开了多个端口提供 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="https://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="https://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 端查看流量的页面,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小牛知识库网站的支持!
client list 列出所有连接 client kill 杀死某个连接, 例如CLIENT KILL 127.0.0.1:43501 client getname # 获取连接的名称 默认nil client setname "名称" 设置连接名称,便于调试
本文向大家介绍怎样一页一页地查看一个大文件的内容呢?相关面试题,主要包含被问及怎样一页一页地查看一个大文件的内容呢?时的应答技巧和注意事项,需要的朋友参考一下 答案: 通过管道将命令”cat file_name.txt” 和 ’more’ 连接在一起可以实现这个需要. [root@localhost ~]# cat file_name.txt | more
问题内容: 我想要类似通用,可重用的方法,该方法将告诉我从流的起点读取的字节数。理想情况下,我希望它可以与所有InputStream一起使用,这样当我从不同的来源获得它们时,就不必包装它们中的每一个。 这样的野兽存在吗?如果不是,那么有人可以推荐现有的计数实现吗? 问题答案: 看一下Commons IO包中的CountingInputStream。它们也很好地收集了其他有用的InputStream
问题内容: 我的网站上有嵌入式流,但是我想增加页面上的实时观众数。有没有办法用PHP / AJAX做到这一点,显示当前正在查看我的一个网页的人数? 问题答案: 免责声明:我很久以前就做过这样的事情,所以这是丑陋的旧代码(我不会在第一次开始编程时就努力使外观看起来更好/不是,因为这只是为了让您了解如何做到的,而不是随意输入任何特定代码)。 您只需要制作一个表并按住session_id即可。然后在该表
本文向大家介绍如何禁止web端的页面缩放?相关面试题,主要包含被问及如何禁止web端的页面缩放?时的应答技巧和注意事项,需要的朋友参考一下
我使用Charles Proxy来监控我的网络流量(特别是查看iOS和Android应用程序中的API流量)。我有一个API站点在127.0本地运行。0.1:8080,但该流量不会出现在Charles Proxy中。我一直在摆弄设置,但似乎无法让它工作-有什么想法吗?