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

技术 秋水逸冰 3784986浏览 1374评论

本脚本适用环境

系统支持: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 版)
备注:脚本默认创建单用户配置文件,如需配置多用户,请手动修改相应的配置文件后重启即可。

客户端下载

常规版 Windows 客户端
https://github.com/shadowsocks/shadowsocks-windows/releases

ShadowsocksR 版 Windows 客户端
https://github.com/shadowsocksrr/shadowsocksr-csharp/releases

使用方法

使用root用户登录,运行以下命令:

wget --no-check-certificate -O shadowsocks-all.sh https://raw.githubusercontent.com/teddysun/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 客户端识别示例:

二维码(QR Code)参考链接:
https://github.com/shadowsocks/shadowsocks/wiki/Generate-QR-Code-for-Android-or-iOS-Clients
https://github.com/shadowsocksr-backup/shadowsocks-rss/wiki/SSR-QRcode-scheme

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 系统)

更多单版本 Shadowsocks 服务端一键安装脚本

Shadowsocks Python 版一键安装脚本(CentOS,Debian,Ubuntu)
ShadowsocksR 版一键安装脚本(CentOS,Debian,Ubuntu)
CentOS 下 Shadowsocks-libev 一键安装脚本
Debian 下 Shadowsocks-libev 一键安装脚本
Shadowsocks-go 一键安装脚本(CentOS,Debian,Ubuntu)

注意:以上单版本不可与该四合一版本混用。

转载请注明:秋水逸冰 » Shadowsocks 一键安装脚本(四合一)

发表我的评论
取消评论

请输入正确答案后提交评论 *超出时限。 请再次填写验证码。

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (1374)

  1. 请问现在出来了一个UDPspeeder的东西,可以在BBR加速TCP的同时用UDPspeeder加速UDP包,请问大佬有兴趣做个一键安装么……
    灰机7年前(2017-11-20)回复
  2. 装SS-L,选择chacha20,显示以下错误…… Do you want install simple-obfs for Shadowsocks-libev? [y/n] (default: n):N You choose = N Press any key to start...or Press Ctrl+C to cancel Hit http://security.debian.org wheezy/updates Release.gpg Hit http://security.debian.org wheezy/updates Release Hit http://ftp.debian.org wheezy-updates Release.gpg Hit http://security.debian.org wheezy/updates/main Sources Hit http://ftp.debian.org wheezy-updates Release Hit http://security.debian.org wheezy/updates/main amd64 Packages Hit http://ftp.debian.org wheezy-updates/main Sources Hit http://security.debian.org wheezy/updates/main Translation-en Hit http://ftp.debian.org wheezy-updates/main amd64 Packages/DiffIndex Hit http://ftp.debian.org wheezy-updates/main Translation-en/DiffIndex Reading package lists... Reading package lists... Building dependency tree... Reading state information... Package gettext is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source E: Package 'gettext' has no installation candidate [Error] Failed to install gettext Please visit: https://teddysun.com/486.html and contact.
    灰机7年前(2017-11-20)回复
    • Debian wheezy 是有 gettext 这个包的,参考网址如下: https://packages.debian.org/wheezy/gettext
      秋水逸冰7年前(2017-11-26)回复
  3. 只有22端口能用,但是ss却出不去。什么原因?
    难于上晴天7年前(2017-11-20)回复
  4. 如何做到限制端口连接数?R版本是不是可以?
    una7年前(2017-11-20)回复
  5. 用了这个代码搭好了梯子,电脑能用,手机IOS用不了。CENTOS 6 64的,ShadowsocksR-dotnet4.0电脑端,chacha20 auth_sha1_v4 tls1.2_ticket_auth IOS手机端用BESTWINGY和SUPERWINGY都连不上,请问有人懂解决这个吗?万分感谢!
    不懂代码7年前(2017-11-20)回复
  6. 运行卸载脚本时或更新脚本时显示-bash: ./shadowsocks-libev.sh: No such file or directory
    foretab7年前(2017-11-19)回复
    • 发错了不是这个,是单版本libev版......
      foretab7年前(2017-11-19)回复
  7. 如何配置多用户?或者多账号?
    snowdream7年前(2017-11-18)回复
  8. 是否考虑加入ssrr呢,貌似chain_x系列混淆做了升级 https://github.com/shadowsocksrr
    ghost_zyw7年前(2017-11-17)回复
  9. 国内对github下载效果不好 能否增加国内节点
    LEI7年前(2017-11-17)回复
  10. 我服务器搭建好了但是电脑和手机客户端连接不上,求解
    天涯海角7年前(2017-11-17)回复
  11. 安装完之后查看配置: cat /etc/shadowsocks-r/config.json { "server":"0.0.0.0", "server_ipv6":"::", "server_port":10045, "local_address":"127.0.0.1", "local_port":1080, "password":"Abcd*****", "timeout":120, "method":"chacha20", "protocol":"auth_sha1_v4", "protocol_param":"", "obfs":"http_simple", "obfs_param":"", "redirect":"", "dns_ipv6":false, "fast_open":false, "workers":1 } 查看运作状态:/etc/init.d/shadowsocks-r status ShadowsocksR (pid 26388) is running... 但是在mac客户端上配置 上虚拟机ip+端口+加密方式 +glable mode 确没办法科学上网 连百度也打不开,为什么啊
    大西瓜大脸猫7年前(2017-11-17)回复
    • 如果你服务段配置的是只支持ss的某些配置,但是用了mac的ssr,或者服务段配置的是只支持ssr的某些配置但mac用了ss,都肯定连不上
      Chandler Lu7年前(2017-11-22)回复
  12. 大神,请问我为什么科学上网测速是正常的,但是实际使用的时候是50-200k小水管。。linode 日本机房,电信100m,求解答,感谢
    loading7年前(2017-11-17)回复
  13. 如果几个人使用得话。直接修改json。然后重启就可以吗?还是几个人公用一个账户不会有影响
    steven03147年前(2017-11-15)回复
    • 不会
      秋水逸冰7年前(2017-11-16)回复
      • "server":"0.0.0.0", "server_ipv6":"::", "local_address":"127.0.0.1", "local_port":1080, "port_password": { "8989": "root", "8090": "qzn", "8383": "foobar3", "8384": "foobar4" },多用户配置无效呢
        steven03147年前(2017-11-17)回复
        • 又不是所有的版本支持多用户。。如果只是私下几个人一起用,都挂一个端口就好了
          Chandler Lu7年前(2017-11-18)回复
  14. ss扶墙的插件除了像是final speed,kcp这些还有什么呢
    1237年前(2017-11-15)回复
  15. simple-obfs 如果是tls最好443端口,如果是http最好80端口,是这样吗
    1237年前(2017-11-15)回复