昨天有个逗比想让我写个 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版是新版本的这个。