平台:DigitalOcean上的Ubuntu 14.04
安装
apt-get install python-pip
pip install Shadowsocks
服务器配置
服务端安装好以后,创建一个配置文件 /etc/shadowsocks.json。 示例:
{
"server":"服务器 IP 地址",
"server_port":8388,
"local_address": "127.0.0.1",
"local_port":1080,
"password":"mypassword",
"timeout":300,
"method":"aes-256-cfb",
"fast_open": false,
"workers": 1
}
各个字段的意思:
字段名 | 含义 |
---|---|
server | 服务端监听的地址,服务端可填写 0.0.0.0 |
server_port | 服务端的端口 |
local_address | 本地端监听的地址 |
local_port | 本地端的端口 |
password | 用于加密的密码 |
timeout | 超时时间,单位秒 |
method | 默认 "aes-256-cfb",参见加密方法 |
fast_open | 是否使用 TCP_FASTOPEN, true / false |
workers | worker 数量,Unix/Linux 可用,如果不理解含义请不要改 |
在服务器上运行
ssserver -c /etc/shadowsocks.json
即可。
可以用命令行参数覆盖
config.json
中的设置:本地客户端使用sslocal -s server_addr -p server_port -l local_port -k password -m bf-cfb ssserver -p server_port -k password -m bf-cfb --workers 2 ssserver -c /etc/shadowsocks
/config.json
用
-h
查看所有参数。
不同的端口可以使用不同的密码实现多用户访问
{
"server": "127.0.0.1",
"local_port": 1081,
"port_password": {
"8381": "foobar1",
"8382": "foobar2",
"8383": "foobar3",
"8384": "foobar4"
},
"timeout": 60,
"method": "aes-256-cfb"
}
查看shadowsocks进程 ps -ef | grep shadowsocks
让程序后台运行 setsid ssserver -c /etc/shadowsocks.json
ipv6设置(需要测试一下)
Google一圈发现Shadowsocks服务器也会读取config.json的server字段,所以如果填写的是IPv4地址的话,ss-server就只会在IPv4地址上监听,通过IPv6连接肯定就会不成功。修改一下config.json,其中server字段为:
"server": "::",
然后再重新启动一下Shadowsocks的服务端:
ss-server -c config.json -f /var/run/shadowsocks.pid
通过-f指定pid文件的方式使ss-server运行在后台,在CentOS里ss-server的输出将重定向到/var/log/messages,启动后可以通过netstat -nlp查看监听的端口,如果有:::SERVER_PORT(SERVER_PORT是ss-server监听的端口)就说明成功了。
shadowsocks的github地址:
https://github.com/clowwindy/shadowsocks
Comments
Post a Comment