显示标签为“CentOS”的博文。显示所有博文
显示标签为“CentOS”的博文。显示所有博文

2019年6月25日星期二

Shadowsocks 一键安装脚本(四合一)


秋水逸冰大佬删除了,小白在这里备份下。
首先感谢秋水逸冰大佬的无私分享。
为众人抱薪者, 不可使其冻毙于风雪。 为自由开路者, 不可使其困顿于荆棘。 ——这是理想。
为众人抱薪者, 必冻毙于风雪。 为自由开路者, 必困顿于荆棘。 ——这是现实。


本脚本适用环境

系统支持:CentOS 6+,Debian 7+,Ubuntu 12+
内存要求:≥128M
日期  :2019 年 01 月 11 日

关于本脚本

1、一键安装 Shadowsocks-Python, ShadowsocksR, Shadowsocks-Go, Shadowsocks-libev 版(四选一)服务端;
2、各版本的启动脚本及配置文件名不再重合;
3、每次运行可安装一种版本;
4、支持以多次运行来安装多个版本,且各个版本可以共存(注意端口号需设成不同);
5、若已安装多个版本,则卸载时也需多次运行(每次卸载一种);
友情提示:如果你有问题,请先阅读这篇《Shadowsocks Troubleshooting》之后再询问。

默认配置

服务器端口:自己设定(如不设定,默认从 9000-19999 之间随机生成)
密码:自己设定(如不设定,默认为 teddysun.com)
加密方式:自己设定(如不设定,Python 和 libev 版默认为 aes-256-gcm,R 和 Go 版默认为 aes-256-cfb)
协议(protocol):自己设定(如不设定,默认为 origin)(仅限 ShadowsocksR 版)
混淆(obfs):自己设定(如不设定,默认为 plain)(仅限 ShadowsocksR 版)
备注:脚本默认创建单用户配置文件,如需配置多用户,请手动修改相应的配置文件后重启即可。

客户端下载

使用方法

使用root用户登录,运行以下命令:
wget --no-check-certificate -O shadowsocks-all.sh https://raw.githubusercontent.com/aneryusui/shadowsocks_install/master/shadowsocks-all.sh
chmod +x shadowsocks-all.sh
./shadowsocks-all.sh 2>&1 | tee shadowsocks-all.log

安装完成后,脚本提示如下

Congratulations, your_shadowsocks_version install completed!
Your Server IP        :your_server_ip
Your Server Port      :your_server_port
Your Password         :your_password
Your Encryption Method:your_encryption_method

Your QR Code: (For Shadowsocks Windows, OSX, Android and iOS clients)
 ss://your_encryption_method:your_password@your_server_ip:your_server_port
Your QR Code has been saved as a PNG file path:
 your_path.png

Welcome to visit:https://teddysun.com/486.html
Enjoy it!

卸载方法

若已安装多个版本,则卸载时也需多次运行(每次卸载一种)
使用root用户登录,运行以下命令:
./shadowsocks-all.sh uninstall

启动脚本

启动脚本后面的参数含义,从左至右依次为:启动,停止,重启,查看状态。
Shadowsocks-Python 版:
/etc/init.d/shadowsocks-python start | stop | restart | status
ShadowsocksR 版:
/etc/init.d/shadowsocks-r start | stop | restart | status
Shadowsocks-Go 版:
/etc/init.d/shadowsocks-go start | stop | restart | status
Shadowsocks-libev 版:
/etc/init.d/shadowsocks-libev start | stop | restart | status

各版本默认配置文件

Shadowsocks-Python 版:
/etc/shadowsocks-python/config.json
ShadowsocksR 版:
/etc/shadowsocks-r/config.json
Shadowsocks-Go 版:
/etc/shadowsocks-go/config.json
Shadowsocks-libev 版:
/etc/shadowsocks-libev/config.json

更新日志

