Shadowsocks Python版一键安装脚本

技术 秋水逸冰 2612189浏览 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. 这个怎么限制同一端口的设备数量
    john9年前(2015-11-21)回复
  2. 感谢您的分享,按照教程,顺利安装,愉快地Google了 但在配置多用户多端口时,不能成功,vultr的VPS,CentOS 6 x64 按照教程,修改了配置文件:/etc/shadowsocks.json 怎么都不行,好像配置文件没起作用 还在困惑中
    单行道9年前(2015-11-18)回复
    • 原因有三,要么配置文件错了;要么配置好了没有重启;要么对应的防火墙端口没开。
      秋水逸冰9年前(2015-11-18)回复
      • 我也遇到了,添加一次账户,要运行一次 你上面的步骤。 是不是权限不够啊?
        rodney9年前(2015-11-18)回复
      • 谢谢您的回复 配置文件检查过,核对过 每次试,都重启了 防火墙端口没开,这个没懂,在vultr上买的VPS 我是it外行,按教程可以玩玩,再深就不懂了 看到Google秒开,很开心 能配置多端口成功就更好了
        单行道9年前(2015-11-19)回复
      • 翻了翻前面的留言,老大提到: 重启服务的命令如下: 第一步kill掉原来的进程:killall ssserver 第二步启动:nohup ssserver -c /etc/config.json > /dev/null 2>&1 & 而我理解的重启: 重启:/etc/init.d/shadowsocks restart 是不是有不同呢,再试
        单行道9年前(2015-11-19)回复
        • 那是很久以前的用法,后来优化了后重启就是/etc/init.d/shadowsocks restart 既然你这么肯定配置文件没问题,那干脆关掉防火墙再试试吧。执行命令: /etc/init.d/iptables stop
          秋水逸冰9年前(2015-11-19)回复
          • 的确是防火墙的问题,/etc/init.d/iptables stop之后就好使了 再Google一下,了解怎么手动在防火墙开启响应端口 增加一个端口,9001,编辑了 /etc/sysconfig/iptables 添加了: -A INPUT -p tcp -m state --state NEW -m tcp --dport 9001 -j ACCEPT 重启防火墙 一切顺利 谢谢您
            单行道9年前(2015-11-20)回复
  3. 想询问下大大 使用该脚本后应该是没有开启udp(安卓客户端开启udp后全局上不了网,关了就好) 请问如何开启udp
    ygly9年前(2015-11-17)回复
  4. 博主,奉献到底吧,有可能的话,整理一篇Shadowsocks + obfsproxy 混淆的文章。
    假行僧9年前(2015-11-12)回复
  5. 请问python版是否已开启UDP转发
    yo9年前(2015-11-11)回复
  6. 从昨天下午开始ss怎么都上不了,换服务器都不行。 换手机中国联通的网络正常,在中国电信网内不行。
    老狼9年前(2015-11-10)回复
    • 那就不应该是服务端的问题了是不是。
      秋水逸冰9年前(2015-11-10)回复
      • 手机app可以FQ,就是电脑在电信网里面不行。
        老狼9年前(2015-11-10)回复
      • 有没有可能是GFW升级了?
        老狼9年前(2015-11-10)回复
        • 这个我怎么可能知道呢。 也许你换个vps测试一下就知道了。
          秋水逸冰9年前(2015-11-11)回复
  7. 博主你好!如果我的vps有ipv6和ipv4两个地址,能否给不同的地址分配不同的密码?如何分配?谢谢!
    laststellar9年前(2015-11-04)回复
    • 不好意思,是客户端的问题
      mcnulty9年前(2015-11-05)回复
  8. 老大,你有时间的话。看看这个客户端,他里面弄的一些混合协议。用你的脚本安装后是否支持呢 https://github.com/breakwa11/shadowsocks-rss 谢谢!
    飘云9年前(2015-10-30)回复
    • 脚本安装的是服务端(而且是官方版的),她那个是客户端,理论上是可以使用的(意思就是我没用过)。
      秋水逸冰9年前(2015-10-30)回复
      • 你看下他的说明,有一部分说明,如果要使用那些协议,他介绍了一个某人的版本呢
        飘云9年前(2015-10-30)回复
      • 获取源代码 git clone -b manyuser https://github.com/breakwa11/shadowsocks.git 执行完毕后此目录会新建一个shadowsocks目录,其中根目录的是多用户版(即数据库版),子目录中的是单用户版。 根目录即 ./shadowsocks 子目录即 ./shadowsocks/shadowsocks 希望出个一键脚本
        ice9年前(2015-11-01)回复
      • https://github.com/breakwa11/shadowsocks-rss/wiki/Server-Setup(manyuser) 这是作者源码的详细说明,先谢谢啦
        ice9年前(2015-11-01)回复
  9. 大大觉得这句话有道理吗 server_port:表示ss客户端连接你的服务器使用的端口号,如果你的vps不做https站点,那可以尽量使用443端口或者80端口,这样不会收到QOS的干扰,可以让ss速度最大化 谢
    金岳霖9年前(2015-10-30)回复
  10. 谢谢分享一键脚本.. 已开启ss代理.
    便宜vps9年前(2015-10-27)回复
  11. Shadowsocks Python版一键安装脚本能加入ipv6的支持吗?
    Xio9年前(2015-10-25)回复
    • 本身就是支持 ipv6 的,脚本只是负责安装而已。
      秋水逸冰9年前(2015-10-26)回复
  12. 发现加在 /etc/init.d/shadowsocks 文件的第 19 行不起作用,找到一篇文章参考,加在/etc/profile内就生效了
    newnew9年前(2015-10-15)回复
  13. 默认开启了udp转发了吗?
    tukela9年前(2015-10-14)回复
  14. 博主您好!我在vultr的东京节点使用您当前的一键安装包架设,完成信息提示正常。但是访问不了谷歌等网站,显示502。ss日志显示我vps地址超时。先前在其他地方看着教程搭建Python版的也是同样问题,可以请教一下到底是什么地方出错了吗?万分感谢!
    lin9年前(2015-10-13)回复
  15. 能否增加对 Amazon Linux 的一键安装的支持 ,自己在网上搜了好多文章,自己捣鼓成功了,希望能一件安装,下面是我的方法 sudo yum install -y python-setuptools sudo easy_install pip sudo pip install shadowsocks sudo mkdir /etc/shadowsocks sudo vim /etc/shadowsocks/config.json { "server":"0.0.0.0", "server_port":1194, "local_address":"127.0.0.1", "local_port":1080, "password":"asto!@#123456", "timeout":600, "method":"aes-256-cfb", "fast_open":false, "workers": 1 } 保存 sudo /usr/local/bin/ssserver -c /etc/shadowsocks/config.json -d start netstat -tunlp 设置开机启动 设置好了,但是如果只是这样,那每次都要手动启动ss,太麻烦。可以将其加到开机启动项。 putty输入vi /etc/rc.local,然后将里面的最后带有ssserver的删除(双击字母d),然后加入ssserver -c /etc/shadowsocks.json -d start,再wq保存退出。开机试试效果吧,正常的话,就设置完成了。 其他说明 非root用户运行ss 按照上面的设置shadowsocks是以root权限运行的,不是很安全,可以这样设置。 sudo useradd ssuser //添加一个ssuser用户 sudo ssserver [other options] --user ssuser //用ssuser这个用户来运行ss 其中的[other options]是只,之前启动ss的命令,比如ssserver -c /etc/shadowsocks.json -d start。这样就可以使用非root用户来运行ss了。 然后修改开机启动项,将之前的ssserver -c /etc/shadowsocks.json -d start改为ssserver -c /etc/shadowsocks.json -d start --user ssuser,然后保存就OK了。
    feng9年前(2015-10-11)回复