原文链接: https://techllage.com/techllage/131-shadowsocks-go (已挂)
今天又来发教程了……过几天复习忙起来了就发不了了,干脆趁这个周日晚上发出来吧。
今天我来介绍一下 shadowsocks-go 的配置教程。
昨天我写的教程主要讲了Shadowsocks-libev/Shadowsocks-python的教程。这两款是开发进度最快,最稳定的版本。而shadowsocks-go的优点在于,它可以实现服务端配置多用户,甚至客户端配置多服务器。
因此实用价值是很高的。不过配置难度稍微大一些。
(未完待续)
我的实验环境:Techllage的服务器,centos 7 x64版本,Golang 1.4。整个过程只需要一个SSH客户端,电脑上手机上都可以很容易地部署。
打开 Golang 官方下载页:https://golang.org/dl/
下载你需要的版本。由于我们服务端在linux下,因此使用的版本是:go1.4.linux-amd64.tar.gz
我们很容易得到一个下载链接。
现在我们用 SSH 软件连接 VPS.
例如,在 /root 目录执行以下命令:
wget https://storage.googleapis.com/golang/go1.4.linux-amd64.tar.gz --no-check-certificate
下载到一个 tar.gz 安装包
tar zxvf go1.4.linux-amd64.tar.gz
得到一个名为 Go 的文件夹。
之后执行:
mv go /usr/local/go
此时你的Go环境已经安装,但是还需要环境变量的配置。
修改 /etc/profile:
vi /etc/profile
在文件的底部,添加这样的环境变量配置:
#Go Configuration
export GOROOT=/usr/local/go
#这是你Go的安装目录
export GOARCH=amd64
#这是你的处理器类型……例如i386,amd64
export GOOS=linux
#这是你的操作系统类型。
export GOPATH=root/workstation/go
#这是你的 Go 项目文件夹,如果我们采用已经编译完成的软件包,就不需要这个
export PATH=$GOROOT/bin:$PATH
#你的Go命令文件夹,请保持默认……
source /etc/profile
然后,执行
go version
出来了版本号就说明Go部署成功了.
如果你不想编译,请略过这一步……
svn - Subversion, download at: http://subversion.apache.org/packages.html
hg - Mercurial, download at http://mercurial.selenic.com/wiki/Download
git - Git, download at http://git-scm.com/downloads
bzr - Bazaar, download at http://wiki.bazaar.canonical.com/Download
我们需要的是Git和HG
yum install git -y
yum install '*mercurial*'
当然还有GCC...yum install gcc
如果想用现成的版本,直接看6~
go get github.com/shadowsocks/shadowsocks-go/cmd/shadowsocks-server
注意你环境变量 export GOPATH
目录的权限问题!
打开 root/workstation/go/bin
。这就是你的shadowsocks安装目录……
http://dl.chenyufei.info/shadowsocks/
下载你需要的版本。然后
gzip -d 文件名
就输出shadowsocks执行文件了
Shadowsocks-go在启动时会扫描当前目录下的config.json文件。于是你需要在它的安装目录创建一个config.json:
如果你没有特殊的需求,这样写:
{
"server":"104.224.155.124",
"server_port":55555
"password":“1111”
"timeout":600,
"method":"rc4-md5"
}
让 shadowsocks-go 保持后台运行的最佳方法是:
./shadowsocks-server > log &
[如果在启动ss时,提示bash: ./shadowsocks-server: Permission denied
执行 chmod -R 777 shadowsocks-server
]
实现方式:用port password 替代server_port 和password字段。
实例:
{
"server":"104.224.155.124",
"port_password":
{
"23331": "ss1",
"23332": "ss2",
"23333": "ss3"
},
"timeout":600,
"method":"rc4-md5"
}
实现方式一样很简单:用 server_password 替换原有的 Server,Server_port,method和passwd字段。
实例:
{
"local_port": 1080,
"server_password": [
["127.0.0.1:8387", “ss1", “rc4-md5”],
["127.0.0.1:8388", "ss2", "aes-128-cfb"]
]
}
还没有人评论,抢个沙发吧...