<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/ DTD/wml_1.1.xml">

<wml>
<head>
<meta http-equiv="cache-control" content="max-age=180,private" />
</head>
<card title="Shadowsocks/ShadowsocksR账号 在线云监控 —— SSRStatus 一键脚本">
<p>
作者:<a href="index.php?action=showuser&amp;userid=1&amp;hash=">admin</a><br />时间:2017-05-23 07:15<br />分类:<a href="index.php?action=list&amp;cid=3&amp;hash=">电脑技术</a><br />内容:
Shadowsocks/ShadowsocksR账号 在线云监控 &mdash;&mdash; SSRStatus 一键脚本

Github项目：https://github.com/ToyoDAdoubi/SSRStatus

示例网站：sstz.toyoo.ml

系统要求
CentOS 6+ / Debian 6+ / Ubuntu 14.04 +

推荐 Debian 7 x64，这个是我一直使用的系统，我的脚本在这个系统上面出错率最低。


本脚本需要使用到ShadowsocksR Python服务端（即客户端，两者同时运行不影响）！

注意，SSRStatus 不同于 ServerStatus 它没有客户端，脚本作为服务端（也可以说是客户端），通过 crontab 定时执行脚本检测账号，并输出结果到JSON文件，然后JS会读取JSON并显示到HTML（网页）上面。



脚本版本
Ver: 1.0.4

安装步骤
执行下面的代码下载并运行脚本。

wget -N --no-check-certificate https://softs.pw/Bash/ssrstatus.sh &amp;&amp; chmod +x ssrstatus.sh &amp;&amp; bash ssrstatus.sh
 
# 如果上面这个脚本无法下载，尝试使用备用下载：
wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/ssrstatus.sh &amp;&amp; chmod +x ssrstatus.sh &amp;&amp; bash ssrstatus.sh

下载并运行脚本后会出现脚本操作菜单，选择并输入 1 就会开始安装。

简单步骤
首先安装服务端，安装过程中会提示：

是否由脚本自动配置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=&quot;/root/shadowsocksr/shadowsocks&quot; 参数，修改引号内的ShadowsocksR目录名，必须设置为 ShadowsocksR子目录的绝对路径，并且最后一位不能加上 &ldquo;/&rdquo;。

注意：如果你用的是我的ShadowsocksR一键脚本，那么位置即是：/usr/local/shadowsocksr/shadowsocks
最后 添加账号配置即可。

使用说明
进入下载脚本的目录并运行脚本：

# 管理菜单
./ssrstatus.sh
 
# 检测所有账号配置（快捷参数）
./ssrstatus.sh t
# 检测单独账号配置（快捷参数）
./ssrstatus.sh o
# 检测自定义账号配置（快捷参数）
./ssrstatus.sh a
 
# 查看日志输出（快捷参数）
./ssrstatus.sh log

运行脚本后选择你要执行的选项即可。

SSRStatus 一键安装管理脚本 [vx.x.x]
-- Toyo | doub.io/shell-jc4 --
 
0. 升级脚本
&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;
1. 安装 依赖及Web网页
2. 卸载 依赖及Web网页
&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;
3. 测试 所有账号
4. 测试 单独账号
5. 测试 自定义账号
&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;
6. 设置 配置信息
7. 查看 配置信息
8. 查看 运行日志
9. 设置 定时间隔
&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;
 
当前状态: Web网页 已安装
 
请输入数字 [0-9]:

其他操作
Caddy（HTTP服务）：

 启动：service caddy start


停止：service caddy stop

重启：service caddy restart

查看状态：service caddy status

Caddy配置文件：/usr/local/caddy/Caddyfile

默认脚本只能一开始安装的时候设置配置文件，更多的Caddy使用方法，可以参考这些教程：https://doub.io/search/caddy




网页文件：/usr/local/SSRStatus

配置文件：ssr_status.conf（和脚本在同一个目录中）

查看日志：cat ssr_status.log（和脚本在同一个目录中）

其他说明
修改网页标题或公告
如果要修改网页标题或者网页顶部公告内容，打开 http://usr/local/SSRStatus/index.html 文件修改即可，很显眼。

批量添加账号配置
如果要批量添加账号配置，那么用脚本反而速度慢，可以按一下格式写入配置文件：

ss/ssr链接###名称###位置###禁用状态
 
# 示例：
ssr://xxxxxxxx###DOUBI###Japen###fales
 
# fales代表禁用状态否，即启用，true 反之。

然后可以这样快速写入配置文件：

echo -e &quot;ssr://xxxxxxxx###DOUBI1###Japen###fales
ssr://yyyyyyyy###DOUBI2###Hong Kong###true
ssr://zzzzzzzz###DOUBI3###洛杉矶(支持中文，只要你系统支持显示和输入)###fales&quot; &gt;&gt; ssr_status.conf



提示wget: unknown host &ldquo;softs.pw&rdquo; 之类的错误
这是无法解析我的域名，多半是DNS的问题，请更换DNS为谷歌DNS(以下两行一起复制 一起执行)。

echo -e &quot;nameserver 8.8.8.8
nameserver 8.8.4.4&quot; &gt; /etc/resolv.conf

提示 wget: command not found 的错误



这是你的系统精简的太干净了，wget都没有安装，所以需要安装wget。


# CentOS系统:
yum install -y wget
 
# Debian/Ubuntu系统:
apt-get install -y wget

Caddy启动失败，打开 http://ip 显示的是 It works !



一些系统会自带 apache2 ，而 apache2 会占用80端口，导致Caddy无法绑定端口，所以只要关掉就好了。


 netstat -lntp
# 我们可以通过这个命令查看是不是被其他软件占用了 80 端口。

不过 apache2 会默认开机自启动，如果不需要可以关闭自启动或者卸载 apache2 。

停止 Apache2

service apache2 stop
# 尝试使用上面这个关闭，如果没效果或者提示什么错误无法关闭，那就用下面这个强行关闭进程。
kill -9 $(ps -ef|grep &quot;apache2&quot;|grep -v &quot;grep&quot;|awk '{print $2}')

取消开机自启动

# CentOS 系统 #
chkconfig --del httpd
# Debian/Ubuntu 系统 #
update-rc.d -f apache2 remove

卸载 Apache2(卸载包括了取消开机启动，无需重复)

# CentOS 系统 #
yum remove httpd
# Debian/Ubuntu 系统 #
apt-get remove --purge apache2

关闭 Apache2后，就可以尝试启动 Caddy ，并试试能不能打开网页。

service caddy start

升级脚本



升级脚本只需要运行脚本，然后选择并输入 0 回车即可，会自动检测最新版本并下载，当然重新下载脚本文件也可以，会自动覆盖原文件。
</p><p>
<a href="index.php?action=login&amp;hash=">立即登陆发表评论</a><br />
</p>
<p><a href="index.php?action=list&amp;hash=">返回日志列表</a><br /><a href="index.php?action=index&amp;hash=">返回主页</a></p>
</card>
</wml>
