Shadowsocks Python版一键安装脚本

技术 秋水逸冰 2473333浏览 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. 你好,以下错误: Error: Your OS is not supported. please change OS to CentOS/Debian/Ubuntu and try again. 系统信息(uname -a) Linux 2.6.39 #1 SMP PREEMPT Mon Feb 13 05:45:01 CST 2017 i686 unknown 请问怎么解决?谢谢!
    vin7年前(2017-03-06)回复
    • @vin. Your OS is not supported....你能不能先百度下再来,这尼玛小学的英语就能知道意思的,你问什么问。 或者你确实在蠢,有首先谷歌、百度和查词典,这两步都不知道要做,能不能把你有多 low 先说出来???
      笨驴7年前(2017-03-07)回复
  2. 我用python版在cent06 32位,openvz上运行,弄到congratulations那步,用的vi配置用户文件,这个是系统弹出来的,也就不可能出错啊,客户端确定没问题, { "server":"0.0.0.0", "server_port":8989, "local_address":"127.0.0.1", "local_port":1080, "password":"******", "timeout":300, "method":"aes-256-cfb", "fast_open":false } 然后发现没有开那个服务 [root@67777777777777777777 ~]# killall ssserver ssserver: no process killed 服务器能ping出来,但是更新GFWlist是错误的,当然也不能翻墙。 [root@67777777777777777777 ~]# netstat -anp Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address Stat e PID/Program name tcp 0 0 0.0.0.0:8989 0.0.0.0:* LIST EN 537/sshd tcp 0 0 148.163.48.220:8989 58.208.250.234:16046 ESTA BLISHED 16772/sshd tcp 0 0 148.163.48.220:8989 58.208.250.234:14470 ESTA BLISHED 555/sshd tcp 0 0 :::8989 :::* LIST EN 537/sshd Active UNIX domain sockets (servers and established) Proto RefCnt Flags Type State I-Node PID/Program name Pat h unix 2 [ ACC ] STREAM LISTENING 724599352 1/init @/com/ubuntu/upstart unix 2 [ ] DGRAM 724599605 130/udevd @/org/kernel/udev/udevd unix 4 [ ] DGRAM 724600267 517/rsyslogd /dev/log unix 2 [ ] DGRAM 724820992 16772/sshd unix 2 [ ] DGRAM 724605943 555/sshd unix 3 [ ] DGRAM 724599609 130/udevd unix 3 [ ] DGRAM 724599608 130/udevd 重启显示ss 启动成功,但是一查状态又是stopping。防火墙直接关闭了。 也用了libev版,终于能kill出pid,状态也是running,但是服务器ping没有,。。一样链接不上
    a67年前(2017-03-05)回复
  3. 请问在输入第一个代码出现wget unable to resolve host address "chmod" wget unable to resolve host address "+x" name or service unknown
    Ulifi7年前(2017-02-21)回复
    • 检查 DNS 设置先。 cat /etc/resolv.conf 如果该文件内容为空,或者为其他的。一般改为以下: nameserver 8.8.8.8 nameserver 8.8.4.4
      秋水逸冰7年前(2017-02-22)回复
  4. 请问使用这个脚本在centos上安装ss服务器端后,如何查看当前使用的ss服务器端的版本?有什么命令吗?
    mana7年前(2017-02-14)回复
  5. [2017-02-04 14:43:28] System.Net.Sockets.SocketException: 提供了一个无效的参数。 在 System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress) 在 System.Net.Sockets.Socket.InternalBind(EndPoint localEP) 在 System.Net.Sockets.Socket.BeginConnectEx(EndPoint remoteEP, Boolean flowContext, AsyncCallback callback, Object state) 在 System.Net.Sockets.Socket.BeginConnect(EndPoint remoteEP, AsyncCallback callback, Object state) 在 Shadowsocks.Controller.Handler.StartConnect() 请问这是什么问题呢?
    LeoSuMou7年前(2017-02-04)回复
  6. 报告,我安装过程中,ssh自动掉线了
    Eric7年前(2017-02-02)回复
  7. 请问秋大这个版本如何开启udp转发
    mk477年前(2017-01-25)回复
  8. 您好,请问为什么配置多用户之后 还是只有原来的能用
    Klpa7年前(2017-01-15)回复
  9. 谢谢博主,很简单,很受用
    classictang7年前(2017-01-10)回复
  10. 显示启动成功 为什么google等外网登不上
    大脸猫7年前(2017-01-04)回复
  11. 是删了吗?一键包无法下载,传以前的包上去也无法安装
    1237年前(2017-01-02)回复
  12. 你好,用了一键包,安装成功以后,还是没法用,在服务器上面 提示也启动成功了,电脑上面的客户端也配置好了,用另外的一个 账号就可以登录,可是换到配置好的服务器上面的,就是没法,请教是什么问题呢
    feng897年前(2016-12-30)回复
    • 你这描述的有点玄学的意思:) 要我猜原因么?我也不知道哇(逃
      秋水逸冰7年前(2016-12-30)回复
      • 配置完了,也提示成功了,但是就是怎么也连不上
        miao7年前(2017-01-22)回复
  13. 多用户配置不好用,写入完后重启。。只有最开始的单用户是好用的
    喵喵7年前(2016-12-29)回复
    • 嗯,你需要在防火墙里,将其他端口也放行才行。
      秋水逸冰7年前(2016-12-29)回复
      • 要怎么打开其他端口的防火墙
        hel7年前(2017-04-17)回复
  14. Error: libselinux conflicts with systemd-container-208.20-6.el7.centos.x86_64 You could try using --skip-broken to work around the problem You could try running: rpm -Va --nofiles --nodigest 大神,这个怎么解决啊?
    天天7年前(2016-12-27)回复
    • Google 上搜索一下,还有这个提示已经给出来了,不是么。
      秋水逸冰7年前(2016-12-27)回复
  15. INFO: loading config from /etc/shadowsocks.json 2016-12-21 20:26:31 INFO loading libcrypto from libcrypto.so.10 2016-12-21 20:26:31 ERROR already started at pid 10806 Starting Shadowsocks failed 大神 这个是怎么回事
    Hadsital8年前(2016-12-22)回复