Shadowsocks服务端安装和配置
shadowsocks是一个十分方便安装和配置的代理工具。官网是:http://shadowsocks.org 这里记录一下,shadowsocks的安装和配置的过程,方便以后的查阅。这里使用的是python版本的shadowsocks。
首先安装shadowsocks,使用pip可以方便的安装:
pip install shadowsocks
安装完成之后,这时候就会发现我们的系统里多了一些命令,主要需要用到的是 ssserver 这个工具。 使用 ssserver -h
可以查看其具体的用法。
ssserver -s 127.0.0.1 -p 8388 -k password -m aes-256-cfb --workers 10 -t 300 -q -d start
上述命令就可以以后台程序的方式启动shadowsocks服务,其中监听的端口是8388,密码是password,加密方式是aes-256-cfb,其他的参数使用ssserver -h
就能看到。
这里介绍另一种配置文件的方式,新建一个文件,比如叫config.json
,内容为:
{
"server":"::",
"server_port":8388,
"local_address": "127.0.0.1",
"local_port":1080,
"password":"password",
"timeout":300,
"method":"aes-256-cfb",
"workers": 2,
"fast_open": false
}
如果希望支持多个端口的话,可以参考一下的配置:
{
"server":"::",
"local_address": "127.0.0.1",
"local_port":1080,
"port_password": {
"10000": "password0",
"10001": "password1",
"10002": "password2"
},
"timeout":300,
"method":"aes-256-cfb",
"workers": 2,
"fast_open": false
}
这里需要注意的是,"server"
字段填写的是"::"
,这样可以同时监听ipv4和ipv6的地址,如果你的服务器同时支持ipv4和ipv6的话,那么你就可以通过代理顺便完成ipv4和ipv6的相互转换了。其他的参数可以按照自己的喜好去填写,加密方式也可以改成其他的更有效的方式。 启动方式现在变成了:
ssserver -c /path/to/config.json -d start
Shadowsocks客户端
客户端下载: http://shadowsocks.org/en/download/clients.html
上述网址安卓版需要用Google Play下载,国内可以使用github的release程序:
https://github.com/shadowsocks/shadowsocks-android/releases
BBR安装
据说安装可以对服务器进行网络加速,我也试了一下,可能服务器本来就很快吧,没什么特别的感觉。
可以参考教程:https://q.aka.moe/2017/01/28/google-bbr/
这里简单复制一下我使用的操作: 使用root用户登录,运行以下命令:
wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh
chmod +x bbr.sh
./bbr.sh
安装完成后,脚本会提示需要重启VPS,输入y
并回车后重启。重启完成后,进入 VPS,验证一下是否成功安装最新内核并开启 TCP BBR,输入以下命令:
uname -r
查看内核版本,含有 4.9 就表示 OK 了。
sysctl net.ipv4.tcp_available_congestion_control
返回值一般为: net.ipv4.tcp_available_congestion_control = bbr cubic reno
sysctl net.ipv4.tcp\_congestion\_control
返回值一般为: net.ipv4.tcp_congestion_control = bbr
sysctl net.core.default_qdisc
返回值一般为: net.core.default_qdisc = fq
lsmod | grep bbr
返回值有tcp_bbr
模块即说明bbr已启动。
开机启动
这里使用的是CentOS7,修改rc.local
文件实现。原理这里不解释,我也是查的,不适用于其他的操作系统。
首先赋予rc.local
可执行权限:
chmod +x /etc/rc.local
然后修改/etc/rc.local
文件,在下面增加我们需要执行的内容,我这里就比较简单的添加了启动ss服务的脚本:
/usr/bin/ssserver -c /path/to/shadowsocks/config.json -d start
建议全部写上绝对路径,免得系统找不到我们的程序和配置文件。
utorrent配置代理
现在以utorrent为例,需要在“网络”中设置代理。shadowsocks默认的socks5代理地址是127.0.0.1:1080
。最终的配置如下图: