最近经常有小白找我让我把他们安装ShadowsocksR服务端,一开始都是手动安装的,后来嫌麻烦,就打算用脚本,但是网上基本上只是安装一下就没了,只能算一键安装脚本,并不足够方便和适合懒人和小白,于是自己写了一个一键管理脚本,一键安装和一键管理的区别!
更多的Shadowsocks安装教程/一键脚本请看这里:Shadowsocks指导篇
本脚本的 二维码图片链接,是调用我自建的 二维码API 来生成二维码图片( http://doub.pw/qr/qr.php?text=xxx )。
当访问API页面后,PHP网页文件会把 GET参数( ?text=xxx ) 传递给JS脚本,浏览器会加载JS脚本,然后由JS脚本根据 GET参数的文本 生成二维码图片!图片是在你本地浏览器中生成,服务器中不存在图片!
请确定你信任我和我的脚本,否则请不要用我的脚本,少BB!
系统要求
CentOS 6+ / Debian 6+ / Ubuntu 14.04 +
推荐 Debian 8 x64,这个是我一直使用的系统,我的脚本在这个系统上面出错率最低。并且最容易安装锐速(锐速不支持OpenVZ)
CentOS根据大家的要求,加入了CentOS 6和7的支持,CentOS 7 自带防火墙问题(firewalld)自行解决,其他版本没有做测试。
脚本版本
Ver: 2.0.38
本脚本与另一个SSR脚本 『原创』ShadowsocksR MudbJSON模式多用户一键脚本 支持流量限制等 的区别是什么?
ssrmu.sh 脚本是单服务器多用户脚本,使用的是 SSR服务端的MudbJSON模式,可以给每个用户(端口)设置不同的加密方式/协议/混淆/限制速度/设备数限制/可用总流量等功能。即实现单服务器多用户流量管理等功能。
而 ssr.sh 则是单服务器单用户脚本,使用的是 SSR服务端的单用户配置方式,即使实现了多端口,但是还算不算多用户,不支持每个用户(端口)不同的加密方式/协议/混淆等,并且无法管理流量使用。
如何选择这两个脚本?
根据你的需求选择,比如你仅仅是 一个或两个人使用,并且不需要流量管理功能,那么选择 ssr.sh 好了。而如果很多人使用,并且都需要限制流量来管理,那你适合使用 ssrmu.sh ,所以自己看着选,多试试(两个脚本不能共存)!
脚本特点:
目前网上的各个ShadowsocksR脚本基本都是只有 安装/卸载 等基础功能,对于小白来说还是不够简单方便,要修改账号配置还要手动修改文件,所以那些ShadowsocksR脚本只能称得上一键安装脚本。既然没有我满意的ShadowsocksR一键管理脚本,那么我就自己造喽,于是特意学了Shell,然后写出来了这个ShadowsocksR一键管理脚本!
- 支持 限制 端口限速
- 支持 限制 端口设备数
- 支持 显示 当前连接IP
- 支持 显示 SS/SSR连接+二维码
- 支持 切换管理 单/多端口
- 支持 一键安装 BBR
- 支持 一键安装 锐速
- 支持 一键安装 LotServer
- 支持 一键封禁 垃圾邮件(SMAP)/BT/PT
安装步骤
简单的来说,如果你什么都不懂,那么你直接一路回车就可以了!
本脚本需要Linux root账户权限才能正常安装运行,所以如果不是 root账号,请先切换为root,如果是 root账号,那么请跳过!
sudo su
输入上面代码回车后会提示你输入当前用户的密码,输入并回车后,没有报错就继续下面的步骤安装ShadowsocksR。
v2.0.0 版本以后的脚本,请先卸载旧脚本ShadowsocksR服务端,再重新安装!
wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/ssr.sh && chmod +x ssr.sh && bash ssr.sh
下载运行后会提示你输入数字来选择要做什么。
输入 1 ,就会开始安装ShadowsocksR服务端,并且会提示你输入Shadowsocks的 端口/密码/加密方式/ 协议/混淆(混淆和协议是通过输入数字选择的) 等参数。
如果安装过程中报错,请看 常见问题解决方法。
点击展开 查看更多
请输入要设置的ShadowsocksR账号 端口
(默认: 2333):
——————————————————————————————
端口 : 2333
——————————————————————————————
请输入要设置的ShadowsocksR账号 密码
(默认: doub.io):
——————————————————————————————
密码 : doub.io
——————————————————————————————
请选择要设置的ShadowsocksR账号 加密方式
1. none
[注意] 如果使用 auth_chain_a 协议,请加密方式选择 none,混淆随意(建议 plain)
2. rc4
3. rc4-md5
4. rc4-md5-6
5. aes-128-ctr
6. aes-192-ctr
7. aes-256-ctr
8. aes-128-cfb
9. aes-192-cfb
10. aes-256-cfb
11. aes-128-cfb8
12. aes-192-cfb8
13. aes-256-cfb8
14. salsa20
15. chacha20
16. chacha20-ietf
注意:salsa20/chacha20-*系列加密方式,需要额外安装依赖 libsodium ,否则会无法启动ShadowsocksR !
(默认: 5. aes-128-ctr):
——————————————————————————————
加密 : aes-128-ctr
——————————————————————————————
请选择要设置的ShadowsocksR账号 协议插件
1. origin
2. auth_sha1_v4
3. auth_aes128_md5
4. auth_aes128_sha1
5. auth_chain_a
[注意] 如果使用 auth_chain_a 协议,请加密方式选择 none,混淆随意(建议 plain)
(默认: 2. auth_sha1_v4):
——————————————————————————————
协议 : auth_sha1_v4
——————————————————————————————
是否设置 协议插件兼容原版(_compatible)?[Y/n]
请选择要设置的ShadowsocksR账号 混淆插件
1. plain
2. http_simple
3. http_post
4. random_head
5. tls1.2_ticket_auth
[注意] 如果使用 ShadowsocksR 加速游戏,请选择 混淆兼容原版或 plain 混淆,然后客户端选择 plain,否则会增加延迟 !
(默认: 1. plain):
——————————————————————————————
混淆 : plain
——————————————————————————————
是否设置 混淆插件兼容原版(_compatible)?[Y/n]
请输入要设置的ShadowsocksR账号 欲限制的设备数 ( auth_* 系列协议 不兼容原版才有效 )
[注意] 设备数限制:每个端口同一时间能链接的客户端数量(多端口模式,每个端口都是独立计算),建议最少 2个。
(默认: 无限):5
——————————————————————————————
链接设备数 : 5
——————————————————————————————
请输入要设置的每个端口 单线程 限速上限(单位:KB/S)
[注意] 单线程限速:每个端口 单线程的限速上限,多线程即无效。
(默认: 无限):666
——————————————————————————————
单端口单线程 : 666 KB/S
——————————————————————————————
请输入要设置的每个端口 总速度 限速上限(单位:KB/S)
[注意] 端口总限速:每个端口 总速度 限速上限,单个端口整体限速。
(默认: 无限):2333
——————————————————————————————
单端口总限速 : 2333 KB/S
——————————————————————————————
同时最后也会提示是否设置 混淆 兼容原版(也就是使用原版SS也能链接),不懂 直接回车 或 输入 y 。(协议不在兼容原版)
注意:关于限制设备数数,这个协议必须是非原版并且不兼容原版才有效,也就是必须SSR客户端使用协议的情况下,才有效!
不输入一路回车就是 默认参数:
端口 : 2333
密码 : doub.io
加密 : aes-128-ctr
协议 : auth_sha1_v4_compatible
混淆 : plain
设备数限制: 0(无限)
单线程限速: 0 KB/S (不限速)
端口总限速: 0 KB/S (不限速)
最后会提示让你确认是否输入正确,如果没问题那就按任意键继续安装,如果输入错误,那么就使用 Ctrl + C 退出脚本。
——————————————————————————————
请检查Shadowsocks账号配置是否有误 !
端口 : 2333
密码 : doub.io
加密 : aes-128-ctr
协议 : auth_sha1_v4_compatible
混淆 : plain
设备数限制: 5
单线程限速: 666 KB/S
端口总限速: 2333 KB/S
——————————————————————————————
请按任意键继续,如有配置错误请使用 Ctrl+C 退出。
如果安装过程没有出错,那么最后就会提示:
############################################################
ShadowsocksR账号 配置信息:
I P : xxx.xxx.xxx.xxx
端口 : 2333
密码 : doub.io
加密 : aes-128-ctr
协议 : auth_sha1_v4_compatible
混淆 : plain
设备数限制: 5
单线程限速: 666 KB/S
端口总限速: 2333 KB/S
SS链接: ss://xxxxxxxxxxxxx
SS二维码: http://pan.baidu.com/share/qrcode?w=300&h=300&url=ss://xxxxxxxxxxxxx
SSR链接: ssr://xxxxxxxxxxxxx
SSR二维码: http://pan.baidu.com/share/qrcode?w=300&h=300&url=ssr://xxxxxxxxxxxxx
提示:
在浏览器中,打开二维码链接,就可以看到二维码图片。
协议和混淆后面的[ _compatible ],指的是 兼容原版协议/混淆。
############################################################
SS/SSR链接(格式: ss://XXXXXXX ,很长),可以从剪辑版导入Shadowsocks客户端,不懂的话看下面二维码。
SS/SSR二维码,复制后面的链接在浏览器打开,就会显示一个二维码的图片,可以用Shadowsocks客户端扫描二维码来添加。
使用说明
运行脚本,
bash ssr.sh
输入对应的数字来执行相应的命令。
请输入一个数字来选择菜单选项
1. 安装 ShadowsocksR
2. 更新 ShadowsocksR
3. 卸载 ShadowsocksR
4. 安装 libsodium(chacha20)
————————————
5. 查看 账号信息
6. 显示 连接信息
7. 设置 用户配置
8. 手动 修改配置
9. 切换 端口模式
————————————
10. 启动 ShadowsocksR
11. 停止 ShadowsocksR
12. 重启 ShadowsocksR
13. 查看 ShadowsocksR 日志
————————————
14. 其他功能
15. 升级脚本
当前状态: 已安装 并 已启动
当前模式: 单端口
请输入数字(1-15):
当你为 单端口模式时,使用 7. 设置 用户配置 是 修改 单端口账号配置。
当你为 多端口模式时,使用 7. 设置 用户配置 是 添加/删除/修改 多端口账号配置。
文件位置
安装目录:/usr/local/shadowsocksr
配置文件:/etc/shadowsocksr/user-config.json
其他说明
ShadowsocksR 安装后,自动设置为 系统服务,所以支持使用服务来启动/停止等操作,同时支持开机启动。
- 启动 ShadowsocksR:/etc/init.d/ssr start
- 停止 ShadowsocksR:/etc/init.d/ssr stop
- 重启 ShadowsocksR:/etc/init.d/ssr restart
- 查看 ShadowsocksR状态:/etc/init.d/ssr status
ShadowsocksR 默认支持UDP转发,服务端无需任何设置。
本脚本已经集成了 安装/卸载 锐速(ServerSpeeder)开心版,但是是否支持请查看 Linux支持内核列表 。(锐速不支持OpenVZ)
v2.0.0 以前的旧版本下载地址:
点击展开 查看更多
wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/ssr_old.sh && chmod +x ssr_old.sh && bash ssr_old.sh
ShadowsocksR目前支持的协议和混淆:
协议(Protocol):origin,auth_sha1_v4,auth_aes128_md5,auth_aes128_sha1,auth_chain_a,auth_chain_b
混淆(Obfs):plain,http_simple,http_post,random_head,tls1.2_ticket_auth,tls1.2_ticket_fastauth(这个是客户端用的,而服务端需要选择tls1.2_ticket_auth)
origin 和 plain 是原版,加粗的是推荐使用的。
如果你想要使用 tls1.2_ticket_fastauth 混淆插件,那么服务端选择 tls1.2_ticket_auth,客户端选择 tls1.2_ticket_fastauth 即可。
如果服务端 设置混淆参数为:tls1.2_ticket_auth_compatible (兼容原版)
那么客户端 可使用的混淆为:plain / tls1.2_ticket_auth / tls1.2_ticket_fastauth
tls1.2_ticket_auth 与 tls1.2_ticket_fastauth 的区别为,后者不会等待服务器回应,所以不会增加延迟。适合于,因为混淆插件增加延迟的原因不得不选择原版混淆 plain,但是又因为QOS等因素而处于延迟与干扰/限速等之间抉择的时候,可以选择 tls1.2_ticket_fastauth 客户端混淆插件!
使用阿里云/腾讯云等存着安全组或规则组一类外部防火墙的请注意
点击展开 查看更多
因为阿里云/腾讯云的服务器还有一个外部的防火墙也就是叫 安全组或规则组。
一般来说默认是只开放 22(SSH)端口,所以一些人在搭建ShadowsocksR服务端后,会出现无法访问的情况,ShadowsocksR客户端的统计窗口显示超时。
同时ShadowsocksR服务端开启详细日志模式(其他功能中)后,ShadowsocksR客户端访问ShadowsocksR账号无日志输出。
ShadowsocksR 端口限速中 单线程限速 和 端口总限速 的区别
注意:如果要使用脚本中的这个功能,需要重新下载脚本,并重装安装 2月15日 以后的ShadowsocksR服务端才行。
请查看这个文章:ShadowsocksR服务端 限制设备连接数 和 限制端口速度 的方法
解决 可使用原版协议,但无法使用ShadowsocksR协议 的问题
点击展开 查看更多
如果发现Shadowsocks原版协议/混淆可以使用,而ShadowsocksR的协议/混淆无法使用,那么多半是 VPS时区问题
这个命令,我的ShadowsocksR脚本在安装的时候已经执行了,如果你发现没有执行,那你可以手动执行。
我们可以通过下面这个命令,把VPS的时区调整为北京时区,这样就避免了ShadowsocksR 协议/混淆 因为时差太大造成的无法验证。
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
注意,部分VPS会提示你是否覆盖文件,输入 y
然后回车。
如果你遇到,crontab设定的定时任务不按更换时区后的VPS时间执行,那么请看下面:
crontab设定的定时任务不按VPS的时间执行,那是因为你更换VPS时区后还需要重启crontab。
CentOS 系统:
/etc/init.d/crond restart
Debian/Ubuntu 系统:
/etc/init.d/cron restart
点击展开 查看解决办法
我发现有一些人的VPS的 apt源有问题,导致安装失败,所以我这里写上如何更换 apt源。
本步骤仅适合 Debian 系统,Ubuntu系统自行搜索 apt源。
下面的手动改的方法一些人可能嫌麻烦,所以你们可以这样字更换apt源。
依次输入就可以更换apt源了,下面的代码是以 us美国 为例,你可以自己去这里选一个近一些合适的,然后替换下面代码中 us.sources.list 的 us 。
wget -N --no-check-certificate -P /etc/apt https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/sources/us.sources.list
rm -rf /etc/apt/sources.list
cp /etc/apt/us.sources.list /etc/apt/sources.list
手动更换(上面的命令执行完毕就不要重复执行这个了)
打开你的apt源文件,
vi /etc/apt/sources.list
然后按 I 键
进入编辑模式,如果你没有安装vim,也无法通过 apt-get install vim -y 安装,那么你就只能通过SFTP下载这个文件本地编辑了。
把下面的内容复制过去,注意下面示例是美国的apt源,想要其他地区的apt源,请看:Debian全球镜像站(替换下面的 ftp.us.debian.org 中的 us )
deb http://ftp.us.debian.org/debian/ jessie main
deb-src http://ftp.us.debian.org/debian/ jessie main
deb http://security.debian.org/ jessie/updates main contrib
deb-src http://security.debian.org/ jessie/updates main contrib
# jessie-updates, previously known as 'volatile'
deb http://ftp.us.debian.org/debian/ jessie-updates main contrib
deb-src http://ftp.us.debian.org/debian/ jessie-updates main contrib
修改完毕之后,按 ESC 键
退出编辑模式,然后输入 :wq
保存并退出,然后再试一试 apt-get update
是否正常。
ShadowsocksR启动失败,日志提示:Exception: libsodium not found 的错误
这是你使用了 chacha20 系列加密方式,但是却没有安装 libsodium支持库,导致ShadowsocksR无法启动,运行脚本选择选项 4 安装 libsodium支持库即可,如果安装失败,请选择其他的加密方式,对速度影响不大。
提示wget: unknown host "raw.githubusercontent.com" 之类的错误
这是无法解析我的域名,多半是DNS的问题,请更换DNS为谷歌DNS。
点击展开 查看更多
echo "nameserver 8.8.8.8
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
升级脚本
升级脚本只需要重新下载脚本文件就可以了,会自动覆盖原文件。
定时重启
一些人可能需要定时重启ShadowsocksR服务端来保证稳定性等,所以这里用 crontab 定时。
点击展开 查看更多
crontab -l
# 输入这个命令可以查看当前配置的定时任务,如果提示命令不存在,那么安装crontab:
# CentOS系统:
yum update
yum install -y crond
# Debian/Ubuntu系统:
apt-get update
apt-get install -y cron
安装 crontab 后,我们就能开始添加定时任务了:
crontab -l > "crontab.bak"
sed -i "/ssr restart/d" "crontab.bak"
echo -e "\n10 3 * * * /etc/init.d/ssr restart" >> "crontab.bak"
crontab "crontab.bak"
rm -r "crontab.bak"
# 下面的只是让你对照理解用于修改上面第三行的定时间隔,只需要执行上面的代码即可。
# 如果你需要修改定时时间,那么重复执行上面代码就行了(记得修改第三行的定时间隔)。
# 如果你要删除定时重启任务,那么还是重复上面的代码,但是要跳过第三行代码。
# 下面代码前面的 * * * * * 分别对应:分钟 小时 日 月 星期
10 2 * * * /etc/init.d/ssr restart
# 这个代表 每天2点10分重启一次 ShadowsocksR
10 2 */2 * * /etc/init.d/ssr restart
# 这个代表 每隔2天的2点10分重启一次 ShadowsocksR
10 */4 * * * /etc/init.d/ssr restart
# 这个代表 每隔4小时的第10分重启一次 ShadowsocksR
本脚本只是本人的第一个Shell脚本学习练手作品,在逻辑结构上问题不少,大家遇到什么BUG请积极反馈!
更新日志
2018年07月10日,版本 v2.0.38
1. 新增 升级脚本时,将一起升级服务脚本(Service)。
2018年01月02日,版本 v2.0.37
1. 修复 Debian9 系统下,无法使用 显示连接信息 功能的问题。
2017年11月12日,版本 v2.0.36
1. 优化 显示链接信息功能的 显示内容排版(对齐了一下)。
2017年11月03日,版本 v2.0.35
1. 修改 SSR服务端安装方式为:ZIP压缩包安装(考虑到SSR服务端不更新了,所以为了降低git依赖安装出错率,就改成zip压缩包了)。
2. 修改 JQ安装方式为:集成与SSR服务端文件夹内(减少了一个安装JQ的下载步骤,节省时间)。
2017年10月06日,版本 v2.0.34
1.恢复 libsodium以前安装方式。
2017年09月22日,版本 v2.0.33
1.修复 因为系统缺少automake,而libsodium安装失败的问题。
点击展开 查看更多更新日志
2017年09月22日,版本 v2.0.32
1.更新 libsodium最新版本安装方式。
2017年09月18日,版本 v2.0.31
1. 新增 IPv6防火墙开放端口规则功能(原先只开放IPv4防火墙)。
2017年08月31日,版本 v2.0.30
1.修复 显示链接信息 功能,不同端口 链接IP显示重复的问题(例如链接 8080端口的IP同样显示在 80端口下)
2017年08月24日,版本 v2.0.29
1.新增 几个外网IP获取源,避免一些服务器获取外网IP失败。
2017年08月12日,版本 v2.0.28
1.修复 封禁/解封 BT/PT/SPAM功能运行后没有正常删除脚本的问题。
2017年08月11日,版本 v2.0.27
1.取消 安装ShadowsocksR过程中修改DNS为谷歌DNS的步骤(个别服务器会导致未知问题)。
2017年08月10日,版本 v2.0.26
1.修复 BBR文件位置问题。
2017年08月08日,版本 v2.0.25
1.修复 显示 链接信息 功能 CentOS7系统不可用的问题(缺少 netstat)。
2017年08月07日,版本 v2.0.24
1.新增 显示 链接信息 选项可以选择 IP+IP归属地 的输出格式。
2017年08月04日,版本 v2.0.23
1.更新 脚本内 逗比云地址(旧域名被墙,更换新域名)。
2017年07月28日,版本 v2.0.22
1.新增 协议插件:auth_chain_b (刚才v2.0.21版本更新完了才看到这个)。
2017年07月28日,版本 v2.0.21
1.更换ShadowsocksR项目 Github源(Fork)。
2017年07月26日,版本 v2.0.20
1.修复 CentOS7 无法显示链接信息(IP链接信息)的问题。
2.新增 Git 安装是否成功判断。
2017年07月26日,版本 v2.0.19
1.新增 ROOT账号(或权限)检测功能,避免因为没有ROOT权限而安装失败。
2017年06月16日,版本 v2.0.18
1. 更新 应ShadowsocksR客户端要求,规范化SS/SSR链接生成格式
2017年05月01日,版本 v2.0.17
1.修复 部分客户端无法识别 SS/SSR连接和二维码的问题
2017年04月30日,版本 v2.0.16
1.修复 多端口模式下,修改用户配置中选择用户时,因端口重复导致报错的问题(如用户1端口是 80 用户2端口是 8080)
2.修复 部分系统删除多端口用户报错的问题(报错内容如 [ x +x ])
2017年04月29日,版本 v2.0.15
1.修复 部分系统无法识别 单/多 端口模式的问题
2017年04月28日,版本 v2.0.14
1.新增 新协议 auth_chain_a,建议加密方式为 none,混淆插件为 plain。
—— 新协议目前仅支持 Windows PC C# 客户端,服务端也请更新!
2.修复 升级脚本BUG。
2017年04月27日,版本 v2.0.13
1.修改 升级脚本功能,先尝试从逗比云获取最新版本号并更新脚本,其次才是Github,避免被Github的缓存坑。
2017年04月26日,版本 v2.0.12
1.新增 none 等加密方式(以前因为很多加密方式没人用,所以只把常用的加密方式加入进去了,这次全都给加上了)
2017年04月26日,版本 v2.0.11
1.新增 LotServer 配置选项。
2.更新 锐速安装脚本下载地址。
3.修改 锐速/BBR配置选项到菜单子选项 [其他功能] 中。
2017年04月22日,版本 v2.0.10
1.修复 多端口模式下,显示链接信息功能,无法正确显示IP的BUG。
2017年04月22日,版本 v2.0.9
1.修复 各种BUG。
2017年04月22日,版本 v2.0.8
1.新增 脚本升级功能(可以在脚本内检测脚本的最新版本并升级了)
2.新增 修改日志输出模式功能,可以修改日志输出为详细默认(详细的连接日志+错误日志)
3.修复 部分系统无法正常启动ShadowsocksR的问题
2017年04月19日,版本 v2.0.7
1.修复 一键解封 BT、PT、SPAM功能的BUG
2017年04月19日,版本 v2.0.6
1.更新 一键封禁 BT、PT、SPAM功能中的脚本
—— 我重新了封BT...的脚本,所以这里也需要改一改。
2017年04月16日,版本 v2.0.5
1.修复 显示连接信息中的 IP总数显示错误
2.修改 显示连接信息中的 IP 分隔符为 " | "(原为空格)
2017年04月15日,版本 v2.0.4
1.新增 一键解封 BT/PT/SPAM功能
2017年03月24日,版本 v2.0.3
1.新增 自动检测 Libsodiumr最新版本功能(Chacha20等加密方式依赖)
—— 正好Libsodiumr更新到了 1.0.12,我干脆就把自动检测版本功能加上好了,以后就不用在管这个了。
2.优化 安装ShadowsocksR过程中提示的信息。
2017年03月24日,版本 v2.0.2
1.修复 修改配置时,因包含空格而导致修改无效的问题。
2.更换 ShadowsocksR服务脚本下载地址为 Github。
3.优化 安装ShadowsocksR时,ShadowsocksR已存在的提示文本。
2017年03月17日,版本 v2.0.1
1.修复 多端口模式下,混淆参数多一个 中括号的BUG。
2.修复 一些判断错误BUG。
2017年03月17日,版本 v2.0.0
1.重写 ShadowsocksR脚本。
2.完善 诸多细节。
3.降低 出错几率。
4.减少 安装速度。
5.增加 系统服务,可以使用 service ssr start | stop | restart | status 来控制。
6.取消 多语言功能,有需要的人我会保留 旧版本脚本的下载链接。
7.取消 定时重启功能。
—— 因为这个脚本是我当初学习 Shell后写的第一个脚本,所以逻辑什么的非常乱,一点都不简洁,这两天没事就重写/重构了脚本,在功能上和旧版本差别不大,主要是 一些细节处理的更好更完美了,更多的差别请升级脚本~
2017年03月08日,版本 v1.2.9
1.修复 脚本输入字符后,使用退格键(删除键)会显示 ^H 而不正确删除字符的问题。
—— 其实这个在03/04的时候就已经修复更新了,不过当时并没有算成新版本,这次更新顺带写出来。
2.更换 二维码链接为自建二维码图片生成API。
2017年03月01日,版本 v1.2.8
1.优化 开机启动功能
2017年02月22日,版本 v1.2.7
1.修复 显示用户配置,多端口模式下 SSR链接+二维码 错误问题
2.修复 因为上个版本的中英文切换导致的文字错误问题
2017年02月19日,版本 v1.2.6
1.新增 菜单 脚本 中文/英语 语言切换选项。
—— 有部分国外友人表示看不懂中文,所以就把脚本做成了可以中英文切换的了,虽然是谷歌翻译- -。
2017年02月15日,版本 v1.2.5
1.新增 设置 ShadowsocksR 端口限速功能(单位 KB/S)。
—— 2月15日更新的ShadowsocksR服务端已经支持端口限速了,分端口单线程限速 和 端口总限速,区别看这里。
注意:如果要使用这个功能,需要重新下载ShadowsocksR脚本,并重装ShadowsocksR服务端!
2.修正 连接IP数的文字错误,应该是 设备数限制,而不是IP数限制。
2017年02月14日,版本 v1.2.4
1.修复 部分系统无法启动ShadowsocksR的nohup BUG。
2.修复 卸载锐速 提示没有安装的 BUG。
2017年02月14日,版本 v1.2.3
1.移除 OTA(verify_sha1)、auth_sha1以及auth_sha1_v2协议。
—— 新版ShadowsocksR客户端和服务端都已移除OTA(verify_sha1)、auth_sha1以及auth_sha1_v2协议。
2.修复 CentOS系统 安装libsodium(chacha20)支持库失败 问题。
3.修复 查看ShadowsocksR日志 无法正常显示问题。
2017年02月10日,版本 v1.2.2
1.新增 菜单选项 设置 ShadowsocksR 连接数限制。
—— 不需要去修改用户配置,直接通过菜单的这个选项就可以修改 IP连接数限制。
2.优化 CentOS系统不再显示 BBR安装选项。
—— 因为我的BBR安装脚本不支持CentOS,所以就在CentOS系统不显示好了。
3.修复 多端口模式下,依然能 修改单端口用户配置 的BUG。
2017年02月10日,版本 v1.2.1
1.新增 加密方式 aes-128-ctr 选项。
—— 目前最新ShadowsocksR服务端默认加密方式都改为 aes-128-ctr 了,根据作者介绍,这个加密方式是 aes-* 系列加密方式中速度最快的。
2.新增 菜单显示当前模式。
—— 可以显示当前是 单端口模式还是多端口模式 ,总归还是有点用的。
3.调整 一些不影响使用的小问题。
2017年02月03日,版本 v1.2.0
1.新增 设置ShadowsocksR定时重启 选项(目前只支持设置一个定时重启任务)
—— 自动添加到 crontab 中,脚本里包含了 crontab 的格式示例,不懂的建议查一查。
2017年02月02日,版本 v1.1.9
1.新增 安装 BBR 选项(其实就是把我写的另一个BBR一键脚本加了进去)
—— 只支持 Debian / Ubuntu 系统更换内核,OpenVZ虚拟化技术的VPS不支持更换内核。
还有,关闭BBR和查看BBR状态,请使用 bash bbr.sh stop
/ bash bbr.sh status
2017年02月01日,版本 v1.1.8
1.修复 部分 Debian/Ubuntu系统 无法开机启动的BUG。(CentOS的好像还是有问题,不是很熟悉)
2.修复 JSON解析器 JQ 部分VPS编译安装失败的BUG。
3.修复 若干BUG。
2017年01月31日,版本 v1.1.7
1.新增 查看 ShadowsocksR 日志功能。
—— 应逗比们的要求,加上了查看日志的功能,因为启动方式改变了,更新脚本后需要重启ShadowsocksR才能生成日志。
2.更新 ShadowsocksR启动方式(所以才支持日志)
注意:如果后面没有BUG,那么这个更新就是这个脚本的最后一次更新了,我能想到的简单的功能都已经加上去了,基本上不会再添加新功能了。
2017年01月17日,版本 v1.1.6
1.新增 菜单中显示当前状态
—— 直接在菜单中显示当前是否安装ShadowsocksR服务端,是否在运行信息。
2.优化 脚本依赖 jq JSON解析器全部改为编译安装。
—— 这样可以保持 jq的版本一致,避免一些apt源比较老,安装的版本不一致导致BUG。
3.修复 CentOS 6 系统中删除多端口用户配置相反的BUG。
—— 我脚本的重要依赖 jq JSON解析器在Debian/Ubuntu和CentOS系统中解析结果竟然是相反的,一直没注意到,修复了这个问题。
2017年01月14日,版本 v1.1.5
1.新增 显示 单/多端口 链接信息 功能。
—— 可以显示出 当前正在连接某端口的 用户IP 和 各端口总IP数 等信息。
2.新增 显示 单/多端口 账号信息 时,显示出当前ShadowsocksR的运行状态。
—— 免得有的人没有意识到ShadowsocksR根本没在运行,然后死活连不上。
3.优化 显示SS/SSR连接和二维码 判断逻辑。
—— 比如协议和混淆都不是原版也不兼容原版,那么就不再显示 SS链接和二维码,智能判断当前协议和混淆的设置来确定显示SS连接/二维码还是显示SSR连接/二维码,还是都显示。
2017年01月12日,版本 v1.1.4
1.新增 协议 verify_sha1、auth_sha1_v2、auth_sha1_v4
兼容原版设置。
—— 目前ShadowsocksR的协议中,只有 verify_sha1、auth_sha1_v2、auth_sha1_v4
依然可以兼容原版,以后的协议都不在兼容。
2.取消 安装ShadowsocksR时安装 Libsodium(chacha20加密方式依赖) ,需要的用户可以随后在菜单里选择 2 安装。
3.修复 SS/SSR链接 和 SS/SSR 二维码链接 换行问题,现在复制出来就是一行了(Xshell 测试通过)。
4.修复 漏掉 混淆原版参数"plain" 的逗比问题。
2017年01月10日,版本 v1.1.3
1.新增 加密方式从手动输入改成了选择数字
2.新增 设置连接数限制功能,当然这个需要设置协议才行,并且协议不能兼容原版,虽然现在协议已经不可以兼容原版了。
—— 连接数针对的是 IP,比如设置 1,有一个客户端IP在连接这个端口,那么其他的客户端IP都无法链接。
3.修复 iptables防火墙规则BUG。
2017年01月10日,版本 v1.1.2
1.新增 多端口管理功能。
—— 可以 添加/修改/删除 多端口用户。
2.新增 单端口/多端口切换功能。
2017年01月08日,版本 v1.1.1
1.新增 CentOS 6 / 7系统支持,只在这个系统做了测试,CentOS 7请自行解决自带的firewalld防火墙问题。
2.新增 封禁 BT/PT/垃圾邮件(SPAM) 功能,其实就把这个文章里的脚本加进去了。
3.修复 修改配置信息 但是显示错误的BUG。
2016年12月30日,版本 v1.1.0
1.修改 取消ShadowsocksR 协议兼容原版设置(混淆依然支持)
—— 因为ShadowsocksR最新版本取消了ShadowsocksR协议兼容原版设置,所以我的也取消了。具体影响看着个。
2.修复 各种BUG。
2016年12月28日,版本 v1.0.9
1.新增 修改VPS时区为北京时区,避免 协议/混淆 因为时差而无法使用。
2.修复 安装失败等问题。
3.修改 ShadowsocksR安装目录。
—— ShadowsocksR的Github位置和目录文件名改变了,所以脚本里面很多东西都改了,并且借着这次机会,更改了ShadowsocksR的安装位置为: /etc/shadowsocksr
。同时以前安装的ShadowsocksR全部失效。
建议:先用旧脚本卸载ShadowsocksR,然后再用新脚本安装ShadowsocksR!
2016年12月10日,版本 v1.0.8
1.修复 git克隆Shadowsocks文件夹后卡住的BUG。
2.修复 git克隆Shadowsocks文件夹提示SSL证书无法验证的BUG。
2016年12月10日,版本 v1.0.7
1.修复 检测系统的BUG。
2016年12月03日,版本 v1.0.6
1.修复 选择 6. auth_aes128_sha1 但是 显示的是 auth_sha1_v4 的BUG。
2.修复 检测 外网IP错误 的BUG。
3.新增 查看ShadowsocksR运行状态 功能。
2016年12月01日,版本 v1.0.5
1.修复 一个 成功下载但是提示ShadowsocksR下载失败 的BUG。你们重新下载新的脚本覆盖旧的脚本执行就行了。记得卸载旧的安装文件。
2016年11月30日,版本 v1.0.5
1.新增 修改用户配置时,设置混淆和协议 可以通过输入数字选择。
2.新增 显示用户配置是,显示SSR链接和SSR二维码,这个相比原来的SS是加上了混淆和协议的参数。
3.修复 一些小BUG
2016年11月29日,版本 v1.0.4
1.修复 无法获取 VPS外网IP 的问题。
2016年11月28日,版本 v1.0.3
1.新增 中文提示脚本。
2016年11月27日,版本 v1.0.3
1.新增 锐速安装后加入开机启动 功能。
2016年11月26日,版本 v1.0.2
1.新增 修改 协议和混淆 的功能(选项 4 )。
2.新增 显示账号信息中 SS链接和二维码链接。
2016年11月25日,版本 v1.0.0
1.推出 正式版本。
第二版补充,版本 v1.0.1
鉴于一些人可能会一开始安装ShadowsocksR会跳过 libsodium 的安装,所以又单独加上了安装 libsodium 的选项。
新增 安装 libsodium(chacha20加密方式) 的选项。
新增 查看锐速状态、停止锐速、重启锐速 的选项。
更多的Shadowsocks安装教程/一键脚本请看这里:Shadowsocks指导篇
转载请超链接注明:逗比根据地 » 『原创』CentOS/Debian/Ubuntu ShadowsocksR 单/多端口 一键管理脚本
责任声明:本站一切资源仅用作交流学习,请勿用作商业或违法行为!如造成任何后果,本站概不负责!
你提供的信息看不出问题。
没有记录日志。脚本更新了 v1.1.7 ,新增了查看 ShadowsocksR 日志功能。
重新下载脚本,然后重启一下ShadowsocksR(因为日志功能而修改了SSR启动方式,所以需要重启SSR服务端才能生成日志)。
当初这个问题我在添加功能的时候,就遇到了 json解析器解析的是反过来的,所以我都是反过来写的。
难道不同系统json解析结果还不一样?或者说是 jq 这个json解析器版本的问题?
一些源比较老的话,可能安装的解析器也是老版本的,但是会跟我脚本设计时使用测试效果不一样。
我只希望我的脚本是一个简单方便关闭单端口/多端口用户配置的一个脚本就行了。
看到你这个反馈,我立马又去测试了二十多遍,没有出现这个问题,删除多端口用户配置正常。请确认。
安装SSR,选择 chacha20 加密方式,安装完毕自动启动,但因为缺少依赖,启动失败
然后选项 2 安装libsdoum,安装完毕后,选项 12 启动ShadowsocksR,然后正常连接。
搭建SSR是一开始就让你把所有信息都设置完的,按顺序是:端口 / 密码 / 加密方式 / 协议 / 混淆 / 协议和混淆是否兼容原版 / 连接数限制。
你可以看
cat /etc/rc.local
文件里是否正确添加了启动代码。不清楚你指的 连不上vps 是什么意思,查询运行状态是VPS的控制面板?
安装成功的情况下应该是 成功安装内核并删除其他内核,重启后可以正常链接VPS并启动BBR,这才算安装成功。
ShadowsocksR在运行中,却无法连接,排除了本地电脑和客户端设置错误?
我脚本默认也是开放了防火墙端口,所以排除了防火墙影响。
暂时看不出来具体是哪里出错了。。。
而且我看你的 apt 源或者DNS存在问题,尝试更换。
Debian中iptables没有注册成服务,所以提示这个是正常的。
“毕竟不是所有人,都不会把全部参数都重新弄一遍的”所以我就加了一个手动修改的,自己需要自己改,不需要就不用管。
我的脚本不可能满足所有人,所以需要修改其他的,就自己动手。
而且我发现我看不懂你说的话,前后矛盾。。。无法理解你到底想要表达什么。
如果你想说的是, 选项5 是把所有的选项像 4一样,列出来改,而不是直接打开文件,让用户手动修改。这个我可以告诉你,暂时我是无法实现的,我只是shell初学者。
虽然我建议debian 7 x64,但是不同VPS,IDC可能会搞得内核不一样,锐速主要看内核,内核不支持的话就无法安装。
我一会有空更新一下,把他给加上吧。已经添加了锐速开机启动的功能了。选择 5 .手动修改账号信息,然后更改Protocol和obfs参数。随后会加入修改混淆协议的功能。已经加入修改 协议和混淆 的功能了。