Shadowsocks Python版一键安装脚本

技术 秋水逸冰 2608062浏览 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. 感谢楼主分享,省去了好多事情
    淫听羽息10年前(2015-01-25)回复
  2. 你好 linux下的ss客户端怎么安装呢
    腾云互联10年前(2015-01-24)回复
    • 你安装好这个,那就意味着客户端也安装好了。 /usr/bin/sslocal 就是了。
      秋水逸冰10年前(2015-01-24)回复
  3. 求解 WARNING: certificate common name `www.github.com' doesn't match requested host name `raw.githubusercontent.com'.
    Van10年前(2015-01-24)回复
    • 因为是 https 方式下载,github 证书问题导致的和域名不匹配,就会出现这样的一个警告信息,无碍。
      秋水逸冰10年前(2015-01-24)回复
      • 问个小白问题,/etc/shadowsocks.json 这个文件怎么改……命令怎么输- -!
        Van10年前(2015-01-24)回复
        • 使用 nano 或者 vim 都是可以的,具体的你可以去找找教程来看。
          秋水逸冰10年前(2015-01-24)回复
          • 好奇怪,说是开启成功了,再看状态又是失败的 [root /]# /etc/init.d/shadowsocks restart shadowsocks is not running INFO: loading config from /etc/shadowsocks.json shadowsocks start success Exit code: 0 [root /]# /etc/init.d/shadowsocks status shadowsocks is not running Exit code: 1 [root /]# /etc/init.d/shadowsocks start INFO: loading config from /etc/shadowsocks.json shadowsocks start success Exit code: 0 [root /]# [root /]# /etc/init.d/shadowsocks status shadowsocks is not running Exit code: 1
            Van10年前(2015-01-24)回复
  4. 你好,请问你这个脚本的日志存放在哪里呢?var/log里找不到日志文件啊。
    fly10年前(2015-01-23)回复
    • 出于安全的原因,本脚本默认是不写日志的。
      秋水逸冰10年前(2015-01-23)回复
  5. 您好 刚才搜了个解决方案 然后成功了 我自己写了一个一键安装的脚本,在EC2测试过,没有问题,先下载到 home,然后修改权限,再执行即可。密码在里边 123456,修改成你想要的。 https://raw.githubusercontent.com/raofeng/shadowsocks/master/shadowsock.sh 另外,我现在也在EC2上面安装了,用的免费试用的,访问网页速度不错,视频就太卡了。
    xyx10年前(2015-01-23)回复
  6. 老大你好0 0 总是显示shadowsocks 安装成功 之后又提示安装失败 重新安装也不行。用的amazon ec2 Ubuntu 所有的dependencies 都已经按照Ubuntu的形式安装了0 0
    xyx10年前(2015-01-23)回复
    • 在 Amazon EC2 ,百度云,青云上启动失败,连接不上怎么办? 在这类云 VPS 上搭建,需要注意,配置服务器端时,应使用内网IP;Amazon EC2 缺省不允许 inbound traffic,需要在security group里配置允许连接的端口,和开通SSH client连接类似,这个在 Amazon EC2 使用指南里有说明。同样的,青云,百度云也差不多,默认不允许入网流量,网卡绑定的是内网IP,因此需要将配置文件里的 server 值改为对应的内网 IP 后再重新启动。然后在云管理界面,允许入网端口。 另,本脚本仅应用于 CentOS 系统,Ubuntu 参照《Debian 下 shadowsocks-libev 一键安装脚本
      秋水逸冰10年前(2015-01-23)回复
  7. 这个脚本支持CHACHA20不?
    Hunter10年前(2015-01-23)回复
    • 脚本只是把安装 Shadowsocks 的过程一键化而已,如果作者表示支持这种加密方式,那就是一定支持的。
      秋水逸冰10年前(2015-01-23)回复
      • “如果要使用 salsa20 或 chacha20 或 chacha20-ietf 算法,请安装 libsodium ”这是网上找到的一段话,我试过了,如果使用chacha20加密,不安装的的就无法启动ss
        qzqqsq8年前(2016-06-04)回复
        • 没错。 需要安装 libsodium 才能使用 chacah20 在 《ShadowsocksR一键安装脚本》里,是自动安装 libsodium 的。 该版本作者已经因为你懂的原因,不再继续更新,建议使用 SSR 版本。
          秋水逸冰8年前(2016-06-05)回复
  8. 请问装完后要修改端口 密码 在PUTTY下输什么命令,谢谢,第一次用PUTTY,小白一个
    robbert10年前(2015-01-20)回复
  9. shadowsocks是否可以像类似nginx那样实现平滑重启呢? 谢谢
    FF625010年前(2015-01-16)回复
    • 平滑重启确实没有。
      秋水逸冰10年前(2015-01-16)回复
      • 我现在遇到的问题就是大家共用一台凑钱买了个服务器fq用,但是新加入账号时会导致正在用的朋友断流。;(
        FF625010年前(2015-01-16)回复
        • 这里涉及到一个端口占用的问题,而不是像 pptp那样加个用户名密码就行了,如果不重启,那么新加的那些端口就没法处在监听状态下。除非是你为每个用户都建个配置文件,然后分别启动一个进程。
          秋水逸冰10年前(2015-01-16)回复
  10. 感谢分享,已经使用上了。
    小z10年前(2015-01-11)回复
  11. 谢谢楼主!加密方式换成 rc4-md5 速度方面会不会好点??
    bios10年前(2015-01-10)回复
    • 其实加密方式的差别微乎其微,几十毫秒而已。换不换看个人。
      秋水逸冰10年前(2015-01-10)回复
      • 好的 非常感谢!
        bios10年前(2015-01-11)回复
  12. 能否制作一个go版的一键脚本? 听说go版的有特殊buff
    orz10年前(2015-01-05)回复
    • 我翻一下 go 版本,其功能和 python 版基本一致,不同的是 go 版本可以在同一客户端上使用多个服务端配置(难道这就是特殊 buff 么)。 还有就是 go 版本默认推荐 aes-128-cfb 加密,说是足够用了。
      秋水逸冰10年前(2015-01-05)回复
  13. /shadowsocks自动关闭。命令里输入/etc/init.d/shadowsocks start 提示success 输入/etc/init.d/shadowsocks status 提示stopped
    sherlock10年前(2015-01-04)回复
    • ps -ef 看看有没有 /usr/bin/python /usr/bin/ssserver -c /etc/shadowsocks.json 进程。 很有可能是配置文件错误,虽然提示成功,但实际上进程并没有起来。
      秋水逸冰10年前(2015-01-04)回复
  14. 不知为啥,链接上去后访问被qiang页面全是504错误 写的是未知错误
    LjxPrime10年前(2015-01-03)回复
    • 有用的信息太少,你可以描述得再详细一点。最好包含:系统;IP信息;配置文件;进程查看情况;端口监听情况。 还有就是,vps 的 ip 是否本身就被墙了。vps 本身能否访问外网。等等。
      秋水逸冰10年前(2015-01-03)回复
      • 恩恩。系统CentOS6 32bit IP就是服务器IP,配置文件是脚本生成的我没改过,进程和端口都有。 实在不知道是啥办法,然后我就重装了Debian7 然后用Debian的脚本,这回就可以了,很奇怪。
        LjxPrime10年前(2015-01-04)回复
  15. 一键安装后,vi /etc/shadowsocks.json这个是空文件,我来我自己补全的信息。保存后,运行/etc/init.d/shadowsocks start,提示没有这个文件。怎么回事呢?
    dome10年前(2015-01-03)回复
    • 如果没有这个配置文件,说明没有安装成功,所以你手动创建也是没用的。
      秋水逸冰10年前(2015-01-03)回复