系统要求
CentOS 6+ / Debian 6+ / Ubuntu 14.04 +
推荐 Debian 7 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/ToyoDAdoubi/doubi/master/ssr.sh && chmod +x ssr.sh && bash ssr.sh
wget -N –no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/ss-go.sh && chmod +x ss-go.sh && bash ss-go.sh
wget -N –no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/ssr.sh && chmod +x ssr.sh && bash ssr.sh
下载运行后会提示你输入数字来选择要做什么。
输入 1 ,就会开始安装ShadowsocksR服务端,并且会提示你输入Shadowsocks的 端口/密码/加密方式/ 协议/混淆(混淆和协议是通过输入数字选择的) 等参数。
如果安装过程中报错,请看 常见问题解决方法。
点击展开 查看更多
请输入要设置的ShadowsocksR账号 端口
(默认: 2333):
——————————————————————————————
端口 : 2333
——————————————————————————————
请输入要设置的ShadowsocksR账号 密码
(默认: doub.io):
——————————————————————————————
密码 : doub.io
——————————————————————————————
请选择要设置的ShadowsocksR账号 加密方式
none
[注意] 如果使用 auth_chain_a 协议,请加密方式选择 none,混淆随意(建议 plain)rc4
rc4-md5
rc4-md5-6
aes-128-ctr
aes-192-ctr
aes-256-ctr
aes-128-cfb
aes-192-cfb
aes-256-cfb
aes-128-cfb8
aes-192-cfb8
aes-256-cfb8
salsa20
chacha20
chacha20-ietf
注意:salsa20/chacha20-*系列加密方式,需要额外安装依赖 libsodium ,否则会无法启动ShadowsocksR !
(默认: 5. aes-128-ctr):
——————————————————————————————
加密 : aes-128-ctr
——————————————————————————————
请选择要设置的ShadowsocksR账号 协议插件
- origin
- auth_sha1_v4
- auth_aes128_md5
- auth_aes128_sha1
- auth_chain_a
[注意] 如果使用 auth_chain_a 协议,请加密方式选择 none,混淆随意(建议 plain)
(默认: 2. auth_sha1_v4):
——————————————————————————————
协议 : auth_sha1_v4
——————————————————————————————
是否设置 协议插件兼容原版(_compatible)?[Y/n]
请选择要设置的ShadowsocksR账号 混淆插件
- plain
- http_simple
- http_post
- random_head
- tls1.2_ticket_auth
[注意] 如果使用 ShadowsocksR 加速游戏,请选择 混淆兼容原版或 plain 混淆,然后客户端选择 plain,否则会增加延迟 !
(默认: 5. tls1.2_ticket_auth):
——————————————————————————————
混淆 : tls1.2_ticket_auth
——————————————————————————————
是否设置 混淆插件兼容原版(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
混淆 : tls1.2_ticket_auth_compatible
设备数限制: 0(无限)
单线程限速: 0 KB/S (不限速)
端口总限速: 0 KB/S (不限速)
最后会提示让你确认是否输入正确,如果没问题那就按任意键继续安装,如果输入错误,那么就使用 Ctrl + C 退出脚本。
——————————————————————————————
请检查Shadowsocks账号配置是否有误 !
端口 : 2333
密码 : doub.io
加密 : aes-128-ctr
协议 : auth_sha1_v4_compatible
混淆 : tls1.2_ticket_auth_compatible
设备数限制: 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
混淆 : tls1.2_ticket_auth_compatible
设备数限制: 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
输入对应的数字来执行相应的命令。
请输入一个数字来选择菜单选项
- 安装 ShadowsocksR
- 更新 ShadowsocksR
- 卸载 ShadowsocksR
- 安装 libsodium(chacha20)
———————————— - 查看 账号信息
- 显示 连接信息
- 设置 用户配置
- 手动 修改配置
- 切换 端口模式
———————————— - 启动 ShadowsocksR
- 停止 ShadowsocksR
- 重启 ShadowsocksR
- 查看 ShadowsocksR 日志
———————————— - 其他功能
- 升级脚本
当前状态: 已安装 并 已启动
当前模式: 单端口
请输入数字(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 以前的旧版本下载地址:
点击展开 查看更多
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(需06/04日以后的服务端版本)
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
提示 Media change: please insert the disc labeled‘Debian GNU/Linux 7.0.0 Wheezy — Official amd64 CD 等信息是 apt源 的问题,更换 apt源
点击展开 查看解决办法
ShadowsocksR启动失败,日志提示:Exception: libsodium not found 的错误
这是你使用了 chacha20 系列加密方式,但是却没有安装 libsodium支持库,导致ShadowsocksR无法启动,运行脚本选择选项 4 安装 libsodium支持库即可,如果安装失败,请选择其他的加密方式,对速度影响不大。
提示wget: unknown host “raw.githubusercontent.com” 之类的错误
这是无法解析我的域名,多半是DNS的问题,请更换DNS为谷歌DNS。
点击展开 查看更多
提示 wget: command not found 的错误
这是你的系统精简的太干净了,wget都没有安装,所以需要安装wget。
点击展开 查看更多
升级脚本
升级脚本只需要重新下载脚本文件就可以了,会自动覆盖原文件。
定时重启
一些人可能需要定时重启ShadowsocksR服务端来保证稳定性等,所以这里用 crontab 定时。
点击展开 查看更多
本脚本只是本人的第一个Shell脚本学习练手作品,在逻辑结构上问题不少,大家遇到什么BUG请积极反馈!
更新日志
2018年07月10日,版本 v2.0.38
- 新增 升级脚本时,将一起升级服务脚本(Service)。
2018年01月02日,版本 v2.0.37
- 修复 Debian9 系统下,无法使用 显示连接信息 功能的问题。
2017年11月12日,版本 v2.0.36
- 优化 显示链接信息功能的 显示内容排版(对齐了一下)。
2017年11月03日,版本 v2.0.35
修改 SSR服务端安装方式为:ZIP压缩包安装(考虑到SSR服务端不更新了,所以为了降低git依赖安装出错率,就改成zip压缩包了)。
修改 JQ安装方式为:集成与SSR服务端文件夹内(减少了一个安装JQ的下载步骤,节省时间)。
2017年10月06日,版本 v2.0.341.恢复 libsodium以前安装方式