Shadowsocks Python版一键安装脚本

技术 1212798 次围观 1314 次吐槽

本脚本适用环境:
系统支持: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版一键安装脚本

发表评论
取消评论
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
表情

已有评论 (1314)

  1. Ubuntu下安装(EC2免费主机),提示如下: pip install failed! Please visit https://teddysun.com/342.html and contact.
    waxdoll5年前 (2014-06-20)回复
    • 亲,这个脚本只能在 CentOS / Redhat / Fedora 这 3 种系统下的。如果你想在 Ubuntu 下使用,请参考《Debian下shadowsocks-libev一键安装脚本
      秋水逸冰5年前 (2014-06-20)回复
      • 请原谅我的小白,现在已经安装上了,将config.json serverip设置为 0.0.0.0 可以启动服务,但不能成功代理,无法访问google.com 但若不设置为0.0.0.0 则提示* shadowsocks is not running; EC2上,要设置为Private IP?
        waxdoll5年前 (2014-06-20)回复
        • EC2 我没测试过,但 serverip 是要设置成你这个 VPS 的公网 IP 的。
          秋水逸冰5年前 (2014-06-20)回复
  2. 博主,应该注明一下加密方式哦~我试了好几次才知道是256加密
    徐子子子子5年前 (2014-06-17)回复
    • 提醒的对,我在文章里加一下配置文件的说明。
      秋水逸冰5年前 (2014-06-17)回复
  3. 你好,我搭建了Python版本的shadowsocks之后,防火墙都已经设置好了,设置好goagentx 和switchysharp后一直上不去,在osx系统的Goagentx下提示:error: 0 2014-06-15 11:36:11 ERROR: getaddrinfo: Undefined error: 0,请指教。
    Jason5年前 (2014-06-15)回复
    • 如果按照教程一步步设置下来出的错,建议你点此链接去询问 Shadowsocks 的作者 clowwindy,并且最好是附上完整的错误日志以便分析原因。
      秋水逸冰5年前 (2014-06-15)回复
  4. shadowsocks 搭建成功, 可是本地一直连接不上。
    小马5年前 (2014-06-13)回复
    • 搭建成功本地却连接不上,本地客户端有什么错误提示么?还有,服务器端如果开了防火墙,对 8989 端口放行了么?
      秋水逸冰5年前 (2014-06-14)回复
  5. 感谢站长,终于将shadowsocks弄好了。请问在有shadowsocks的情况下,还可以在Centos 6 中再搭建一个VPN吗?会不会影响稳定性?新手,望解答。谢谢!
    互联网不错5年前 (2014-06-12)回复
    • 可以搭建,不冲突的。Shadowsocks 和 VPN 可以共存在同一台服务器上。
      秋水逸冰5年前 (2014-06-12)回复
  6. 如何设置成 和 SwitchySharp对接! 这个一连上就是全局了!
    handuck5年前 (2014-06-04)回复
    • 下载客户端,安装,设置,运行。在 SwitchySharp 的选项中新建个 profile,socks Host 填 127.0.0.1,Port 填 1080,并选中 SOCKS v5,保存即可。然后将 SwitchySharp 切换一下你配置好的 profile 就可以了。
      秋水逸冰5年前 (2014-06-04)回复
  7. 您好,卸载重新安装的话,如果修改了密码,配置文件会有重复配置,导致无法连接,删除里面多余的配置就可以了 /etc/config.json
    黯然过客5年前 (2014-05-07)回复
    • 此为之前版本卸载时的一处 bug ,现已修复。如果需要重新安装,请下载最新的脚本来卸载和安装。
      秋水逸冰5年前 (2014-05-07)回复
  8. shadowsocks相比较ssh 建的VPN哪个稳定快速?
    wafox5年前 (2014-05-06)回复
    • ssh 在国内多数已经被封,所以目前 shadowsocks 是最佳选择。本站提供 2 种方式的 shadowsocks 安装脚本,选其一安装即可。
      秋水逸冰5年前 (2014-05-06)回复
  9. 以前我是手动配置的,现在有一键脚本好多了
    追梦5年前 (2014-04-30)回复
    • 购买VPS后,建议先yum -y update一下,然后再执行这个脚本。本脚本会自动yum安装所需的各种依赖包。
      秋水逸冰5年前 (2014-04-30)回复
  10. youtube视频能打开页面,不能播放视频!怎么办?
    chen5年前 (2014-03-30)回复
    • 我的所有的美国VPS安装后,都可以打开youtube视频。
      秋水逸冰5年前 (2014-03-31)回复
    • 逸冰老师,您好,我想问一下,一台vps上面可以同时配置两种不同的类型的shadowsocks吗?还有我是用winscp管理和编辑文件的。 如果直接使用putty的vi命令,修改shadowsocks.json之后怎么保存,百度上说,按esc,然后输入wp,但是我直接按esc,putty没反应,然后就卡住不动了。。望老师解答
      L4年前 (2014-08-23)回复
      • 理论上是可以多开的。只需配置不同的配置文件,开启不同的端口即可。 关于 vi 命令,打开文件后按 Insert 键开启编辑模式,修改完了后按 esc 键,然后再输入 ZZ (两个大写字母z)即可保存退出。
        秋水逸冰4年前 (2014-08-23)回复
    • 非常好,谢谢
      ysdytd4年前 (2014-10-05)回复
    • 非常好用,一次成功,用搬瓦工做的,VPN和SS都做了,性价比高,速度好,移动设备VPN,PC用SS局部代理,非常方便。
      wn4年前 (2014-10-12)回复
    • 博主,配置shadowsocks.json文件是不是必须要在putty界面下输入 vi /etc/shadowsocks.json?我使用的一键安装脚本,想自己试着修改配置文件的加密方式为rc4-md5,但一直不成功。似乎就是卡在vi(或者vim)的使用方式上。
      vv14044年前 (2014-10-14)回复
      • vim 只是编辑器的一种,你也可以安装 nano ,这个操作起来比较简单一点。 yum install -y nano
        秋水逸冰4年前 (2014-10-14)回复
  11. 请问加密方式是?怎样改?怎样加入自启动功能?有没有必要加一个监测程序防止断线?
    chen5年前 (2014-03-30)回复
    • 加密方式:aes-256-cfb,在配置文件/etc/config.json中的method可以修改。 至于如何自启动和监测,可以在网上找相关教程。
      秋水逸冰5年前 (2014-03-31)回复
  12. 请问如何重启服务呢?
    lilbgae5年前 (2014-03-26)回复
    • 重启服务的命令如下: 第一步kill掉原来的进程:killall ssserver 第二步启动:nohup ssserver -c /etc/config.json > /dev/null 2>&1 &
      秋水逸冰5年前 (2014-03-26)回复
  13. 有木有Ubuntu的~?
    TERRY5年前 (2014-03-25)回复
    • 该脚本用于CentOS,最好是6.x版本的。Ubuntu的可以去网上找一下别的脚本。
      秋水逸冰5年前 (2014-03-26)回复
  14. 飘过,学习~~
    便宜VPS5年前 (2014-02-24)回复
  15. 很邪恶的东西~
    无纯洁5年前 (2014-02-17)回复