Shadowsocks (简体中文)
Shadowsocks是一个轻量级socks5代理,以python写成;
Contents
安装
可自[community]中安装已打包好的shadowsocks。
| shadowsocks | shadowsocks基本包; |
| libsodium python2-numpy python2-salsa20 |
Salsa20和Chacha20支持; |
配置
shadowsocks以json为配置文件格式,以下是一个样例:
/etc/shadowsocks/config.json
{
"server":"remote-shadowsocks-server-ip-addr",
"server_port":443,
"local_address":"127.0.0.1",
"local_port":1080,
"password":"your-passwd",
"timeout":300,
"method":"aes-256-cfb",
"fast_open":false,
"workers":1
}
| server | 服务端监听地址(IPv4或IPv6) |
| server_port | 服务端端口,一般为443
|
| local_address | 本地监听地址,缺省为127.0.0.1
|
| local_port | 本地监听端口,一般为1080
|
| password | 用以加密的密匙 |
| timeout | 超时时间(秒) |
| method | 加密方法,默认的table是一种不安全的加密,此处首推aes-256-cfb
|
| fast_open | 是否启用TCP-Fast-Open |
| wokers | worker数量,如果不理解含义请不要改 |
客户端
在config.json所在目录下运行sslocal即可;若需指定配置文件的位置:
# sslocal -c /etc/shadowsocks/config.json
服务端
在服务器上cd到config.json所在目录:
- 运行
ssserver; - 如果想在后台一直运行,可改执行:
nohup ssserver > log &;
以守护进程形式运行客户端
Shadowsocks的systemd服务可在/etc/shadowsocks/里调用不同的conf-file.json(以conf-file为区分标志),例:
在/etc/shadowsocks/中创建了foo.json配置文件,那么执行以下语句就可以调用该配置:
# systemctl start shadowsocks@foo
若需开机自启动:
# systemctl enable shadowsocks@foo
以守护进程形式运行服务端
以上只是启动了客户端的守护进程,如果架设的是服务器,则需要:
# systemctl start shadowsocks-server@foo # systemctl enable shadowsocks-server@foo
加密
可选的加密方式:
- aes-256-cfb: 默认加密方式
- aes-128-cfb
- aes-192-cfb
- aes-256-ofb
- aes-128-ofb
- aes-192-ofb
- aes-128-ctr
- aes-192-ctr
- aes-256-ctr
- aes-128-cfb8
- aes-192-cfb8
- aes-256-cfb8
- aes-128-cfb1
- aes-192-cfb1
- aes-256-cfb1
- bf-cfb
- camellia-128-cfb
- camellia-192-cfb
- camellia-256-cfb
- cast5-cfb
- chacha20
- idea-cfb
- rc2-cfb
- rc4-md5
- salsa20
- seed-cfb
Chrome/Chromium
至此,本地监听端口127.0.0.1:1080已配置完毕。现以Chrome/Chromium为例,示范使用代理服务器的方法。
请安装 Proxy SwitchyOmega插件(SwitchySharp已停止开发),若商店打不开的话可以直接下载Github上面的crx文件可参考该扩展提供的图解流程。
直接参考 SwitchySharp+shadowsocks-nodejs Windows 下配置介绍 的第二部分”设置浏览器代理扩展“即可。或者参考我的配置@2015.02.04文件即可,支持自动通过gfwlist自动切换。