Shadowsocks Python版一键安装脚本

技术 秋水逸冰 2613592浏览 1333评论

本脚本适用环境:
系统支持:CentOS 6,7,Debian,Ubuntu
内存要求:≥128M
日期:2018 年 02 月 07 日

关于本脚本:
一键安装 Python 版 Shadowsocks 的最新版。
友情提示:如果你有问题,请先参考这篇《Shadowsocks Troubleshooting》后再问。

默认配置:
服务器端口:自己设定(如不设定,默认从 9000-19999 之间随机生成)
密码:自己设定(如不设定,默认为 teddysun.com)
加密方式:自己设定(如不设定,默认为 aes-256-gcm)
备注:脚本默认创建单用户配置文件,如需配置多用户,安装完毕后参照下面的教程示例手动修改配置文件后重启即可。

Shadowsocks for Windows 客户端下载:
https://github.com/shadowsocks/shadowsocks-windows/releases

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

wget --no-check-certificate -O shadowsocks.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks.sh
chmod +x shadowsocks.sh
./shadowsocks.sh 2>&1 | tee shadowsocks.log

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

Congratulations, Shadowsocks-python server install completed!
Your Server IP        :your_server_ip
Your Server Port      :your_server_port
Your Password         :your_password
Your Encryption Method:your_encryption_method

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

卸载方法:
使用root用户登录,运行以下命令:

./shadowsocks.sh uninstall

单用户配置文件示例(2015 年 08 月 28 日修正):
配置文件路径:/etc/shadowsocks.json

{
    "server":"0.0.0.0",
    "server_port":your_server_port,
    "local_address":"127.0.0.1",
    "local_port":1080,
    "password":"your_password",
    "timeout":300,
    "method":"your_encryption_method",
    "fast_open": false
}

多用户多端口配置文件示例(2015 年 08 月 28 日修正):
配置文件路径:/etc/shadowsocks.json

{
    "server":"0.0.0.0",
    "local_address":"127.0.0.1",
    "local_port":1080,
    "port_password":{
         "8989":"password0",
         "9001":"password1",
         "9002":"password2",
         "9003":"password3",
         "9004":"password4"
    },
    "timeout":300,
    "method":"your_encryption_method",
    "fast_open": false
}

使用命令(2015 年 08 月 28 日修正):
启动:/etc/init.d/shadowsocks start
停止:/etc/init.d/shadowsocks stop
重启:/etc/init.d/shadowsocks restart
状态:/etc/init.d/shadowsocks status

更多版本 Shadowsocks 服务端一键安装脚本:
ShadowsocksR 版一键安装脚本(CentOS,Debian,Ubuntu)
CentOS 下 Shadowsocks-libev 一键安装脚本
Debian 下 Shadowsocks-libev 一键安装脚本
Shadowsocks-go 一键安装脚本(CentOS,Debian,Ubuntu)
Shadowsocks 一键安装脚本(四合一)

参考链接:
https://teddysun.com/339.html

更新日志

(2018 年 02 月 07 日)
1、修改:将默认端口从 8989 改为从 9000-19999 之间随机生成。

(2017 年 07 月 21 日)
1、修正:默认加密方式从 aes-256-cfb 改为 aes-256-gcm(官方原版客户端支持该加密方式);
2、新增:安装时可选 16 种加密方式的其中之一。如下所示:

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

(2016 年 08 月 18 日)
1、修正:默认安装 Github 上 master 分支最新版本(目前为 2.9.0)。
2、修正:由于原作者已经不再更新 pip 下的源代码,故不再使用 pip 安装 Shadowsocks,而是改为下载 Github 的 master 分支来安装。如果在一段时间后,版本升级了,则先卸载,并再次执行本脚本就可以升级为最新版。

(2016 年 05 月 12 日)
1、新增在 CentOS 7 下的防火墙规则设置。

(2015 年 08 月 28 日)
1、修正控制脚本 /etc/init.d/shadowsocks 在 CentOS 7 无法查看 status 的问题。

(2015 年 08 月 01 日)
1、新增自定义服务器端口功能(如不设定,默认端口为 8989);

(2015 年 03 月 10 日)
1、新增在 Debian、Ubuntu 下的一键安装;

(2015 年 01 月 21 日)
1、修正配置文件,与官方给出的 Sample 一致;
2、修改启动脚本,使用官方给出的后台启动和停止命令。

(2014 年 10 月 10 日)
跟作者反馈了多用户多端口问题,作者已更新 Wiki 页面。本教程新增多用户多端口配置文件的 sample 。

(2014 年 09 月 24 日)
如何配置多用户?详见:这里
备注:Shadowsocks 已经支持多用户,在配置文件中增加不同的端口,对应不同的密码即可。

(2014 年 07 月 12 日)
1、修正获取公网 IP 时的一个问题。建议不要使用共享公网 IP 的 VPS 来搭建 Shadowsocks 服务。

