如何給ss bash 寫一個(gè) WEB 端查看流量的頁(yè)面
由于剛畢業(yè)的窮大學(xué)生,和朋友合租了一臺(tái)服務(wù)器開了多個(gè)端口提供 ss 服務(wù),懶得配置 ss-panel,就使用了 ss-bash 來(lái)監(jiān)控不同端口的流量,但每次都要等上服務(wù)器才能看到流量使用情況,很麻煩,于是就寫了個(gè)簡(jiǎn)單的頁(yè)面來(lái)提供 WEB 訪問(wèn)。
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ù)器本來(lái)就安裝了 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ì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
CSDN上快速結(jié)貼的方法,JS實(shí)現(xiàn)
CSDN上快速結(jié)貼的方法,JS實(shí)現(xiàn)...2007-03-03js實(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-01BootStrap 實(shí)現(xiàn)各種樣式的進(jìn)度條效果
這篇文章主要介紹了BootStrap 實(shí)現(xiàn)各種樣式的進(jìn)度條效果,代碼分為動(dòng)態(tài)和疊加兩種效果,需要的朋友可以參考下2016-12-12JS數(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-03JavaScript寫個(gè)貪吃蛇小游戲(超詳細(xì))
這篇文章主要介紹了JavaScript寫個(gè)貪吃蛇小游戲(超詳細(xì)),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03