如何給ss bash 寫一個(gè) WEB 端查看流量的頁(yè)面
由于剛畢業(yè)的窮大學(xué)生,和朋友合租了一臺(tái)服務(wù)器開了多個(gè)端口提供 ss 服務(wù),懶得配置 ss-panel,就使用了 ss-bash 來監(jiān)控不同端口的流量,但每次都要等上服務(wù)器才能看到流量使用情況,很麻煩,于是就寫了個(gè)簡(jiǎn)單的頁(yè)面來提供 WEB 訪問。
JavaScript 版本
用 crontab 定時(shí)把流量記錄文件復(fù)制到 WEB 目錄下,寫個(gè) JS 腳本作數(shù)據(jù)處理。
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);
}
首頁(yè)
<!DOCTYPE html>
<html>
<head>
<title>Traffic</title>
<script src=//cdn.bootcss.com/jquery/3.2.0/jquery.min.js></script>
<link rel="external nofollow" rel="external nofollow" rel="stylesheet">
<script src="http://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 版本
服務(wù)器本來就安裝了 PHP,所以用 PHP 也是很理所當(dāng)然的事情了。
<!DOCTYPE html>
<html>
<head>
<title>Traffic</title>
<script src=//cdn.bootcss.com/jquery/3.2.0/jquery.min.js></script>
<link rel="external nofollow" rel="external nofollow" rel="stylesheet">
<script src="http://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 寫一個(gè) WEB 端查看流量的頁(yè)面,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
CSDN上快速結(jié)貼的方法,JS實(shí)現(xiàn)
CSDN上快速結(jié)貼的方法,JS實(shí)現(xiàn)...2007-03-03
js實(shí)現(xiàn)拾色器插件(ColorPicker)
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)拾色器插件ColorPicker,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-05-05
使用js完成節(jié)點(diǎn)的增刪改復(fù)制等的操作
本文為大家詳細(xì)介紹下使用js完成節(jié)點(diǎn)的增刪改復(fù)制等的操作,具體的實(shí)現(xiàn)如下,感興趣的朋友可以參考下2014-01-01
BootStrap 實(shí)現(xiàn)各種樣式的進(jìn)度條效果
這篇文章主要介紹了BootStrap 實(shí)現(xiàn)各種樣式的進(jìn)度條效果,代碼分為動(dòng)態(tài)和疊加兩種效果,需要的朋友可以參考下2016-12-12
JS數(shù)據(jù)類型(基本數(shù)據(jù)類型、引用數(shù)據(jù)類型)及堆和棧的區(qū)別分析
這篇文章主要介紹了JS數(shù)據(jù)類型(基本數(shù)據(jù)類型、引用數(shù)據(jù)類型)及堆和棧的區(qū)別,結(jié)合實(shí)例形式分析了JS基本數(shù)據(jù)類型、引用數(shù)據(jù)類型概念、用法,以及堆和棧的區(qū)別,需要的朋友可以參考下2020-03-03
JavaScript寫個(gè)貪吃蛇小游戲(超詳細(xì))
這篇文章主要介紹了JavaScript寫個(gè)貪吃蛇小游戲(超詳細(xì)),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03