2019 年 01 月 11 日:
1、升级:libsodium 到最新版本 1.0.17;
2、升级:mbedtls 到最新版本 2.16.0;
2018 年 11 月 05 日:
1、升级:使用 Github 上最新代码编译出 Go 版二进制可执行文件,版本号 1.2.2。
2018 年 06 月 01 日:
1、修正:在启用了插件 simple-obfs 的情况下,libev 版启动失败的问题;
2、修正:在使用 /etc/init.d/shadowsocks-libev restart 命令重启 libev 版服务端时,偶尔出现的 “bind: Address already in use” 问题;
3、修正:移除 libev 版配置文件中的 local_address 字段;
4、修改:不再默认使用 root 用户启动,改为使用 nobody 用户启动 libev 版服务端 ss-server;
5、升级:mbedtls 到版本 2.9.0;
6、修改:libev 版启动脚本中的 -u 参数(即同时启用 TCP 和 UDP 模式),改到配置文件里配置为 “mode”: “tcp_and_udp”;
7、修改:libev 版配置文件的内置 NameServers 为 8.8.8.8,默认是从 /etc/resolv.conf 中取得。
2018 年 02 月 07 日:
1、修改:将默认端口从 8989 改为从 9000-19999 之间随机生成。
2018 年 02 月 06 日:
1、修改:ShadowsocksR 版为 ShadowsocksRR 最新版;
2、新增:ShadowsocksR 版的协议(protocol)增加了 4 个,分别为:
auth_chain_c
auth_chain_d
auth_chain_e
auth_chain_f
2017 年 12 月 29 日:
1、升级:libsodium 到 1.0.16。
2017 年 11 月 25 日:
1、如果 Linux 内核版本大于 3.7.0,则配置文件默认支持 TCP fast open;
2、新增:libev 版启动时支持 verbose mode,也就是默认写 log 到 /var/log/messages 方便查看。
2017 年 11 月 12 日:
1、新增生成 ss:// 或 ssr:// 链接,以及其二维码图片。
※ 脚本会根据当前安装的版本以及输入的各项配置,自动生成 ss:// 或 ssr:// 的链接并在安装成功后显示,直接复制即可被客户端识别。同时生成其二维码图片,并保存在当前目录下,下载后用看图软件打开,也能被客户端识别。
复制二维码链接后 Shadowsocks 客户端识别示例:
复制二维码链接后 ShadowsocksR 客户端识别示例:
2017 年 10 月 22 日:
1、升级:libsodium 到 1.0.15。
2017 年 10 月 14 日:
1、新增:在安装 Shadowsocks-libev 版时可选安装 simple-obfs 服务端。
※ 脚本通过判断 autoconf 版本是否大于或等于 2.67 来一键安装 simple-obfs 服务端。并且,支持在安装过程中选择 obfs 为 http 或 tls。
※ 使用方法参考:https://teddysun.com/511.html
2017 年 09 月 16 日:
1、修正:Shadowsocks-libev 版 v3.1.0 使用 libc-ares 替换 libudns 依赖包,解决了依赖问题;
2、升级:mbedtls 到版本 2.6.0。
2017 年 07 月 27 日:
1、新增:ShadowsocksR 版可选协议(protocol)auth_chain_b 。使用该协议需更新到最新(4.7.0) ShadowsocksR 版客户端
2、修改:更新 ShadowsocksR 源码下载地址。
2017 年 07 月 23 日:
1、修正:卸载时可自行选择某个版本卸载,若该版本不存在则报错退出。
2017 年 07 月 22 日:
1、修正:默认加密方式从 aes-256-cfb 改为 aes-256-gcm(Python 和 libev 版);
2、新增:安装时可选 16 种加密方式的其中之一(Python 和 libev 版)。如下所示:
aes-256-gcm
aes-192-gcm
aes-128-gcm
aes-256-ctr
aes-192-ctr
aes-128-ctr
aes-256-cfb
aes-192-cfb
aes-128-cfb
camellia-128-cfb
camellia-192-cfb
camellia-256-cfb
chacha20-ietf-poly1305
chacha20-ietf
chacha20
rc4-md5
3、新增:安装时可选 9 种加密方式的其中之一(Go 版)。如下所示:
aes-256-cfb
aes-192-cfb
aes-128-cfb
aes-256-ctr
aes-192-ctr
aes-128-ctr
chacha20-ietf
chacha20
rc4-md5
4、新增:安装时可选 15 种加密方式的其中之一(none 是不加密,ShadowsocksR 版)。如下所示:
none
aes-256-cfb
aes-192-cfb
aes-128-cfb
aes-256-cfb8
aes-192-cfb8
aes-128-cfb8
aes-256-ctr
aes-192-ctr
aes-128-ctr
chacha20-ietf
chacha20
salsa20
xchacha20
xsalsa20
rc4-md5
5、新增:安装时可选 7 种协议(protocol)的其中之一(仅限 ShadowsocksR 版)。如下所示:
origin
verify_deflate
auth_sha1_v4
auth_sha1_v4_compatible
auth_aes128_md5
auth_aes128_sha1
auth_chain_a
auth_chain_b
6、新增:安装时可选 9 种混淆(obfs)的其中之一(仅限 ShadowsocksR 版)。如下所示:
plain
http_simple
http_simple_compatible
http_post
http_post_compatible
tls1.2_ticket_auth
tls1.2_ticket_auth_compatible
tls1.2_ticket_fastauth
tls1.2_ticket_fastauth_compatible
2017 年 02 月 24 日:
1、恢复: 通过 Github API 自动获取 Shadowsocks-libev 的最新 release 版本的功能(v3.0.3)。
2017 年 02 月 13 日:
1、升级: Shadowsocks-libev 版到版本 3.0.2;
2、升级: Shadowsocks-go 版到版本 1.2.1(基于 Github 最新代码,用 go 1.8 编译完成的 x86 和 x86_64 二进制文件);
3、修复:在 Debian 7 下默认没有 libudns-dev 依赖包的问题。
2017 年 02 月 12 日:
1、升级: Shadowsocks-libev 版到版本 3.0.1。
2017 年 01 月 27 日:
1、升级: Shadowsocks-go 版到版本 1.2.1 (仅适用于 x86_64 系统)

