Shadowsocks Python版一键安装脚本

技术 秋水逸冰 2192905浏览 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下shadowsocks一键安装脚本Python 版 , LAMP一键yum安装脚本 建wp的网站, 这两个脚本能不能同时安装在同一个vps上,我想vps弄个网站,同时vps也可设置代理上外国站。
    king10年前(2014-10-18)回复
  2. 执行/etc/init.d/shadowsocks restart或者/etc/init.d/shadowsocks stop 就提示 /etc/init.d/shadowsocks: line 32: kill: (3774) - No such process shadowsocks stop failed chrome提示无法连接到代理服务器。。。。 求教!!!!
    艾晓风10年前(2014-10-17)回复
    • 从错误提示看,是 Shadowsocks 启动后进程被杀,所以就会停止失败。 重新启动一下试试看。 /etc/init.d/shadowsocks start 再执行netstat -anp 看看是否有在监听 8989 端口。
      秋水逸冰10年前(2014-10-17)回复
  3. 问下,如果想改加密方式,这个版本是在/etc/shadowsocks.json下改成RC4-MD5 加密方式,就可以了吗 感谢,用的非常好。
    温耐普10年前(2014-10-14)回复
  4. 能够全局代理吗? 还是只用在浏览器中,vpn就能全局代理。
    king10年前(2014-10-10)回复
    • 在浏览器里实现局部代理,如想全局代理,可以通过 Proxifier 把 ssh、shadowsocks 代理转为全局代理。
      秋水逸冰10年前(2014-10-10)回复
      • 例如,我是用firefox, Proxifier 是不是指autoproxy? 在autoproxy 里设置全局模式就行?
        king10年前(2014-10-11)回复
        • Proxifier 和 autoproxy 是两回事。你用这关键字 Proxifier 去搜一下不就知道了么。
          秋水逸冰10年前(2014-10-11)回复
          • 搜了看了,还是不太明白。是不是这样理解, Proxifier指shadowsocks-gui ,用shadowsocks-gui 里可以设置为全局代理?
            king10年前(2014-10-11)回复
            • Proxifier 和 shadowsocks-gui 不一样。shadowsocks-gui 是客户端软件,用于加密连接 Shadowsocks 的服务端。 Proxifier 是一个能把本地 socks5 代理变成全局代理的一款软件,类似于 VPN 是全局代理。 至于用法,自己去找教程即可。
              秋水逸冰10年前(2014-10-11)回复
  5. Python 版 和 libev 版 有什么不同?
    king10年前(2014-10-03)回复
  6. 谢谢啊, 我就是按照你的教程配置好了shaowcocks。 现在爽死了
    idodoyo10年前(2014-09-25)回复
  7. 请问下,怎么修改密码呢
    温耐普10年前(2014-09-18)回复
    • 是不是vi shadowsocks.json这个文件里的密码就可以了
      温耐普10年前(2014-09-18)回复
  8. 在配置文件中更改密码后连接不上!
    jih10年前(2014-09-18)回复
    • 配置文件里该完密码后还要重启一下。 /etc/init.d/shadowsocks restart
      秋水逸冰10年前(2014-09-18)回复
      • 表示更改后重启也不行!
        jih10年前(2014-09-18)回复
        • 恢复了,可以了!
          jih10年前(2014-09-18)回复
  9. CentOS release 5.9 (Final) 安装报错 pip install failed! Please visit https://teddysun.com/342.html and contact.
    haisun10年前(2014-09-10)回复
    • 不支持在 CentOS 5.x 下安装,原因是 gcc 及 Python 版本过低。建议换到 CentOS 6.x 下安装。
      秋水逸冰10年前(2014-09-10)回复
      • 已经更新到6.5 现在安装成功了 。客户端显示的 458ms connecting 42.121.55.146:8989 但是配置proxy代理之后访问不到google 在服务器上ping google.是没问题的! { "server":"42.121.55.146", "server_port":8989, "local_address": "127.0.0.1", "local_port":1080, "password":"sunhai", "timeout":600, "method":"aes-256-cfb", "fast_open":false, "workers":1 } 请测试 服务器是阿里云的服务器!
        haisun10年前(2014-09-11)回复
        • 国内访问不了 google,你用的是阿里云自然也是访问不了的。换为墙外的 VPS 即可。
          秋水逸冰10年前(2014-09-11)回复
  10. pip install failed! Please visit https://teddysun.com/342.html and contact. 第一次安装没有成功!
    haisun10年前(2014-09-10)回复
  11. 怎么改了服务器端口后,无法启用啊。
    灵尘子10年前(2014-08-27)回复
    • 改完端口后需要重启一下。同时防火墙要对该端口放行。
      秋水逸冰10年前(2014-08-27)回复
      • 重启了服务,但是显示启动错误。
        灵尘子10年前(2014-08-27)回复
        • 什么样的错误提示,请描述清楚一点。
          秋水逸冰10年前(2014-08-27)回复
  12. 您好,请问我一个VPS有多个IP,如何才可以实现用多个ip都可以利用到?
    弱者10年前(2014-08-20)回复
    • 复制配置文件 /etc/shadowsocks.json 为 /etc/shadowsocks1.json,修改其中的 server 后的 IP 为其他的公网 IP,修改 server_port 为 8989 以外的端口,比如 9001 。如果开启了防火墙,需要放行新的端口号。 然后手动启动新的配置文件的一个进程。执行:nohup /usr/bin/python /usr/bin/ssserver -c /etc/shadowsocks1.json > /dev/null 2>&1 &
      秋水逸冰10年前(2014-08-20)回复
  13. /etc/init.d/shadowsocks status 检测状态显示stopped,但是实际上是在运行的,是不是有问题?
    test10年前(2014-08-17)回复
    • 启动的时候没有使用该命令或者出错了,建议重启试试,同时,该命令在 CentOS 7 下不可用。
      秋水逸冰10年前(2014-08-17)回复
  14. 谢谢你的一键安装包,我在VPS上搭建成功了,很给力~
    灵尘子10年前(2014-08-16)回复
  15. 开机自启是用 supervisor实现的么? 如果同时开启 会冲突吗?
    Tony10年前(2014-08-10)回复
    • 开机自启是用 nohup 来实现的,但在 CentOS 7 下测试是不行的。
      秋水逸冰10年前(2014-08-10)回复