MENU

如何搭建轻量级节点在线监控&分享

August 12, 2019 • Read: 107 • 科学上网阅读设置

前言

把doub的帐号在线监控脚本魔改了一下,使原有只能监控账号可用情况变成了监控+二维码链接分享的一个轻量的分享站。
目前一个小时会重新检查一遍可用性,一个月清理一次。

但是我估计过不了多久就基本没法用了,很多都是周期更新节点。要稳定还是买节点更放心。

不过整体还可以,搭建方便,耗资源小,基于Caddy,基本没有内存损耗。

演示站:https://blog.ljyngup.com/go/55rys/

Github: https://github.com/ToyoDAdoubi/SSRStatus

演示截图:670-ys.png

虽然doub进去了,但是github还有粉丝维护,都是可以用的!
在安装之前请注意不要安装nginx等软件,会引起冲突!

1.安装(来自Github)

安装SSRStatus

wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/ssrstatus.sh && chmod +x ssrstatus.sh && bash ssrstatus.sh

# 如果上面这个脚本无法下载,尝试使用备用下载:
wget -N --no-check-certificate https://softsmirror.cf/Bash/ssrstatus.sh && chmod +x ssrstatus.sh && bash ssrstatus.sh

670-ssrstatus.png

下载并运行脚本后会出现脚本操作菜单,选择并输入 1 就会开始安装。

一开始会提示你输入 网站服务器的域名和端口,如果没有域名可以直接回车代表使用 本机IP:8888

首先安装服务端,安装过程中会提示:

是否由脚本自动配置HTTP服务(服务端的在线监控网站)[Y/n]

# 如果你不懂,那就直接回车,如果你想用其他的HTTP服务自己配置,那么请输入 n 并回车。
# 注意,当你曾经安装过 服务端,同时没有卸载Caddy(HTTP服务),那么重新安装服务端的时候,请输入 n 并回车。

然后会提示你输入网站服务器的域名和端口,如果没有域名可以直接回车代表使用 本机IP:8888

然后部署完 HTTP服务,就会让你设置 检测间隔时间。

请选择你要设置的ShadowsocksR账号检测时间间隔(如账号很多,请不要设置时间间隔过小)
1. 5分钟
2. 10分钟
3. 20分钟
4. 30分钟
5. 40分钟
6. 50分钟
7. 1小时
8. 2小时
9. 自定义输入

(默认: 2. 10分钟):

我们还需要设置一下ShadowsocksR子目录变量,打开脚本文件

vi ssrstatus.sh
# 按 I键 进入编辑模式,然后修改后按 ESC键 退出编辑模式,并输入 :wq 保存并退出

然后我们找到 第16行 的 SSR_folder="/root/shadowsocksr/shadowsocks" 参数,修改引号内的ShadowsocksR目录名,必须设置为 ShadowsocksR子目录的绝对路径,并且最后一位不能加上 "/"

注意:如果你用的是逗比的ShadowsocksR一键脚本,那么位置即是:/usr/local/shadowsocksr/shadowsocks

此时SSRStatus已经可以使用了,但是只能检测节点是否可用,却不能分享,只能给自己看,所以下面我们把它魔改成一个简易的分享站点。

2.魔改教程

修改ssrstatus.sh

编辑ssrstatus.sh,以我为例在/root/ssrstatus.sh
将322,324,476,478行内容替换为下列代码

Config_JSON="${Config_JSON}{ \"ip\": \"${ip}\", \"name\": \"${Config_Name}\", \"type\": \"${Config_Type}\", \"type_1\": \"${Config_Type_1}\", \"location\": \"${Config_Location}\", \"status\": ${Config_Status}, \"time\": \"$(date '+%Y-%m-%d %H:%M:%S')\", \"link\": \"${Config_info_base64}\"  }\n"

修改ssrstatus.js

编辑/usr/local/SSRStatus/js/ssrstatus.js
670-ssrstatusjs.png
分别有
IP,Name,Type,Type_1,Location,Status,Time
几个列表名分别对应
IP地址,节点名,类型1,类型2,地区,状态,更新时间
为了方便起见并且考虑到地点对我来说是个无用的子项,毕竟我分享节点不可能还一个个测地区,所以可以直接把Location子项内容替换为二维码API显示为<a>标签

Location注释下方的代码替换为

TableRow.children["location"].innerHTML = "<a target=\"_blank\" href=\"http://qr.liantu.com/api.php?w=500&text="+result.servers[i].link+"\">点击查看</a>";

二维码API可以更改,生成文本用result.servers[i].link代替即可。

修改index.html

编辑/usr/local/SSRStatus/index.html
670-index.png
修改73行代码为<th id="location">二维码链接</th>
在将其他地方修改为自己的站点名称,写点公告即可。

最后SSH输入service caddy restart重启Caddy即可。

一些杂项

1.具体一些操作只要与魔改无关的可以在Github版本库里查看,由于篇幅原因我没有把doub的README全部放上来。
2.如果嫌魔改太麻烦的话可以直接下载
SSRStatus.zip覆盖原有文件
但是ssrstatus.sh仍然要修改!!!

TODO

其实这一个原本的监控站可以魔改出许多东西。所以这里列一个TODO,有空实现一下。不能保证写出的东西很好用,但是一定能用,毕竟我不是搞网页开发的。

1.每次检查节点自动去除不可用节点
2.二维码弹出显示,不调用第三方API
3.(PHP实现)生成订阅地址并定时更新。
4.(PHP实现)节点数量不足时发邮件提醒站长

声明

本文章只提供搭建教程,严禁用于非法用途!
搭建者不得将站点进行传播并用于商业用途!
遵从党的领导,倡导社会主义核心价值观
富强、民主、文明、和谐、自由、平等、公正、法治、爱国、敬业、诚信、友善。


欢迎加入LJY的博客闲谈Q群:加入Q群日常更新节点。不定期发放DO优惠码、edu邮箱、aws码、onedrive5T账号……
老薛主机年付香港主机低至88RMB:点击上车老薛主机
老薛主机优惠码:2019LEB25(首次75折)2019LEB15(终身85折)
阿里云最高2000红包点击上车阿里云

Archives Tip
QR Code for this page
Tipping QR Code