2019年6月24日星期一

centos6.9 升级glibc(升级到 2.18版)


官方的glibc源只更新到2.12版,很多业务需要升级到更高级版,这里介绍编译glibc升级的方式。
安装gcc与wget
sudo yum install gcc
sudo yum install wget
下载glibc-2.18.tar.gz
wget http://ftp.gnu.org/gnu/glibc/glibc-2.18.tar.gz
解压并进入到glibc-2.18
tar -xf glibc-2.18.tar.gz
cd glibc-2.18
创建build文件夹
mkdir  ../glibc-build

cd  ../glibc-build
编译
../glibc-2.18/configure  --disable-sanity-checks
make&&make install
重启生效










下面命令执行中出错,未排查,供参考

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

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



系统要求

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一键管理脚本
  1. 支持 限制 端口限速
  2. 支持 限制 端口设备数
  3. 支持 显示 当前连接IP
  4. 支持 显示 SS/SSR连接+二维码
  5. 支持 切换管理 单/多端口
  6. 支持 一键安装 BBR
  7. 支持 一键安装 锐速
  8. 支持 一键安装 LotServer
  9. 支持 一键封禁 垃圾邮件(SMAP)/BT/PT

安装步骤

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

v2.0.0 版本以后的脚本,请先卸载旧脚本ShadowsocksR服务端,再重新安装!
  1. wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/ssr.sh && chmod +x ssr.sh && bash ssr.sh
