Shadowsocks Python版一键安装脚本

技术 秋水逸冰 2608532浏览 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. 博主你好 我根据你的帖子成功搭建SS 也能顺利运行 但在设置多用户时候不知道怎操作 “配置文件路径:/etc/shadowsocks.json”这个我打开后不会如何编辑 但删除键位或者其他键位完全没有反映 我是用putty的 求知道
    arbell9年前(2016-01-22)回复
    • 你可以用winscp把配置文件下载回来,改好后,再上传覆盖。 当然,最好还是学学怎么用 vim 改文件。
      秋水逸冰9年前(2016-01-23)回复
  2. 您好,请教一下python版多用户失败(配置文件通过),只有一个8989端口可用可能是什么原因呢?防火墙,进程什么的都正常。
    Megumi9年前(2016-01-22)回复
  3. 搞不清 aws上到底是装 python, libdev 还是node js 版的 ss?
    rc9年前(2016-01-21)回复
  4. 输入:/etc/init.d/shadowsocks start 出现: INFO: loading config from /etc/shadowsocks.json 2016-01-19 10:48:43 INFO loading libcrypto from libcrypto.so.1.0.0 started shadowsocks start success 但运行/etc/init.d/shadowsocks stop,显示shadowsocks is not running 请问这是什么情况呢?
    gxm9年前(2016-01-19)回复
    • 运行 ps -ef 确认一下进程是否还在运行后,再执行此命令试试看?
      秋水逸冰9年前(2016-01-19)回复
  5. 博主你好,得知ssr一键脚本放出,装了个试试,ubuntu系统下一切正常,可是centos下加密方式一旦改成salsa20,重启ss服务会提示以下错误,能否帮忙判断下是什么问题,centos系统版本Linux version 2.6.32-042stab094.8 (root@kbuild-rh6-x64) (gcc version 4.4.6 20120305 (Red Hat 4.4.6-4) (GCC) ) #1 SMP Tue Dec 16 20:36:56 MSK 2014 "method":"salsa20", "protocol":"origin", "protocol_param":"", "obfs":"plain", "obfs_param":"", "redirect":"", "dns_ipv6":false, "fast_open":false, "workers":1 } ~ ~ ~ ~ ~ "/etc/shadowsocks.json" 18L, 374C written [root@amazon ss]# /etc/init.d/shadowsocks restart loaded collections.OrderedDict IPv6 support INFO: loading config from /etc/shadowsocks.json stopped ShadowsocksR stop success loaded collections.OrderedDict IPv6 support INFO: loading config from /etc/shadowsocks.json Traceback (most recent call last): File "/usr/local/shadowsocks/server.py", line 191, in main() File "/usr/local/shadowsocks/server.py", line 38, in main config = shell.get_config(False) File "/usr/local/shadowsocks/../shadowsocks/shell.py", line 280, in get_config check_config(config, is_local) File "/usr/local/shadowsocks/../shadowsocks/shell.py", line 130, in check_config encrypt.try_cipher(config['password'], config['method']) File "/usr/local/shadowsocks/../shadowsocks/encrypt.py", line 44, in try_cipher Encryptor(key, method) File "/usr/local/shadowsocks/../shadowsocks/encrypt.py", line 87, in __init__ random_string(self._method_info[1])) File "/usr/local/shadowsocks/../shadowsocks/encrypt.py", line 114, in get_cipher return m[2](method, key, iv, op) File "/usr/local/shadowsocks/../shadowsocks/crypto/sodium.py", line 71, in __init__ load_libsodium() File "/usr/local/shadowsocks/../shadowsocks/crypto/sodium.py", line 40, in load_libsodium 'libsodium') File "/usr/local/shadowsocks/../shadowsocks/crypto/util.py", line 83, in find_library lib = CDLL(path) File "/usr/lib/python2.6/ctypes/__init__.py", line 353, in __init__ self._handle = _dlopen(self._name, mode) OSError: libsodium.so.18: cannot open shared object file: No such file or directory ShadowsocksR start failed
    红领巾9年前(2016-01-18)回复
    • 有这种加密方式么?应该是chacha20吧
      秋水逸冰9年前(2016-01-19)回复
      • 有salsa20这种加密方式啊,我昨天又试了一下,在ubuntu14.04上能用,ubuntu15.10上也不能用,bwg的vps
        红领巾9年前(2016-01-20)回复
      • 在你的提醒下,我又试了一次,chacha20也只能用在ubuntu14.04下,centos6和ubuntu15.10下都不能用
        红领巾9年前(2016-01-21)回复
  6. 请问一下我按照你的教程很顺利的在VPS服务器上部署了shadowsocks,平时用的都很好,但是每天晚上23点左右就会有半小时左右的时间VPS服务器达到流量顶峰,持续半小时左右服务器断线,服务器ip也ping不通,过5分钟左右又好了,我已经先后换了两台VPS服务器了,内存都是1G的,都一样,我搭建SS用来游戏的,很是烦恼
    xlxt9年前(2016-01-17)回复
    • 你有没有想过也许是你本地网络的问题呢?
      秋水逸冰9年前(2016-01-17)回复
  7. 大大,我用ROOT登陆 ,配置/etc/shadowsocks.json是提示 Permission denied,配置多用户时也这样 求助求助...
    wkjiang9年前(2016-01-14)回复
  8. 谢谢你的解答与建议。
    Fangfang9年前(2016-01-13)回复
  9. 还是不明白怎么删除已有用户或者给已有用户改端口密码
    nuisance9年前(2016-01-12)回复
    • 修改配置文件
      秋水逸冰9年前(2016-01-13)回复
      • 不会修改配置文件。。。想改密码就重装
        nuisance9年前(2016-01-14)回复
  10. 秋大,ss 运行时间久了占用内存过大导致进程被 kill 了,应该只导致ss停止运行,为什么本地笔记本运行putty软件后登录不上我的VPS服务器呢?另外此款vps内存是小,但VPS控制面板显示内存使用率最高也只占43%啊?
    Fangfang9年前(2016-01-11)回复
    • 具体原因不清楚,也有可能是被服务商暂停,alpharacks的vps名声并不是很好,尤其是这种超低价的。
      秋水逸冰9年前(2016-01-12)回复
  11. 看了之前的评论,请无视上一条,贸然发问真是抱歉
    bluegg9年前(2016-01-11)回复
  12. 看了以前的评论,无视上一条吧,抱歉了
    bluegg9年前(2016-01-11)回复
  13. 老大,多用户多端口如何控制每个用户的流量大小呢?
    bluegg9年前(2016-01-11)回复
  14. Python版的SS有新版本了,支持OTA。 https://github.com/shadowsocks/shadowsocks/tree/feature-ota 求更新一键安装脚本。
    小白白9年前(2016-01-11)回复
  15. 秋大:快帮帮我! 我在你的网页上点击链接进入搬瓦工网站发现现在没有这款套餐了,然后我又通过别人的博客推荐(http://www.meowfly.info/?p=69)现在买了个很优惠的2.99刀一年的vps(https://www.alpharacks.com/),现在按照你的教程很顺利的在VPS服务器上部署了shadowsocks,然后通过此代理我笔记本上的chrome浏览器可以在YouTube网站上流畅的看1080P的视频,观看1个半小时后视频就卡住了,点击本地shadowsocksR客户端里的菜单-服务器连接统计弹出对话框,里面显示服务器连接出错比例百分之百,然后我运行PuTTY软件登录我的VPS服务器,怎么也登录不上,没有办法我用chrome浏览器登录我的VPS控制面板发现64M内存也只占用11.54M,CentOS系统状态为Online,点击reboot按钮重新启动CentOS 6 x86系统后,运行PuTTY软件后我很快就登录了我的VPS服务器,输入命令/etc/init.d/shadowsocks status后显示running,重新刷新YouTube网站页面又可以流畅的看视频了,一个多小时后又进入下一次循环,我跟VPS供应商客服交流了两天,配合她们又是截图又是测试到现在也没找到原因郁闷死了,每次要在VPS控制面板上重启CentOS 6 x86系统后才能翻墙感觉太痛苦了。秋大,少壮不努力,一生在内地,我现在很想努力只是水平太菜了,你一定要帮帮我。
    Fangfang9年前(2016-01-10)回复
    • 我想应该是这个套餐的 vps 内存太小,ss 运行时间久了占用内存过大导致进程被 kill 了。 建议换个大一点的内存的 vps 吧。
      秋水逸冰9年前(2016-01-11)回复