Shadowsocks Python版一键安装脚本

技术 秋水逸冰 2612188浏览 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. 请问怎么查看是否开启UDP转发?求解
    九局下半9年前(2015-10-10)回复
  2. 如何像windows下的客户端一样有负载均衡这些配置?或者说如何在配置文件里面配置多个服务器端?谢谢
    test9年前(2015-10-09)回复
  3. 请问一下楼主,如果要添加一个用户但是不影响当前已在配置文件中的用户正常使用应该怎么做。或者说只能重启服务,有直接重载配置文件的命令么。
    czp9年前(2015-10-08)回复
    • Shadowsocks 不是添加用户,而是添加端口。 添加端口只能重启 Shadowsocks。
      秋水逸冰9年前(2015-10-08)回复
  4. 你好晚安裝了 發生的錯誤是 --2015-10-07 20:24:49-- https://bootstrap.pypa.io/ez_setup.py Resolving bootstrap.pypa.io... 103.245.222.175 Connecting to bootstrap.pypa.io|103.245.222.175|:443... connected. HTTP request sent, awaiting response... 503 Service Unavailable 2015-10-07 20:24:50 ERROR 503: Service Unavailable.
    sisi9年前(2015-10-07)回复
  5. 网上看到的优化方案: “确保 ulimit -n 51200 在您的启动脚本中” 请问一下,用博主你的脚本安装的,应该加在哪个文件里呢?
    yy9年前(2015-10-07)回复
    • 加在 /etc/init.d/shadowsocks 文件的第 19 行即可。
      秋水逸冰9年前(2015-10-08)回复
  6. 遇到个错误,然后SSserver退出了 log日志为 ERROR [Errno 24] Too many open files ERROR /dev/urandom (or equivalent) not found 望大神赐教
    MRLL9年前(2015-09-28)回复
    • 估计你那 vps 是 Openvz 的。执行以下命令: ulimit -s unlimited
      秋水逸冰9年前(2015-09-29)回复
      • 谢谢 还真的是Openvz的 之前没用路由器搭无线的时候用的好好地,现在经常这样报这个错误.让我加这条指令测几天看看 博主有听说过hostus吗,我用了一个月,晚高峰都有100-200K的速度,感觉还不错 打算包年,怕被坑
        MRLL9年前(2015-09-30)回复
      • SSR版 遇到这个问题,使用ulimit -s unlimited 没有解决呀
        sl8年前(2016-03-15)回复
  7. conoha安装出错,提示如下: 已加载插件:fastestmirror, langpacks One of the configured repositories failed (未知), and yum doesn't have enough cached data to continue. At this point the only safe thing yum can do is fail. There are a few ways to work "fix" this: 1. Contact the upstream for the repository and get them to fix the problem. 2. Reconfigure the baseurl/etc. for the repository, to point to a working upstream. This is most often useful if you are using a newer distribution release than is supported by the repository (and the packages for the previous distribution release still work). 3. Disable the repository, so yum won't use it by default. Yum will then just ignore the repository until you permanently enable it again or use --enablerepo for temporary usage: yum-config-manager --disable 4. Configure the failing repository to be skipped, if it is unavailable. Note that yum will try to contact the repo. when it runs most commands, so will have to try and fail each time (and thus. yum will be be much slower). If it is a very temporary problem though, this is often a nice compromise: yum-config-manager --save --setopt=.skip_if_unavailable=true Cannot retrieve metalink for repository: epel-source/x86_64. Please verify its path and try again 已加载插件:fastestmirror, langpacks 请问如何解决?
    conoha9年前(2015-09-28)回复
  8. 您好,如果想ipv4/ipv6均可用,而不仅限于ipv4,需要做什么改动?
    Woocean9年前(2015-09-27)回复
  9. 请问卸载命令是什么??
    cush081129年前(2015-09-24)回复
  10. 你好 centos 6.4 用的Python 版本的 单用户是可以的 多用户就是连接不上呢 我直接复制你的配置文件ip也改了就是连接不上 。你的json我就改了一个ip 还有其他东西会影响这个吗。
    crack9年前(2015-09-22)回复
    • 多用户连接不上肯定是配置文件改错了。
      秋水逸冰9年前(2015-09-22)回复
      • { "server":"我的服务器地址", "local_address":"127.0.0.1", "local_port":2080, "port_password":{ "8989":"password0", "9001":"password1", "9002":"password2", "9003":"password3", "9004":"password4" }, "timeout":300, "method":"aes-256-cfb", "fast_open": false }
        crack9年前(2015-09-25)回复
      • 这就是我的配置文件 我想问那里错了 这个应该就是这样吧。
        crack9年前(2015-09-25)回复
        • 看你给出的配置文件应该是没问题的。 server最好还是改成0.0.0.0吧。 注意双引号。 总之,配置文件要符合 json 格式才行。
          秋水逸冰9年前(2015-09-25)回复
          • centos 7 系统用xshell 为什么我 配置文件没权限保存?vi /etc/shadowsocks-libev/config.json
            louisyoung9年前(2015-09-25)回复
            • 如果是 root 用户的话怎么会没有权限保存呢
              秋水逸冰9年前(2015-09-25)回复
  11. 博主你好,我使用的是搬瓦工的vps,它自带了shadowsocks一键安装,但是配置文件不在shadowsocks.json中,请问应该怎样配置使ss监听v6地址?
    Sean Pearce9年前(2015-09-21)回复
    • 搬瓦工自带的我没用过,所以我也不知道它的配置文件在哪。 改配置文件就能监听 ipv6 地址。server 改为 ::: 再重启ss
      秋水逸冰9年前(2015-09-21)回复
  12. 秋水逸冰老师,请问如何限制流量?能不能请求您发个教程?我谷歌了好久,要不就没有,要不就是太高级。
    kimme9年前(2015-09-17)回复
    • 不是太高级,是太麻烦。而人都是怕麻烦的。 我都是自己用,最多分享给一两个信得过的人,所以我从来都不限制流量。 因为自己没这个需求,所以就没研究过。抱歉哈。
      秋水逸冰9年前(2015-09-17)回复
      • 秋大,请问你那个一键安装脚本还有没有另外的下载地址了啊,你给的地址好像找不到啊,有没有类似网盘之类的呢
        橘子皮9年前(2015-09-20)回复
        • 代码托管在 Github,仅此一家别无分店。
          秋水逸冰9年前(2015-09-21)回复
  13. 成功了 CONOHA不知道为啥用CENTOS就无法连接 换debian好了
    A9年前(2015-09-12)回复
    • 我想可能是 centos 用的是 firewall ... 不是用的 iptables ...
      doobom9年前(2015-09-17)回复
    • firewall-cmd --permanent --add-port=你的端口/tcp firewall-cd --reload
      XuanYuan9年前(2015-10-01)回复
  14. 怎么开启UDP转发啊,以前都是默认开启的,今天新装的这个没有开启啊~
    chinesepy9年前(2015-09-12)回复
  15. 你好 博主帅哥 Python版一键安装脚本中的加密方式能不能加入 CHACHA20 等其他加密方式的选项 谢谢你 还有 一些介绍 SS优化的文章 是否脚本也能做进去 然后做个说明 脚本的功能呢
    cute20089年前(2015-09-12)回复