(2014 年 05 月 29 日)
1、增加 chkconfig 配置,实现 service 命令。
2、配置文件名从 /etc/config.json 改为 /etc/shadowsocks.json(与官方的命名一致)。
3、配置文件中新增 workers ,值默认为 1(与官方配置同步)。

(2014 年 05 月 27 日)
1、修正开机自启动失效的问题。
2、优化是否后台启动成功的判断逻辑。

(2014 年 05 月 04 日)
1、修正对增加防火墙端口逻辑的判断bug,对于已经放行 8989 端口的情况下,则无需再次增加。
2、修正获取服务器 IP 的判断bug,对于多 IP 的 VPS 或服务器,默认只取第一个公网 IP 写到配置文件(/etc/config.json)里。
3、加入开机自启动。

转载请注明:秋水逸冰 » Shadowsocks Python版一键安装脚本

发表我的评论
取消评论

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

表情

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

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

网友最新评论 (1333)

  1. centos 6.5中安装pip时现在总是出现一个错误 Writing /tmp/easy_install-5Vrjpw/pip-7.1.0/setup.cfg Running pip-7.1.0/setup.py -q bdist_egg --dist-dir /tmp/easy_install-5Vrjpw/pip-7.1.0/egg-dist-tmp-chSv4q warning: no previously-included files found matching '.coveragerc' warning: no previously-included files found matching '.mailmap' warning: no previously-included files found matching '.travis.yml' warning: no previously-included files found matching 'pip/_vendor/Makefile' warning: no previously-included files found matching 'tox.ini' warning: no previously-included files found matching 'dev-requirements.txt' no previously-included directories found matching '.travis' no previously-included directories found matching 'docs/_build' no previously-included directories found matching 'contrib' no previously-included directories found matching 'tasks' no previously-included directories found matching 'tests' creating /usr/lib/python2.6/site-packages/pip-7.1.0-py2.6.egg Extracting pip-7.1.0-py2.6.egg to /usr/lib/python2.6/site-packages 好吧我是一只小白quq
    nievana9年前(2015-07-08)回复
  2. 亲爱的博主麻烦帮忙看看这个是怎么问题。 centos7 下面安装这个脚本出现这个问题,无法启动。 [root@v6484 ~]# /etc/init.d/shadowsocks start INFO: loading config from /etc/shadowsocks.json 2015-07-06 15:02:15 INFO loading libcrypto from libcrypto.so.10 2015-07-06 15:02:15 ERROR already started at pid 17244 shadowsocks start failed [root@v6484 ~]# ps -ef | grep -v grep | grep -v ps | grep -i “ssserver” [root@v6484 ~]#
    吗呀泡泡9年前(2015-07-06)回复
    • 看提示是已经启动了一个进程,pid 为 17244 所以启动命令失败了。 输入 ps -ef 直接看进程列表里有没有。如果有,kill 掉,再重启就好了。
      秋水逸冰9年前(2015-07-07)回复
      • Centos7下 验证是否开启命令失效了
        tankren9年前(2015-07-11)回复
  3. 秋大,为什么SS看youtube的速度只有200kb到500kb每秒,但同一个VPS走PPTP却可以满速(32MB宽带),有什么想法么?我百思不得其解,谢谢。Fremont Linode
    tankren9年前(2015-07-05)回复
  4. 我服务端配置好,家里Mac用着没问题,好几个同学windows也可以,公司电脑一开始也可以,不过最近不知为何不行。 1、公司电脑日志显示: System.Net.Sockets.SocketException: 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。 手机同样配置家里网可以用,移动4G也可以,就是用公司wifi不行。 在公司ping服务器地址是通的,但是tcping却显示unknown host 综上:应该是公司网络问题,只是我不是学计算机的,基础不行,所以请教一下可能是公司网络哪里问题,是屏蔽了什么吗? 2、有个同学电脑不可以用,日志显示:System.Net.WebException: 无法连接到远程服务器 ---> System.Net.Sockets.SocketException: 由于目标计算机积极拒绝,无法连接。 127.0.0.1:1080。 google多次,不知原因,恳求赐教。 最后,非常感谢你的脚本,打扰你了,也希望你给我一些指教。 再次感谢!
    wig9年前(2015-06-29)回复
    • 服务端没有问题,那问题肯定出在客户端或者本地网络。
      秋水逸冰9年前(2015-06-30)回复
  5. 这个脚本超好用!但我需要省掉安装客户端的麻烦 请问python版本的shadowsocks怎样才能把客户端配置在shadowsocks服务器上呢?这样用户直接浏览器设置代理就可以了 还请帮忙 万分感谢!自己折腾不出来 头痛好几天了 实在没办法了。。。。
    peter9年前(2015-06-25)回复
  6. 关于Python 版 shadowsocks的UDP relay是不是随着/etc/init.d/shadowsocks start的开启而运行,还是要另外做些什么?
    大苏打9年前(2015-06-21)回复
  7. 请问各位,有没有用ss全局代理来玩网络游戏的呢,我前几天用do配好了ss,能正常谷歌和youtube,不过youtube还是有点卡,然后游戏就不行了,玩GTA5经常连不上线上模式,锐速也用过了,还是慢得很,用的是电信100M,请问还需要怎么优化ss呢?难道要换联通和移动线路?
    Frank9年前(2015-06-19)回复
    • 这是中美国际网络出口的问题,无解。上网高峰时段丢包率很高。 换成香港或日本,韩国,台湾的或许会好点。
      秋水逸冰9年前(2015-06-19)回复
  8. 今天试了一天了,貌似当前执行这个一键包在6.5下会出现多用户失效的问题,只有默认安装时的那个帐号可以登录,希望博主可以看一下,有需要的话,我可以提供root帐号,并且我会重装为纯净系统状态。邮件我~
    DearTanker9年前(2015-06-13)回复
    • 多用户失效?配置文件不对吧,或者是防火墙没有开启对应的端口。基本上,就这两点原因。不信你把防火墙关掉后再试试。
      秋水逸冰9年前(2015-06-13)回复
      • 嗯,关掉防火墙就可以了,但现在的问题是,怎么配置防火墙一次性让我新建的多用户端口都能使用? 现在的配置是: # Generated by iptables-save v1.4.7 on Sun Jun 14 01:55:18 2015 *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [1:140] -A INPUT -p tcp -m state --state NEW -m tcp --dport 8989 -j ACCEPT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT # Completed on Sun Jun 14 01:55:18 2015 我试过增加一行 -A INPUT -p tcp -m state --state NEW -m tcp --dport 9000 -j ACCEPT 但是,9000端口这个帐号貌似还是连不上
        DearTanker9年前(2015-06-14)回复
        • 额,怎么又可以了,谢谢博主的指导。。
          DearTanker9年前(2015-06-14)回复
          • 加上一行 -A INPUT -p tcp -m state –state NEW -m tcp –dport 9000 -j ACCEPT 那么端口9000就可以使用了,那如果不想一个个加端口,是不是把 -A INPUT -j REJECT –reject-with icmp-host-prohibited -A FORWARD -j REJECT –reject-with icmp-host-prohibited 这2行去掉就可以了?
            DearTanker9年前(2015-06-14)回复
            • 这 2 行不用去掉。在 8989 下面追加一下新的端口就可以了。
              秋水逸冰9年前(2015-06-15)回复
  9. 剛買的vps手足無措,折騰一晚上終於連上日本線路,謝謝
    黑屁眼9年前(2015-06-12)回复
  10. 大大,您的一键安装版本现在只有libev同时启用 IPv4 与 IPv6 支持吗?能不能把python和go也加入ipv6支持,方便我们教育网用户 谢了
    zhangqiushide9年前(2015-06-08)回复
  11. 出现问题了,安装完成后出现了Congratulations。。。。。。Enjoy it!对话框。但是输入/etc/init.d/shadowsocks status后,提示SS is not running. 输入/etc/init.d/shadowsocks start或/etc/init.d/shadowsocks restart ,提示 already started at pid 19047咋回事,正常吗 谢
    zhangqiushide9年前(2015-06-07)回复
    • 执行: ps -ef | grep -v grep | grep -v ps | grep -i "ssserver" 看看有没有输出,就知道进程有没有在后台运行了。
      秋水逸冰9年前(2015-06-08)回复
      • 执行完后 没有输出,是没装上吗???谢
        zhangqiushide9年前(2015-06-08)回复
  12. 秋水大大好,成功安装.感谢!还有个疑问,我现在学校教育网纯ipv6环境下,我想让电脑端直接ipv6线路接通ss,需要怎么操作做出一个可以让我的电脑连接的ipv6地址呢,还是vps运营商直接提供?谢谢 vps给了一个Subnet 2604:180:3:4a4::/64 谢谢了
    zhangqiushide9年前(2015-06-07)回复
  13. 秋水大大好,成功安装.感谢!还有个疑问,我现在学校教育网纯ipv6环境下,我想让电脑端直接ipv6线路接通ss,需要怎么操作做出一个可以让我的电脑连接的ipv6地址呢,还是vps运营商直接提供?谢谢
    zhangqiushide9年前(2015-06-07)回复
  14. 评论要审核? 谢谢提供的一键安装,也能正常使用。 但是奇怪一件事,firefox+autoproxy,必须要使用http模式才能连接上完,网络上的介绍资料不是说是设置成socks5吗?设置成这样反而不能连接了,很奇怪
    firefixo9年前(2015-06-07)回复
  15. 17页的留言都看完了。 谢谢提供的一键安装包。 但是很奇怪一件事,使用的是firefox+autoproxy,autoproxy必须使用http模式才能连接。网络上不是说设置成socks5吗?设置成这样反而不行。
    firefixo9年前(2015-06-07)回复
    • 没错,确实是 socks5 模式。
      秋水逸冰9年前(2015-06-07)回复
      • 没错,在firefox下,确实使用的是http模式,socks5反而不行。即使不用其他扩展,单独在firefox选项里的网络设置,也是http
        firefixo9年前(2015-06-07)回复