之前VPS上面一直在低位端口上面运行着socks-libev(C写的socks-libev)确实比Python版的速度快很多,内存占用也少了很多。来了公司上班之后,公司防火墙拦了大部分的端口,我的scocks端口,也跪了,所以打算再开一个高位端口,在公司用。不要问我为什么不直接用一个高位端口。
socks-libev本身并不支持多端口,需要自己手动开两个进程。所以本着能不折腾就不折腾的原则,发现了socks-go。
安装
socks-go的安装很简单,你可以直接下载二进制文件,我选择从源码安装,首先你需要安装golang运行环境:
1
|
sudo apt-get install golang
|
然后配置GOPATH在.bashrc添加:
1 2 |
export GOPATH=/usr/gopath PATH = $PATH:$GOPATH |
安装socks-go:
1 2 3 4 |
# on server go get github.com/shadow/socks-go/cmd/socks-server # on client go get github.com/shadow/socks-go/cmd/socks-local |
根据你设置的GOPATH可能需要root权限
配置
多端口配置文件,具体参考socks-go Github主页
1 2 3 4 5 6 7 8 |
{ “port_password”: { “8387”: “foobar”, “8388”: “barfoo” }, “method”: “aes-128-cfb”, “timeout”: 600 } |
运行
1
|
socks-server -c config.json
|
最后
你可以需要Supervisor之类的进程管理工具,帮你完成自动重启进程和开机自动启动等功能,当然你也可以自己写启动脚本。