Shadowsocks-go一键安装脚本

技术 秋水逸冰 1139892浏览 701评论

本脚本适用环境:
系统支持:CentOS,Debian,Ubuntu
内存要求:≥64M
日期:2018 年 11 月 05 日

关于本脚本:
一键安装 Go 版的 Shadowsocks 最新版本 1.2.2。与 Python 版不同的是,其客户端程序能使用多个服务端配置,本脚本安装的是服务端程序。
友情提示:如果你有问题,请先参考这篇《Shadowsocks Troubleshooting》后再问。

默认配置:
服务器端口:自己设定(如不设定,默认从 9000-19999 之间随机生成)
密码:自己设定(如不设定,默认为 teddysun.com)
加密方式:自己设定(如不设定,默认为 aes-256-cfb)

Shadowsocks for Windows 客户端下载:
https://github.com/shadowsocks/shadowsocks-windows/releases

使用方法:
使用root用户登录,运行以下命令:

wget --no-check-certificate -O shadowsocks-go.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-go.sh
chmod +x shadowsocks-go.sh
./shadowsocks-go.sh 2>&1 | tee shadowsocks-go.log

安装完成后,脚本提示如下:

Congratulations, Shadowsocks-go 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/392.html
Enjoy it!

卸载方法:
使用 root 用户登录,运行以下命令:

./shadowsocks-go.sh uninstall

其他事项:
客户端配置的参考链接:https://teddysun.com/339.html

安装完成后即已后台启动 Shadowsocks-go ,运行:

/etc/init.d/shadowsocks status

可以查看 Shadowsocks-go 进程是否已经启动。
本脚本安装完成后,已将 shadowsocks-go 加入开机自启动。

使用命令:
启动:/etc/init.d/shadowsocks start
停止:/etc/init.d/shadowsocks stop
重启:/etc/init.d/shadowsocks restart
状态:/etc/init.d/shadowsocks status

多用户多端口配置文件示例:
配置文件路径:/etc/shadowsocks/config.json

{
    "port_password":{
         "8989":"password0",
         "9001":"password1",
         "9002":"password2",
         "9003":"password3",
         "9004":"password4"
    },
    "method":"your_encryption_method",
    "timeout":600
}

官方版本的示例 ,详见这里

更多版本 Shadowsocks 服务端一键安装脚本:
ShadowsocksR 版一键安装脚本(CentOS,Debian,Ubuntu)
Shadowsocks Python 版一键安装脚本(CentOS,Debian,Ubuntu)
CentOS 下 shadowsocks-libev 一键安装脚本
Debian 下 shadowsocks-libev 一键安装脚本
Shadowsocks 一键安装脚本(四合一)

更新日志:

2018 年 11 月 05 日:
基于当前 Github 上的最新代码,自主编译 x86 和 x86_64 二进制可执行文件,版本号 1.2.2。

2018 年 03 月 15 日:
基于当前 Github 上的最新代码,自主编译 x86 和 x86_64 二进制可执行文件。

2018 年 02 月 07 日:
修改:将默认端口从 8989 改为从 9000-19999 之间随机生成。

2017 年 07 月 22 日:
新增:安装时可选 9 种加密方式的其中之一。如下所示:

aes-256-cfb
aes-192-cfb
aes-128-cfb
aes-256-ctr
aes-192-ctr
aes-128-ctr
chacha20-ietf
chacha20
rc4-md5

2017 年 02 月 18 日:
基于当前 Github 上的最新代码,使用最新的 go 1.8 自主编译 x86 和 x86_64 二进制文件。

2017 年 02 月 13 日:
升级 Shadowsocks-go 版到版本 1.2.1(基于当前 Github 上的最新代码,用 go 1.7.5 自主编译完成的 x86 和 x86_64 二进制文件)。

2017 年 01 月 27 日:
更新 Shadowsocks-go 到版本 1.2.1(仅适用于 x86_64 系统,x86 系统仍是 1.1.5)。

2016 年 05 月 12 日:
新增在 CentOS 7 下的防火墙规则设置。

2016 年 05 月 04 日:
更新 Shadowsocks-go 到版本 1.1.5。

2015 年 08 月 01 日:
新增自定义服务器端口功能(如不设定,默认为 8989)。

2015 年 05 月 11 日:
更新 Shadowsocks-go 到版本 1.1.4。

2015 年 03 月 09 日:
新增支持在 Debian,Ubuntu 下安装。

2015 年 01 月 08 日:
修改了启动脚本 /etc/init.d/shadowsocks ,按照 CentOS 的 chkconfig 标准语法修改了一下(原来使用的是作者 Github 上自带的)。去掉了以 nobody 用户启动 shadowsocks 的方式,改为直接以当前登录用户直接启动(一般是 root 用户)。开机自启动,以及修改端口号提示无权限的问题已经解决。

参考链接:
https://github.com/shadowsocks/shadowsocks-go

转载请注明:秋水逸冰 » Shadowsocks-go一键安装脚本

