Shadowsocks Python版一键安装脚本

技术 秋水逸冰 2388420浏览 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. 谢谢,已经在服务器配置好了,windows下客户端和andriod下的都正常使用,我想问下,想在路由上配置实现路由翻墙,就直接配置路由器就可以了吧服务端就不用动了吧
    温耐普10年前(2014-08-09)回复
    • 必须要有客户端配合才能使用,如果你的路由器可以编译安装软件的话,推荐安装 shadowsocks-libev ,然后可以利用其客户端配置。
      秋水逸冰10年前(2014-08-09)回复
  2. 原来是系统版本不对,centos 6.x安装成功了,十分谢谢!!
    小午10年前(2014-08-02)回复
  3. SyntaxError: invalid syntax Shadowsocks install failed! Please visit https://teddysun.com/342.html and contact. centos ,在vps上安装出现如上错误。
    小午10年前(2014-08-02)回复
  4. 在centos 7 mininal中安装是否也是1键安装啊? 换了一个新的vps,好像连不上~~~~~~~~~
    linspire10年前(2014-07-31)回复
  5. 如何同时支持ipv4和ipv6监听
    23310年前(2014-07-30)回复
    • 暂不支持ipv6
      秋水逸冰10年前(2014-07-30)回复
      • ss不是已经支持ipv6了么 是不是这个脚本不支持?
        23310年前(2014-07-30)回复
        • 脚本只是安装shadowsocks而已,如果官方已经支持的话,那就是支持的,具体配置文件请参考官方Wiki。
          秋水逸冰10年前(2014-07-31)回复
  6. 一键搭建好shadowsocks后,一直用的挺好的,现在怎么一用shadowsocks翻墙,打开的网页上就有漂浮广告,这个是什么问题啊,用的是帮瓦工的 vps
    cjwing21110年前(2014-07-23)回复
    • 浮动广告怎么出现的我也不是很清楚,个人猜测应该是本地 ISP 的问题。
      秋水逸冰10年前(2014-07-24)回复
  7. 秋水你好 当我要编辑 /etc/sysconfig/iptables 文件时 显示permission denied 是VPS 提供商锁住了吗
    10年前(2014-07-21)回复
    • 照理说不会的,你用 root 用户登录的话才能修改。
      秋水逸冰10年前(2014-07-22)回复
  8. 请问一个VPS有多个IP,如何添加规则?
    declanVox10年前(2014-07-15)回复
    • 仿照 /etc/shadowsocks.json 自己手动再写个配置文件,比如 /etc/shadowsocks2.json ,在这个配置文件里你可以指定其他公网 IP ,然后执行下面的命令: nohup /usr/bin/python /usr/bin/ssserver -c /etc/shadowsocks2.json > /dev/null 2>&1 & 再启动一个 Shadowsocks 服务端。
      秋水逸冰10年前(2014-07-15)回复
  9. 博主是否用过obfuscated-openssh? 不知道这个有没有比shadowsocks好用,本人折腾了好久都弄不好,要是有详细的服务端安装和客户端使用的教程就好了。
    Benfans10年前(2014-07-14)回复
    • 这个本质上还是 ssh ,按照目前的形式来看,还是 Shadowsocks 好用些。
      秋水逸冰10年前(2014-07-14)回复
  10. 一键安装完了之后,your server ip显示是10.10.10.1,明显有问题,但是不知道哪里有问题。已经配置了一个openvpn,不知道跟这个有没有关系?
    尘岳10年前(2014-07-10)回复
    • 嗯,是脚本获取 vps 的公网 IP 逻辑有点问题,没有排除10开头的内网IP地址,回头我再改一下脚本。碰到这种情况手动改一下配置文件即可。
      秋水逸冰10年前(2014-07-11)回复
    • 获取公网 IP 的代码逻辑已经修改了。
      秋水逸冰10年前(2014-07-12)回复
  11. 跟之前的SSH类似的情况的一样,Shadowsocks现在也被干扰了。 第一天用着好好的,第二天就被墙盯上随后被干扰,速度时好时坏,频繁断线,换端口也没用。 我用的是广州电信现在就是这种情况,PPTP、L2TP、OpenVPN、Tor、SSH、Shadowsocks都不好使了博主还有哪些好的爬墙办法吗?这怪物真是不让人活了
    Benfans10年前(2014-07-03)回复
    • shadowsocks 的流量是无特征的,本质上就是个socks代理,所以有可能是你的 vps 的 IP 被办了,换一个再试试看吧。如果还不行的话,推荐一个叫红杏的工具(有Chrome插件)
      秋水逸冰10年前(2014-07-04)回复
  12. ssh已死了。 我的vps用的是centos 5.x,因为要用kloxo,它只能支持5,楼主这个一键安装包是for centos 6.x的吧,有没支持5.x的一键安装包?急需...THX
    00710年前(2014-06-29)回复
    • 没错,只能用在CentOS 6.x 上,如果你要在 CentOS 5.x 上用的话,需要手动升级 Python,gcc等软件的版本(比较麻烦,具体可网上搜寻教程)。又或者可以重新买个便宜的年付vps(安装CentOS 6.5专门爬墙),一年也就10美元左右。
      秋水逸冰10年前(2014-06-30)回复
      • 已经买了,装了CentOS 6.0 x86,已经成功用上shadowsocks了,速度不错,谢谢博主的教程
        00710年前(2014-06-30)回复
  13. 请问 我用 /etc/init.d/shadowsocks restart 重启之后 再马上用/etc/init.d/shadowsocks status 查看状态 却提示 shadowsocks is stopped 这会是什么原因呢?
    ejg10年前(2014-06-26)回复
    • 我这里测试过是正常的。 1、执行命令:ps -ef | grep -v grep | grep -v ps | grep -i '/usr/bin/python /usr/bin/ssserver' | awk '{print $2}' 2、查看是否存在 Shadowsocks 进程。若存在,kill 掉进程,执行命令: kill 第 1 步得到的进程PID 3、然后再次执行启动命令:/etc/init.d/shadowsocks start
      秋水逸冰10年前(2014-06-26)回复
  14. 端口改称443 启动失败,vps里面443端口也没被占用,不知道是什么原因。。。
    romotc10年前(2014-06-21)回复
    • 我自己测试了一下是可以的。执行命令:netstat -anp 查看端口占用情况,再次确认一下 443 端口。还有,如果开启了防火墙,对 443 端口放行。
      秋水逸冰10年前(2014-06-21)回复
  15. 上个错误是Pip没有安装,现在是新的问题: error: command 'swig' failed with exit status 1
    waxdoll10年前(2014-06-20)回复