下载运行后会提示你输入数字来选择要做什么。
输入 1 ,就会开始安装ShadowsocksR服务端,并且会提示你输入Shadowsocks的 端口/密码/加密方式/ 协议/混淆(混淆和协议是通过输入数字选择的) 等参数。
如果安装过程中报错,请看 常见问题解决方法
点击展开 查看更多
  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. none
  17. [注意] 如果使用 auth_chain_a 协议,请加密方式选择 none,混淆随意(建议 plain)
  18. 2. rc4
  19. 3. rc4-md5
  20. 4. rc4-md5-6
  21. 5. aes-128-ctr
  22. 6. aes-192-ctr
  23. 7. aes-256-ctr
  24. 8. aes-128-cfb
  25. 9. aes-192-cfb
  26. 10. aes-256-cfb
  27. 11. aes-128-cfb8
  28. 12. aes-192-cfb8
  29. 13. aes-256-cfb8
  30. 14. salsa20
  31. 15. chacha20
  32. 16. chacha20-ietf
  33. 注意:salsa20/chacha20-*系列加密方式,需要额外安装依赖 libsodium ,否则会无法启动ShadowsocksR !
  34.  
  35. (默认: 5. aes-128-ctr):
  36.  
  37. ——————————————————————————————
  38. 加密 : aes-128-ctr
  39. ——————————————————————————————
  40.  
  41. 请选择要设置的ShadowsocksR账号 协议插件
  42. 1. origin
  43. 2. auth_sha1_v4
  44. 3. auth_aes128_md5
  45. 4. auth_aes128_sha1
  46. 5. auth_chain_a
  47. [注意] 如果使用 auth_chain_a 协议,请加密方式选择 none,混淆随意(建议 plain)
  48.  
  49. (默认: 2. auth_sha1_v4):
  50.  
  51. ——————————————————————————————
  52. 协议 : auth_sha1_v4
  53. ——————————————————————————————
  54.  
  55. 是否设置 协议插件兼容原版(_compatible)?[Y/n]
  56.  
  57. 请选择要设置的ShadowsocksR账号 混淆插件
  58. 1. plain
  59. 2. http_simple
  60. 3. http_post
  61. 4. random_head
  62. 5. tls1.2_ticket_auth
  63. [注意] 如果使用 ShadowsocksR 加速游戏,请选择 混淆兼容原版或 plain 混淆,然后客户端选择 plain,否则会增加延迟 !
  64. (默认: 1. plain):
  65.  
  66. ——————————————————————————————
  67. 混淆 : plain
  68. ——————————————————————————————
  69.  
  70. 是否设置 混淆插件兼容原版(_compatible)?[Y/n]
  71. 请输入要设置的ShadowsocksR账号 欲限制的设备数 ( auth_* 系列协议 不兼容原版才有效 )
  72. [注意] 设备数限制:每个端口同一时间能链接的客户端数量(多端口模式,每个端口都是独立计算),建议最少 2个。
  73. (默认: 无限):5
  74. ——————————————————————————————
  75. 链接设备数 : 5
  76. ——————————————————————————————
  77.  
  78. 请输入要设置的每个端口 单线程 限速上限(单位:KB/S)
  79. [注意] 单线程限速:每个端口 单线程的限速上限,多线程即无效。
  80. (默认: 无限):666
  81.  
  82. ——————————————————————————————
  83. 单端口单线程 : 666 KB/S
  84. ——————————————————————————————
  85.  
  86. 请输入要设置的每个端口 总速度 限速上限(单位:KB/S)
  87. [注意] 端口总限速:每个端口 总速度 限速上限,单个端口整体限速。
  88. (默认: 无限):2333
  89.  
  90. ——————————————————————————————
  91. 单端口总限速 : 2333 KB/S
  92. ——————————————————————————————
同时最后也会提示是否设置 混淆 兼容原版(也就是使用原版SS也能链接),不懂 直接回车 或 输入 y 。(协议不在兼容原版)
注意:关于限制设备数数,这个协议必须是非原版并且不兼容原版才有效,也就是必须SSR客户端使用协议的情况下,才有效!
不输入一路回车就是 默认参数:
  1. 端口 : 2333
  2. 密码 : doub.io
  3. 加密 : aes-128-ctr
  4. 协议 : auth_sha1_v4_compatible
  5. 混淆 : plain
  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. 混淆 : plain
  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. 混淆 : plain
  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客户端扫描二维码来添加。

使用说明

运行脚本,
  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. 升级脚本
  21. 当前状态: 已安装 已启动
  22. 当前模式: 单端口
  23.  
  24. 请输入数字(1-15):
当你为 单端口模式时,使用 7. 设置 用户配置 是 修改 单端口账号配置。
当你为 多端口模式时,使用 7. 设置 用户配置 是 添加/删除/修改 多端口账号配置。

文件位置

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

其他说明

ShadowsocksR 安装后,自动设置为 系统服务,所以支持使用服务来启动/停止等操作,同时支持开机启动。
  1. 启动 ShadowsocksR:/etc/init.d/ssr start
  2. 停止 ShadowsocksR:/etc/init.d/ssr stop
  3. 重启 ShadowsocksR:/etc/init.d/ssr restart
  4. 查看 ShadowsocksR状态:/etc/init.d/ssr status
ShadowsocksR 默认支持UDP转发,服务端无需任何设置。
本脚本已经集成了 安装/卸载 锐速(ServerSpeeder)开心版,但是是否支持请查看 Linux支持内核列表 。(锐速不支持OpenVZ)
v2.0.0 以前的旧版本下载地址:
查看更多
  1. 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协议 的问题

查看更多
如果发现Shadowsocks原版协议/混淆可以使用,而ShadowsocksR的协议/混淆无法使用,那么多半是 VPS时区问题
这个命令,我的ShadowsocksR脚本在安装的时候已经执行了,如果你发现没有执行,那你可以手动执行。
我们可以通过下面这个命令,把VPS的时区调整为北京时区,这样就避免了ShadowsocksR 协议/混淆 因为时差太大造成的无法验证。
  1. cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
