月下博客

『原创』Shadowsocks Go版 一键安装管理脚本

本文最后更新于 2018年11月7日 23:06 可能会因为没有更新而失效。如已失效或需要修正,请留言!

昨天有个逗比想让我写个 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版 一键安装管理脚本
责任声明:本站一切资源仅用作交流学习,请勿用作商业或违法行为!如造成任何后果,本站概不负责!