发表我的评论
取消评论

请输入正确答案后提交评论 *超出时限。 请再次填写验证码。

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (701)

  1. ss客户端不能用了,提示无法修改注册表,怎么处理啊
    8年前(2016-06-07)回复
  2. 貌似最新版本的装搬瓦工之后防火墙出了问题。。造成我的非标准端口DNS不正常,之前的没有更改防火墙规则的也可以用,没问题。。。 系统是CentOS 7 mini版本
    aaaa8年前(2016-06-04)回复
    • 那你干脆关掉防火墙后再试试好了
      秋水逸冰8年前(2016-06-04)回复
      • 对不起,我搞错了,我的非标准端口突然是被干扰了,换个端口解决,为什么出现这种情况呢?这dns一直我自己用呀
        aaaa8年前(2016-06-04)回复
  3. 博主你好,非常感谢您的文章。之前自己安装python版不行,用了go版一键部署就ok了。不过我现在遇到个问题,我的vps是128M小内存的,然后我在使用中经常遇到无法代理,上去查看发现ss服务进程没了,重新开启ss服务就可以继续用了。我怀疑是vps内存太小的原因,可是我用free -m看感觉内存也没用很多,vps上也只装了ss和锐速,所以想问问您是否还有其他可能造成ss服务被关闭,是否有什么方法让ss被关后自动开启?谢谢。
    capq8年前(2016-05-31)回复
  4. 我这里ubuntu 14.04 64bit, vultr的主机 我安装了Go的版本,一直连不进去~~ 能帮忙看下吗? 安装过程都顺利
    余康正8年前(2016-05-30)回复
  5. 很方便的脚本 请问一下老司机是SSGO否支持搭建SS-PANEL进行管理
    Leochang8年前(2016-05-27)回复
  6. SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # run-parts 01 * * * * root run-parts /etc/cron.hourly 02 4 * * * root run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron.weekly 42 4 1 * * root run-parts /etc/cron.monthly 请问作者,我定时任务的crontab文件跟你说的不一样,是以上那样的,我要怎么添加下面这一句, 非常感谢。 */5 * * * * root bash /root/shadowsocks-crond.sh (用这句是不执行的)
    calvin8年前(2016-05-27)回复
    • 请确认你的系统是不是 CentOS 的,如果是其他系统,请自行搜索网上 crond 教程的写法。
      秋水逸冰8年前(2016-05-27)回复
  7. 你好,我在按照你的步骤安装之后无法启动,出现了错误, [root /]# /etc/init.d/shadowsocks status Could not find PID file /var/run/shadowsocks.pid, shadowsocks-go does not appear to be running [root /]# /etc/init.d/shadowsocks start starting shadowsocks-go /etc/init.d/shadowsocks: line 59: 467 Trace/breakpoint trap $BIN -c $CONFIG_FILE > /dev/null start failed 我已经重装了几遍,都提示同一个错误,看了一下/etc/shadowsocks/config.json中的配置文件为 { "server":"*.*.*.*", "server_port":443, "local_port":1080, "password":****, "method":"aes-256-cfb", "timeout":600 } 然后我认为配置没有问题,但是错误依旧,我想问一下这现在如何是好。重装的Centos 6 x86 需要先安装支持组件么 ?
    sun8年前(2016-05-21)回复
    • 搬瓦工的 VPS 的系统模版好像有问题,你换到 CentOS 7 应该就可以了。
      秋水逸冰8年前(2016-05-21)回复
      • 嗯,换成7问题解决,谢谢!
        sun8年前(2016-05-24)回复
      • 经测试 CentOS 6 X86_64也可以使用,感觉除了第一版之外好像都可以。
        sun8年前(2016-05-24)回复
  8. 为什么一打开就显示已停止工作,出现一个问题,请求关闭呢,是不是和昨天我安装putty有关呢,当时没设置好所以想用的这个
    王垒8年前(2016-05-20)回复
    • 还是那句话,问问题也是有技巧的,你这样问,我也不知道哪里有问题。
      秋水逸冰8年前(2016-05-21)回复
  9. 为什么一打开就显示已停止工作,请求关闭程序呢
    王垒8年前(2016-05-20)回复
  10. 你好 go版和L版不知为什么在我这能装上 使用没问题 但是开机启动没有 只能手动启动 麻烦问下 怎么样手动添加自启动 谢谢
    timmy8年前(2016-05-15)回复
    • 哎。 如果是 CentOS,命令如下: chkconfig --add shadowsocks chkconfig shadowsocks on 如果是 Ubuntu/Debian,命令如下: update-rc.d -f shadowsocks defaults
      秋水逸冰8年前(2016-05-16)回复
  11. 秋老师,反馈个问题。以前在两个OVZ的VPS上安装了之后,改成多用户的端口和密码,用客户端哪个都可以上。自从你更新了5月4日的版本之后,我在一个KVM和一个XEN内核的VPS上配置了,改完多用户的端口和密码之后,在客户端上切换了端口就上不了了,只能用初始安装的端口和密码,怎么回事。
    勇于挑战8年前(2016-05-14)回复
    • 你加了多端口,那就要把相应的端口在防火墙放行,这些需要你自己手动设置。 脚本初始安装都是单一端口,防火墙也只对那个单一端口放行的。
      秋水逸冰8年前(2016-05-15)回复
      • 问题解决了,谢谢秋老师
        勇于挑战8年前(2016-05-16)回复
  12. 是根据我电脑系统下载还是服务器系统下载呢
    wood8年前(2016-05-14)回复
  13. 请问下载的 新脚本怎么安装啊,老师
    wood8年前(2016-05-14)回复
  14. Vultr:虽然更新“新增在 CentOS 7 下的防火墙规则设置”。但是按照脚本搭建完以后还是需要自己按照“《CentOS 7下LAMP一键安装》一文,用经典的 iptables-services 来替代 firewalld ”来自己配置。无论哪个版本都是。以前旧版也是要自己加规则,go,libve都是。不知道是哪里出问题了。
    小28年前(2016-05-14)回复
    • 呃,是我的疏忽,已经修正,感谢反馈。 现在确实可以在 CentOS 7 下不用再手动设置 firewalld 规则了。
      秋水逸冰8年前(2016-05-14)回复
      • 在我的某个VPS上面,centos 7+firewalld,用GO版本的建立的SS就是不能链接(已经在firewalld里面手动开放端口了),用Libv的版本同样的就行。我猜你最新的脚本还是没有设置好firewalld的问题。
        Jerry8年前(2016-05-24)回复
        • 我严格测试过的,CentOS 7 下可以连接。 你确认下载的是最新版的脚本吗
          秋水逸冰8年前(2016-05-24)回复
  15. 谢谢博主的一键脚本,还有一事请教,已经安装了老版本,如何升级到最新版本?命令是如何的 ?
    wsjacky8年前(2016-05-11)回复
    • 先下载最新版本的脚本,后运行卸载命令卸载老版本,再次执行该脚本安装,然后就是最新版了
      秋水逸冰8年前(2016-05-12)回复
      • 请问老师,新版本怎么安装shadowsocks-local-linux64-1.1.5 能指导一下吗,
        wood8年前(2016-05-14)回复
        • 下载: https://github.com/shadowsocks/shadowsocks-go/releases/download/1.1.5/shadowsocks-local-linux64-1.1.5.gz 然后解压。 gzip -d shadowsocks-local-linux64-1.1.5.gz 将解压后的文件shadowsocks-local-linux64-1.1.5重命名为shadowsocks-local mv shadowsocks-local-linux64-1.1.5 shadowsocks-local 然后移动该文件到/use/bin/ 目录 mv shadowsocks-local /usr/bin/shadowsocks-local 赋予可执行权限 chmod +x /usr/bin/shadowsocks-local 这样就算是安装完成了。 至于如何使用,参考: https://github.com/shadowsocks/shadowsocks-go
          秋水逸冰8年前(2016-05-14)回复
          • 是下载本地win系统还是下载服务器linux系统,
            wood8年前(2016-05-14)回复
          • 我已经在服务器下载了,我不懂linux。 老师可以给我说个傻瓜式教程吗。
            wood8年前(2016-05-14)回复
            • 你为什么要用这个shadowsocks-local-linux64-1.1.5? 这个是用于 Linux 的客户端程序。 如果你要在 Windows 上用,那你应该下载 Windows 的客户端才对。你翻到文章最上面,就有个客户端下载,那就是用于 Windows 的。
              秋水逸冰8年前(2016-05-14)回复
              • 客户端电脑上有啊,我就想从之前的1.1.4升级到1.1.5。按老师的方法 wget https://github.com/shadowsocks/shadowsocks-go/releases/download/1.1.5/shadowsocks-local-linux64-1.1.5.gz 第一步骤 完成 解压后续就不会了
                wood8年前(2016-05-14)回复
          • 如何使用 秋水老师可以给个脚本吗。?
            wood8年前(2016-05-14)回复
            • 我想你还是没搞明白,Shadowsocks分为客户端和服务端。我写的所有脚本都是适用于服务端的。 你现在跟我说要下载shadowsocks-local-linux64-1.1.5,那这个明明是一个客户端。 那你又说,你电脑上有客户端。 搞不明白你到底想要干嘛呢? 如果你只是为了升级服务端的程序,下载最新版本的脚本,运行: ./shadowsocks-go.sh uninstall 先卸载了。 然后再次安装,服务端就是最新版了。
              秋水逸冰8年前(2016-05-15)回复
              • 已经 好了 谢谢秋水老师 、。
                wood8年前(2016-05-15)回复
              • 怎么样查看 服务端版本啊, 有命令吗
                wood8年前(2016-05-15)回复
                • Go 版命令如下: /usr/bin/shadowsocks-server --version
                  秋水逸冰8年前(2016-05-16)