之前VPS上面一直在低位端口上面运行着shadowsocks-libev(C写的shadowsocks-libev)确实比Python版的速度快很多,内存占用也少了很多。来了公司上班之后,公司防火墙拦了大部分的端口,我的shadowscocks端口,也跪了,所以打算再开一个高位端口,在公司用。不要问我为什么不直接用一个高位端口。

shadowsocks-libev本身并不支持多端口,需要自己手动开两个进程。所以本着能不折腾就不折腾的原则,发现了shadowsocks-go。

安装
shadowsocks-go的安装很简单,你可以直接下载二进制文件,我选择从源码安装,首先你需要安装golang运行环境:

1
sudo apt-get install golang

然后配置GOPATH在.bashrc添加:

1
2
export GOPATH=/usr/gopath
PATH = $PATH:$GOPATH

安装shadowsocks-go:

1
2
3
4
# on server
go get github.com/shadowsocks/shadowsocks-go/cmd/shadowsocks-server
# on client
go get github.com/shadowsocks/shadowsocks-go/cmd/shadowsocks-local

根据你设置的GOPATH可能需要root权限

配置
多端口配置文件,具体参考shadowsocks-go Github主页

1
2
3
4
5
6
7
8
{
“port_password”: {
“8387”: “foobar”,
“8388”: “barfoo”
},
“method”: “aes-128-cfb”,
“timeout”: 600
}

运行

1
shadowsocks-server -c config.json

最后
你可以需要Supervisor之类的进程管理工具,帮你完成自动重启进程和开机自动启动等功能,当然你也可以自己写启动脚本。