昨天有个逗比想让我写个 Shadowsocks 一键管理脚本,我去查了下发现这么多年了,竟然还没有一个 一键管理脚本(可能有但没查到),目前网上流传的还是秋水逗比的一键安装脚本,想了下也没什么难得,正好闲的没事,就写个 Shadowsocks 一键管理脚本好了。
Shadowsocks 目前主要流行 C语言版 和 Go语言版,看了下两者相差不大,C语言版主要是多了个混淆插件功能(Go版也能通过独立运行方式使用用,不过我目前没打算加入),我喜欢 Go语言版的简洁无依赖,所以选了 Go语言版来写一键管理脚本。
Github 项目地址:https://github.com/shadowsocks/go-shadowsocks2
系统要求
CentOS 6+ / Debian 7+ / Ubuntu 14.04 +
脚本版本
Ver: 1.0.0
安装步骤
执行下面的代码下载并运行脚本。
- wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/ss-go.sh && chmod +x ss-go.sh && bash ss-go.sh
运行脚本后会出现脚本操作菜单,选择并输入 1
就会开始安装。
点击展开 查看更多
- [信息] 开始设置 用户配置...
- 请输入 Shadowsocks 端口 [1-65535]
- (默认: 443):
-
- ========================
- 端口 : 443
- ========================
-
- 请输入 Shadowsocks 密码 [0-9][a-z][A-Z]
- (默认: 随机生成):
-
- ========================
- 密码 : xxxxxx
- ========================
-
- 请选择 Shadowsocks 加密方式
-
- 1. aes-128-cfb
- 2. aes-128-ctr
- 3. aes-192-cfb
- 4. aes-192-ctr
- 5. aes-256-cfb
- 6. aes-256-ctr
- 7. chacha20-ietf
- 8. xchacha20
- 9. aes-128-gcm (AEAD)
- 10. aes-192-gcm (AEAD)
- 11. aes-256-gcm (AEAD)
- 12. chacha20-ietf-poly1305 (AEAD)
-
- [注意] chacha20 系列加密方式无需额外安装 libsodium,Shadowsocks Go版默认集成 !
-
- (默认: 12. chacha20-ietf-poly1305):
-
- ========================
- 加密 : chacha20-ietf-poly1305
- ========================
-
- 是否启用详细日志模式?[Y/n]
- 启用详细日志模式就可以在日志中看到链接者信息(链接时间、链接代理端口、链接者IP、链接者访问的目标域名或IP这些非敏感类信息)。
- (默认:N 禁用):
-
- ========================
- 详细日志模式 : NO
- ========================
-
- [信息] 开始安装/配置 依赖...
- [信息] 开始下载/安装...
- ...
- ...
- [信息] Shadowsocks 停止成功 !
- [信息] Shadowsocks 启动中...
- [信息] Shadowsocks 启动成功 !
-
- Shadowsocks 用户配置:
- ————————————————
- 地址 : X.X.X.X
- 地址 : X.X.X.X (IPv6)
- 端口 : 443
- 密码 : xxxxx
- 加密 : chacha20-ietf-poly1305
- 链接 [ipv4] : ss://xxxxx
- 二维码[ipv4] : http://doub.pw/qr/qr.php?text=ss://xxxxx
- 链接 [ipv6] : ss://xxxxx
- 二维码[ipv6] : http://doub.pw/qr/qr.php?text=ss://xxxxx
-
- 详细日志模式 : NO
使用说明
进入下载脚本的目录并运行脚本:
- ./ss-go.sh
然后选择你要执行的选项即可。
- Shadowsocks-Go 一键管理脚本 [vX.X.X]
- ---- Toyo | doub.io/ss-jc67 ----
-
- 0. 升级脚本
- ————————————
- 1. 安装 Shadowsocks
- 2. 更新 Shadowsocks
- 3. 卸载 Shadowsocks
- ————————————
- 4. 启动 Shadowsocks
- 5. 停止 Shadowsocks
- 6. 重启 Shadowsocks
- ————————————
- 7. 设置 账号配置
- 8. 查看 账号信息
- 9. 查看 日志信息
- 10. 查看 链接信息
- ————————————
-
- 当前状态: 已安装 并 已启动
-
- 请输入数字 [0-10]:
其他操作
启动:/etc/init.d/ss-go start
停止:/etc/init.d/ss-go stop
重启:/etc/init.d/ss-go restart
查看状态:/etc/init.d/ss-go status
安装目录:/usr/local/shadowsocks-go
配置文件:/usr/local/shadowsocks-go/shadowsocks-go.conf
日志文件:/usr/local/shadowsocks-go/shadowsocks-go.log
其他说明
关于chacha20_poly1305加密方式与客户端处名称不一致的解释
点击展开 查看更多
Shadowsocks Go版中的加密方式其中一个是 chacha20-poly1305(AEAD) ,而部分Shadowsocks客户端处没有这个加密方式。经过查询测试,发现部分Shadowsocks客户端中的 chacha20-ietf-poly1305(AEAD) 和 Shadowsocks Go版中的 chacha20-poly1305(AEAD) 是同一个加密方式。
只是命名不一致导致的,所以为了正常使用,我将脚本中的 chacha20-poly1305(AEAD) 改成 chacha20-ietf-poly1305(AEAD)。
不过正确写法的确应该是 chacha20-poly1305(AEAD),具体见:Github-issuse
提示wget: unknown host “raw.githubusercontent.com” 之类的错误
点击展开 查看更多
这是无法解析我的域名,多半是DNS的问题,请更换DNS为谷歌DNS(以下两行一起复制 一起执行)。
- echo -e "nameserver 8.8.8.8\nnameserver 8.8.4.4" > /etc/resolv.conf
提示 wget: command not found 的错误
点击展开 查看更多
这是你的系统精简的太干净了,wget都没有安装,所以需要安装wget。
- # CentOS系统:
- yum install -y wget
-
- # Debian/Ubuntu系统:
- apt-get install -y wget
升级脚本
升级脚本只需要重新下载脚本文件就可以了,会自动覆盖原文件。
更新日志
2018年11月07日,版本 v1.0.0
1. 推出 正式版。
转载请超链接注明:逗比根据地 » 『原创』Shadowsocks Go版 一键安装管理脚本
责任声明:本站一切资源仅用作交流学习,请勿用作商业或违法行为!如造成任何后果,本站概不负责!
不过如果太多的话,说明SS客户端创建了太多TCP链接,你需要检查一下本地是哪些软件链接了SS客户端(127.0.0.1 1080端口)。
而我脚本用的是这个版本的:https://github.com/shadowsocks/go-shadowsocks2
老版本不支持 AEAD加密方式之类的,而且最近一次 releases 更新还是17年1月,目前主流的 Go版是新版本的这个。