ShadowsocksR 单/多端口 一键管理脚本

系统要求
CentOS 6+ / Debian 6+ / Ubuntu 14.04 +
推荐 Debian 7 x64,这个是我一直使用的系统,我的脚本在这个系统上面出错率最低。并且最容易安装锐速(锐速不支持OpenVZ)
CentOS根据大家的要求,加入了CentOS 6和7的支持,CentOS 7 自带防火墙问题自行解决,其他版本没有做测试。

脚本版本

Ver: 2.0.1
2017/03/17,脚本重做了,功能相差不大,但是结构清晰多了,并且 新版本的脚本 相比旧版本少了 44%的代码量,精简后的脚本问题更少,效率更高,结构更清晰,细节处理更好,建议升级(注意:升级前请先卸载旧脚本的ShadowsocksR服务端)。
当然每一个新脚本 都会伴随着一些BUG出生,所以估计这几天会不停地根据网友测试来修复一些小BUG,毕竟没有BUG的脚本是不存在的

(除非穿女装 误

脚本特点:

目前网上的各个ShadowsocksR脚本基本都是只有 安装/启动/重启 等基础功能,对于小白来说还是不够简单方便。既然是一键脚本,那么就要尽可能地简单,小白更容易接受使用!
  1. 支持 限制 端口限速
  2. 支持 限制 端口设备数
  3. 支持 显示 当前连接IP
  4. 支持 显示 SS/SSR连接+二维码
  5. 支持 切换管理 单/多端口
  6. 支持 一键安装 锐速
  7. 支持 一键安装 BBR
  8. 支持 一键封禁 垃圾邮件(SMAP)/BT/PT

安装步骤

简单的来说,如果你什么都不懂,那么你直接一路回车就可以了!
本脚本需要Linux root账户权限才能正常安装运行,所以如果不是 root账号,请先切换为root。
  1. su
输入上面代码回车后会提示你输入 root账号的密码,输入并回车后,没有报错就继续下面的步骤安装ShadowsocksR。

v2.0.0 版本以后的脚本,请先卸载旧脚本ShadowsocksR服务端,再重新安装!
  1. wget -N --no-check-certificate https://softs.pw/Bash/ssr.sh && chmod +x ssr.sh && bash ssr.sh
备用下载地址(上面的链接无法下载,就用这个):
  1. wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/ssr.sh && chmod +x ssr.sh && bash ssr.sh
下载运行后会提示你输入数字来选择要做什么。
如果你的安装过程中出现了什么特别的提示看不懂,那就一路回车。
输入 1 ,就会开始安装ShadowsocksR服务端,并且会提示你输入Shadowsocks的 端口/密码/加密方式/ 协议/混淆(混淆和协议是通过输入数字选择的) 等参数。
如果协议是origin,那么混淆也必须是plain !
  1. 请输入要设置的ShadowsocksR账号 端口
  2. (默认: 2333):
  3.  
  4. ——————————————————————————————
  5. 端口 : 2333
  6. ——————————————————————————————
  7.  
  8. 请输入要设置的ShadowsocksR账号 密码
  9. (默认: doub.io):
  10.  
  11. ——————————————————————————————
  12. 密码 : doub.io
  13. ——————————————————————————————
  14.  
  15. 请选择要设置的ShadowsocksR账号 加密方式
  16. 1. rc4-md5
  17. 2. aes-128-ctr
  18. 3. aes-256-ctr
  19. 4. aes-256-cfb
  20. 5. aes-256-cfb8
  21. 6. camellia-256-cfb
  22. 7. chacha20
  23. 8. chacha20-ietf
  24. 注意:chacha20-*系列加密方式,需要额外安装依赖 libsodium ,否则会无法启动ShadowsocksR !
  25.  
  26. (默认: 2. aes-128-ctr):
  27.  
  28. ——————————————————————————————
  29. 加密 : aes-128-ctr
  30. ——————————————————————————————
  31.  
  32. 请选择要设置的ShadowsocksR账号 协议插件
  33. 1. origin
  34. 2. auth_sha1_v4
  35. 3. auth_aes128_md5
  36. 4. auth_aes128_sha1
  37.  
  38. (默认: 2. auth_sha1_v4):
  39.  
  40. ——————————————————————————————
  41. 协议 : auth_sha1_v4
  42. ——————————————————————————————
  43.  
  44. 是否设置 协议插件兼容原版(_compatible)?[Y/n]
  45.  
  46. 请选择要设置的ShadowsocksR账号 混淆插件
  47. 1. plain
  48. 2. http_simple
  49. 3. http_post
  50. 4. random_head
  51. 5. tls1.2_ticket_auth
  52.  
  53. (默认: 5. tls1.2_ticket_auth):
  54.  
  55. ——————————————————————————————
  56. 混淆 : tls1.2_ticket_auth
  57. ——————————————————————————————
  58.  
  59. 是否设置 混淆插件兼容原版(_compatible)?[Y/n]
  60. 请输入要设置的ShadowsocksR账号 欲限制的设备数 ( auth_* 系列协议 不兼容原版才有效 )
  61. [注意] 设备数限制:每个端口同一时间能链接的客户端数量(多端口模式,每个端口都是独立计算),建议最少 2个。
  62. (默认: 无限):5
  63. ——————————————————————————————
  64. 链接设备数 : 5
  65. ——————————————————————————————
  66.  
  67. 请输入要设置的每个端口 单线程 限速上限(单位:KB/S)
  68. [注意] 单线程限速:每个端口 单线程的限速上限,多线程即无效。
  69. (默认: 无限):666
  70.  
  71. ——————————————————————————————
  72. 单端口单线程 : 666 KB/S
  73. ——————————————————————————————
  74.  
  75. 请输入要设置的每个端口 总速度 限速上限(单位:KB/S)
  76. [注意] 端口总限速:每个端口 总速度 限速上限,单个端口整体限速。
  77. (默认: 无限):2333
  78.  
  79. ——————————————————————————————
  80. 单端口总限速 : 2333 KB/S
  81. ——————————————————————————————
同时最后也会提示是否设置 混淆 兼容原版(也就是使用原版SS也能链接),不懂 直接回车 或 输入 y 。(协议不在兼容原版)
注意:关于限制设备数数,这个协议必须是非原版并且不兼容原版才有效,也就是必须SSR客户端使用协议的情况下,才有效!
不输入一路回车就是 默认参数:
  1. 端口 : 2333
  2. 密码 : doub.io
  3. 加密 : aes-128-ctr
  4. 协议 : auth_sha1_v4_compatible
  5. 混淆 : tls1.2_ticket_auth_compatible
  6. 设备数限制: 0(无限)
  7. 单线程限速: 0 KB/S (不限速)
  8. 端口总限速: 0 KB/S (不限速)
最后会提示让你确认是否输入正确,如果没问题那就按任意键继续安装,如果输入错误,那么就使用 Ctrl + C 退出脚本。
  1. ——————————————————————————————
  2. 请检查Shadowsocks账号配置是否有误 !
  3.  
  4. 端口 : 2333
  5. 密码 : doub.io
  6. 加密 : aes-128-ctr
  7. 协议 : auth_sha1_v4_compatible
  8. 混淆 : tls1.2_ticket_auth_compatible
  9. 设备数限制: 5
  10. 单线程限速: 666 KB/S
  11. 端口总限速: 2333 KB/S
  12. ——————————————————————————————
  13.  
  14. 请按任意键继续,如有配置错误请使用 Ctrl+C 退出。
如果安装过程没有出错,那么最后就会提示:
  1. ############################################################
  2. ShadowsocksR账号 配置信息:
  3.  
  4. I P : xxx.xxx.xxx.xxx
  5. 端口 : 2333
  6. 密码 : doub.io
  7. 加密 : aes-128-ctr
  8. 协议 : auth_sha1_v4_compatible
  9. 混淆 : tls1.2_ticket_auth_compatible
  10. 设备数限制: 5
  11. 单线程限速: 666 KB/S
  12. 端口总限速: 2333 KB/S
  13.  
  14. SS链接: ss://xxxxxxxxxxxxx
  15. SS二维码: http://pan.baidu.com/share/qrcode?w=300&h=300&url=ss://xxxxxxxxxxxxx
  16. SSR链接: ssr://xxxxxxxxxxxxx
  17. SSR二维码: http://pan.baidu.com/share/qrcode?w=300&h=300&url=ssr://xxxxxxxxxxxxx
  18.  
  19. 提示:
  20. 在浏览器中,打开二维码链接,就可以看到二维码图片。
  21. 协议和混淆后面的[ _compatible ],指的是 兼容原版协议/混淆。
  22.  
  23. ############################################################
SS/SSR链接(格式: ss://XXXXXXX ,很长),可以从剪辑版导入Shadowsocks客户端,不懂的话看下面二维码。
SS/SSR二维码,复制后面的链接在浏览器打开,就会显示一个二维码的图片,可以用Shadowsocks客户端扫描二维码来添加。
注意:SS/SSR链接 和 SS/SSR二维码链接 换行问题已经修复了。

使用说明

运行脚本,
  1. bash ssr.sh
输入对应的数字来执行相应的命令。
  1.   请输入一个数字来选择菜单选项
  2.  
  3. 1. 安装 ShadowsocksR
  4. 2. 更新 ShadowsocksR
  5. 3. 卸载 ShadowsocksR
  6. 4. 安装 libsodium(chacha20)
  7. ————————————
  8. 5. 查看 账号信息
  9. 6. 显示 连接信息
  10. 7. 修改 用户配置
  11. 8. 手动 修改配置
  12. 9. 切换 端口模式
  13. ————————————
  14. 10. 启动 ShadowsocksR
  15. 11. 停止 ShadowsocksR
  16. 12. 重启 ShadowsocksR
  17. 13. 查看 ShadowsocksR 日志
  18. ————————————
  19. 14. 配置 锐速
  20. 15. 配置 BBR
  21. ————————————
  22. 16. 其他功能
  23. 注意事项: 锐速/BBR 不支持 OpenVZ
  24. 当前状态: 已安装 已启动
  25. 当前模式: 单端口
  26.  
  27. 请输入数字(1-16):

文件位置

安装目录:/usr/local/shadowsocksr
配置文件:/etc/shadowsocksr/user-config.json

其他说明

ShadowsocksR 安装后,自动设置为 系统服务,所以支持使用服务来启动/停止等操作,同时支持开机启动。
  1. 启动 ShadowsocksR:service ssr start
  2. 停止 ShadowsocksR:service ssr stop
  3. 重启 ShadowsocksR:service ssr restart
  4. 查看 ShadowsocksR状态:service ssr status
ShadowsocksR 默认支持UDP转发,服务端无需任何设置。
本脚本已经集成了 安装/卸载 锐速(ServerSpeeder)开心版,但是是否支持请查看 Linux支持内核列表 。(锐速不支持OpenVZ)
v2.0.0 以前的旧版本下载地址:
  1. wget -N --no-check-certificate https://softs.pw/Bash/ssr_old.sh && chmod +x ssr_old.sh && bash ssr_old.sh
备用下载地址(上面的链接无法下载,就用这个):
  1. wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/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
混淆(Obfs):plain,http_simple,http_post,random_head,tls1.2_ticket_auth
origin 和 plain 是原版,加粗的是推荐使用的。

ShadowsocksR 端口限速中 单线程限速 和 端口总限速 的区别

注意:如果要使用脚本中的这个功能,需要重新下载脚本,并重装安装 2月15日 以后的ShadowsocksR服务端才行。

解决 可使用原版协议,单无法使用ShadowsocksR协议 的问题

如果发现Shadowsocks原版协议/混淆可以使用,而ShadowsocksR的协议/混淆无法使用,那么多半是 VPS时区问题
这个命令,我的ShadowsocksR脚本在安装的时候已经执行了,如果你发现没有执行,那你可以手动执行。
我们可以通过下面这个命令,把VPS的时区调整为北京时区,这样就避免了ShadowsocksR 协议/混淆 因为时差太大造成的无法验证。
  1. cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
注意,部分VPS会提示你是否覆盖文件,输入 y 然后回车。

提示 Media change: please insert the disc labeled‘Debian GNU/Linux 7.0.0 Wheezy — Official amd64 CD 等信息是 apt源 的问题,更换 apt源

提示wget: unknown host “softs.pw” 之类的错误

这是无法解析我的域名,多半是DNS的问题,请更换DNS为谷歌DNS。
  1. echo "nameserver 8.8.8.8" > /etc/resolv.conf
  2. echo "nameserver 8.8.4.4" >> /etc/resolv.conf

提示 wget: command not found 的错误

这是你的系统精简的太干净了,wget都没有安装,所以需要安装wget。
CentOS系统:
  1. yum install -y wget
Debian/Ubuntu系统:
  1. apt-get install -y wget

升级脚本

升级脚本只需要重新下载脚本文件就可以了,会自动覆盖原文件。

本脚本只是本人的第一个Shell脚本学习练手作品,在逻辑结构上问题不少,大家遇到什么BUG请积极反馈!

更新日志

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后写的第一个脚本,所以逻辑什么的非常乱,一点都不简洁,这两天没事就重写/重构了脚本,在功能上和旧版本差别不大,主要是 一些细节处理的更好更完美了,更多的差别请升级脚本~

更多的Shadowsocks安装教程/一键脚本请看这里:Shadowsocks指导篇
转载请超链接注明:逗比根据地 » 『原创』CentOS/Debian/Ubuntu ShadowsocksR 单/多端口 一键管理脚本
责任声明:本站一切资源均原创或收集自互联网,仅作交流学习之用,请勿用作商业!如造成任何后果,本站概不负责!

Comments

Popular posts from this blog

一键安装最新内核并开启 BBR 脚本

How to Deploy Google BBR on CentOS 7