如何部署shadowsocks服务

在以前的文章中,我们讲到了可以利用 SSH 的端口转发特性实现网络代理的功能。但是由于 SSH 通讯特征明显,很容易被防火墙截获和阻断,因此我们需要借助专用的代理服务工具实现稳定的网络连接。shadowsocks 就是在这一应用背景下孕育而生。有服务器(VPS)的童鞋们,可以按照本文的步骤搭建自己专属的 shadowsocks 服务。


在服务器上安装 shadowsocks 十分简单,我推荐使用 pip 完成安装过程。pip 是一个 python 扩展包的管理程序。如果你还没有安装 pip, 请先执行如下的指令

[适用于 CentOS/Fedora/RedHat/OpenSUSE]

1
sudo yum install python-setuptools && easy_install pip

[适用于 Debian/Ubuntu]

1
sudo apt-get install python-pip

有了 pip 之后,安装 shadowsocks 就是很简单的事情了

1
pip install shadowsocks


下面,我们还需要添加一些设置才能让 shadowsocks 按照我们期望的方式工作。

首先,创建一个配置文件 /etc/shadowsocks.json, 输入如下信息

1
2
3
4
5
6
7
8
9
10
{
"server": "YOUR_SERVER_IP",
"server_port": SERVER_PORT,
"local_address": "127.0.0.1",
"local_port": LOCAL_PORT,
"password": "YOUR_PASSWORD",
"timeout": 300,
"method": "aes-256-cfb",
"fast_open": false
}

其中 YOUR_SERVER_IP 是本服务器的 IP 地址,SERVER_PORTLOCAL_PORT 是服务器和客户端监听的转发端口号,可以填写 1025 - 65535 间的任何数字。YOUR_PASSWORD 是客户端使用 shadowsocks 服务时需提供的密码。

下一步,保存配置文件(需要 root 权限才能执行此操作),使用如下的指令启动 shadowsocks 服务

1
ssserver -c /etc/shadowsocks.json -d start

如果你想停用 shadowsocks, 只需要输入

1
ssserver -c /etc/shadowsocks.json -d stop


在服务器上成功启动 shadowsocks 服务之后,就可以去他们在 GitHub 的官方主页下载相应的客户端了。shadowsocks 分别提供了Windows版,Android版和OSX/iOS客户端。使用方法较为简单,本文就不再做详细介绍了。

关于修改应用程序的代理服务器设置,请参考之前的文章