这几天没事干,就把我自用的批量检测我网站免费Shadowsocks账号的脚本改一改发出来好了。
如果你想要手动测试,那么看:使用ShadowsocksR Python客户端 快速验证SSR账号是否可用
如果你想要带网页监控的,那么看:Shadowsocks/ShadowsocksR账号 在线云监控 —— SSRStatus 一键脚本
系统要求
CentOS 6+ / Debian 6+ / Ubuntu 14.04 +
本脚本需要服务器上面安装 ShadowsocksR Python服务端,才能配合使用,当然Shadowsocks原版和ShadowsocksR账号都可以检测(SS libev的带混淆插件的账号不行)。
脚本版本
Ver: 1.0.3
安装步骤
前置准备
首先你安装一个ShadowsocksR Python服务端(客户端与服务端是可以同时运行不会冲突的)。
其次你需要安装一个 curl 用来使用ShadowsocksR客户端代理测试是否可以的(本来想用wget的,但是它对socks代理支持不好)。
CentOS 系统:
yum update # 如果你以前已经执行过这个命令,那么可以跳过以节省时间 yum install curl -y
Debian/Ubuntu 系统:
apt-get update # 如果你以前已经执行过这个命令,那么可以跳过以节省时间 apt-get install curl -y
然后我们下载脚本:
wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/ssr_check.sh && chmod +x ssr_check.sh
使用说明
首先我们需要配置一下:
配置参数
设置 ShadowsocksR服务端的位置:
vi ssr_check.sh # 打开后按 I键 进入编辑模式,然后修改后按 ESC键 退出编辑默认,然后输入 :wq 保存并退出!
找到第 14行的 SSR_folder="/root/shadowsocksr/shadowsocks"
根据你的ShadowsocksR服务端的子目录来修改这个变量的值(也就是引号内的文本),如果你就是安装在 /root
文件夹内,那么就不需要修改了。
设置 配置文件:
然后我们需要把你要批量测试的Shadowsocks/ShadowsocksR账号的SS/SSR链接(如 ss://xxx ssr://xxx)写入配置文件 ssr_check.conf
(默认没有)
注意:配置文件必须一行一个SS/SSR链接。
我们可以用 echo 快速创建配置文件并写入内容:
echo -e "ss://xxx ssr://xxx ssr://yyy" > ssr_check.conf
上面的代码是清空文件并写入内容(如果文件不存在就创建文件),如果要追加文本只需要把最后一行的 > 改成 >>
即可。
当然你可以用 vi 来创建配置文件并添加/编辑。
vi ss_check.conf # 打开后按 I键 进入编辑模式,然后添加/修改后按 ESC键 退出编辑默认,然后输入 :wq 保存并退出!
其他配置(修改测试超时时间及URL,可选)
考虑到一些人可能需要修改 超时时间和URL,所以我干脆写成了变量。
打开脚本文件,找到以下变量,修改引号内内容即可。
这两个参数可按需修改,不过一般情况下默认即可,否则 超时时间过低虽然会加快脚本运行速度,但是会导致测试准确性下降。
同时 测试用的URL,适合那些页面元素很简单,同时全球都有CDN一类的缓存加速服务器,这样挂各个SS/SSR代理访问也不会因为速度而增加脚本运行速度。
Timeout="10" # Timeout是超时时间,默认 10秒 Test_URL="https://github.com" # Test_URL 是测试用的URL,默认 https://github.com
运行说明
脚本参数命令:
./ssr_check.sh t # 读取配置文件并批量检测账号可用性 ./ssr_check.sh a # 手动输入SS/SSR账号或SS/SSR链接 以检测账号可用性 ./ssr_check.sh log # 查看测试后,输出的日志文件
输出结果如下:
========== 开始记录测试信息 [2017-05-17 13:07:30]========== [信息] 检测成功,账号 [1.1.1.1] 可用 ! [错误] 检测失败,账号 [2.2.2.2] 不可用 ! [信息] 检测成功,账号 [3.3.3.3] 可用 ! [信息] 检测成功,账号 [4.4.4.4] 可用 ! [信息] 检测成功,账号 [5.5.5.5] 可用 ! ========== 记录测试信息结束 [2017-05-17 13:07:46]==========
其他说明
注意:如果测试的账号有 salsa20、chacha20、chacha20-ietf 加密方式,那么依然需要安装 libsodium支持库:
ShadowsocksR 安装libsodium 以支持 Chacha20/Chacha20-ietf 加密方式
定时检测并记录到日志文件
当你需要定时检测并记录到日志的时候,可以用 crontab来定时。
crontab -e # 打开crontab,按 I键 进入编辑模式,把下面的定时代码加入到最后,然后 按ESC键退出编辑模式并输入 :wq 保存并退出。 # 如果提示命令不存在,请安装: # CentOS 系统: yum update yum install crond -y # Debian/Ubuntu 系统: apt-get update apt-get install cron -y
* * * * *
对应 分钟 小时 日 月 星期
,下面的代码是 每小时的10分0秒执行一次脚本(假设脚本在 /root
目录下,不是就自己改)
0 10 * * * /bin/bash /root/ssr_check.sh t
下面的代码是 每30分钟执行一次脚本(假设脚本在 /root
目录下,不是就自己改)
*/30 * * * * /bin/bash /root/ssr_check.sh t
提示wget: unknown host “raw.githubusercontent.com” 之类的错误
这是无法解析我的域名,多半是DNS的问题,请更换DNS为谷歌DNS。
echo "nameserver 8.8.8.8" > /etc/resolv.conf echo "nameserver 8.8.4.4" >> /etc/resolv.conf
提示 wget: command not found 的错误
这是你的系统精简的太干净了,wget都没有安装,所以需要安装wget。
# CentOS系统: yum install -y wget # Debian/Ubuntu系统: apt-get install -y wget
升级脚本
升级脚本只需要重新下载脚本文件就可以了,会自动覆盖原文件。
更新日志
2017年05月20日,版本 v1.0.3
1.新增 本地端口随机,避免当脚本在定时测试账号时,手动运行脚本测试导致端口冲突。
2.修复 小概率ShadowsocksR客户端无法停止问题(如 第1条 说的端口冲突)。
3.更换 启动方式为 nohup方式启动,可多开ShadowsocksR客户端(如 第1条)
2017年05月19日,版本 v1.0.2
1.新增 ipv6账号测试支持。
2017年05月17日,版本 v1.0.1
1.新增 超时时间自定义变量。
2.新增 测试用的URL自定义变量。
3.修复 部分系统因为根证书不完整导致的无法通过测试的问题。
4.修复 部分Shadowsocks/ShadowsocksR账号可用,但是测试结果不可用的问题。
2017年05月17日,版本 v1.0.0
1.推出 正式版。
转载请超链接注明:月下博客 » 『原创』ShadowsocksR 批量 快速验证账号可用性 一键脚本
责任声明:本站一切资源仅用作交流学习,请勿用作商业或违法行为!如造成任何后果,本站概不负责!