注意,部分VPS会提示你是否覆盖文件,输入 y 然后回车。
如果你遇到,crontab设定的定时任务不按更换时区后的VPS时间执行,那么请看下面:
crontab设定的定时任务不按VPS的时间执行,那是因为你更换VPS时区后还需要重启crontab。
CentOS 系统:
  1. /etc/init.d/crond restart
Debian/Ubuntu 系统:
  1. /etc/init.d/cron restart

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

查看解决办法
我发现有一些人的VPS的 apt源有问题,导致安装失败,所以我这里写上如何更换 apt源。
本步骤仅适合 Debian 系统,Ubuntu系统自行搜索 apt源。
下面的手动改的方法一些人可能嫌麻烦,所以你们可以这样字更换apt源。
依次输入就可以更换apt源了,下面的代码是以 us美国 为例,你可以自己去这里选一个近一些合适的,然后替换下面代码中 us.sources.list 的 us 。
  1. wget -N --no-check-certificate -P /etc/apt https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/sources/us.sources.list
  2. rm -rf /etc/apt/sources.list
  3. cp /etc/apt/us.sources.list /etc/apt/sources.list

手动更换(上面的命令执行完毕就不要重复执行这个了)

打开你的apt源文件,
  1. vi /etc/apt/sources.list
然后按 I 键 进入编辑模式,如果你没有安装vim,也无法通过 apt-get install vim -y 安装,那么你就只能通过SFTP下载这个文件本地编辑了。
把下面的内容复制过去,注意下面示例是美国的apt源,想要其他地区的apt源,请看:Debian全球镜像站(替换下面的 ftp.us.debian.org 中的 us )
  1. deb http://ftp.us.debian.org/debian/ jessie main
  2. deb-src http://ftp.us.debian.org/debian/ jessie main
  3.  
  4. deb http://security.debian.org/ jessie/updates main contrib
  5. deb-src http://security.debian.org/ jessie/updates main contrib
  6.  
  7. # jessie-updates, previously known as 'volatile'
  8. deb http://ftp.us.debian.org/debian/ jessie-updates main contrib
  9. 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。

  1. echo "nameserver 8.8.8.8
  2. nameserver 8.8.4.4" > /etc/resolv.conf
  3. # 两行一起复制一直执行

提示 wget: command not found 的错误

这是你的系统精简的太干净了,wget都没有安装,所以需要安装wget。


CentOS系统:
  1. yum install -y wget
Debian/Ubuntu系统:
  1. apt-get install -y wget

升级脚本

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

定时重启

一些人可能需要定时重启ShadowsocksR服务端来保证稳定性等,所以这里用 crontab 定时。

  1. crontab -l
  2. # 输入这个命令可以查看当前配置的定时任务,如果提示命令不存在,那么安装crontab:
  3. # CentOS系统:
  4. yum update
  5. yum install -y crond
  6. # Debian/Ubuntu系统:
  7. apt-get update
  8. apt-get install -y cron
安装 crontab 后,我们就能开始添加定时任务了:
  1. crontab -l > "crontab.bak"
  2. sed -i "/ssr restart/d" "crontab.bak"
  3. echo -e "\n10 3 * * * /etc/init.d/ssr restart" >> "crontab.bak"
  4. crontab "crontab.bak"
  5. rm -r "crontab.bak"
  6.  
  7. # 下面的只是让你对照理解用于修改上面第三行的定时间隔,只需要执行上面的代码即可。
  8. # 如果你需要修改定时时间,那么重复执行上面代码就行了(记得修改第三行的定时间隔)。
  9. # 如果你要删除定时重启任务,那么还是重复上面的代码,但是要跳过第三行代码。
  10. # 下面代码前面的 * * * * * 分别对应:分钟 小时 日 月 星期
  11.  
  12. 10 2 * * * /etc/init.d/ssr restart
  13. # 这个代表 每天2点10分重启一次 ShadowsocksR
  14.  
  15. 10 2 */2 * * /etc/init.d/ssr restart
  16. # 这个代表 每隔2天的2点10分重启一次 ShadowsocksR
  17.  
  18. 10 */4 * * * /etc/init.d/ssr restart
  19. # 这个代表 每隔4小时的第10分重启一次 ShadowsocksR