配置环境准备
- 一台闲置的VPS,可以使用免费试用一年的 Amazon EC2主机,也可以使用便宜的 DigitalOcean 的最低配新加坡主机
- VPS上预装好 linux 系统,可以是 Debain 或 Ubuntu,我们这里以流行的 Ubuntu 为例;
- 具备基本的命令行基础和纯文本编辑能力。
一、服务器端设置
首先确保系统安装了 Python 2.6 或2.7:
python --version
下面开始安装软件包:
apt-get install build-essential python-pip python-m2crypto python-dev pip install gevent shadowsocks
创建一个配置文件 /etc/shadowsocks.json
shadowsocks.json
"server":"服务器 IP 地址", #VPS的IP地址
"server_port":8388, #监听的端口
"local_address": "127.0.0.1", #本地监听的IP地址,默认为主机
"local_port":1080, #本地监听的端口
"password":"mypassword", #服务密码
"timeout":300, #用于加密的密码
"method":"aes-256-cfb", #加密方法,推荐 "aes-256-cfb"
"fast_open": false, #是否使用 TCP_FASTOPEN, true / false
"workers": 1 #worker 数量,Unix/Linux 可用,如果不理解含义请不要改
设置完毕保存配置文件,然后在命令行下输入:
ssserver -c /etc/shadowsocks.json
为了保证此项服务一直在后台运行,可以使用 Supervisor 工具:
新建 Supervisor 的配置文件:
nano /etc/supervisor/conf.d/shadowsocks.conf
shadowsocks.conf
[program:shadowsocks] command=ssserver -c /etc/shadowsocks.json autorestart=true user=nobody
继续编辑这个文件/etc/default/supervisor,并在文件末尾添加如下代码:
supervisor
ulimit -n 51200
更新服务,开始运行:
service supervisor start supervisorctl reload
下面的命令告诉你如何结束以及重新启动 Shadowsocks 服务:
supervisorctl stop shadowsocks supervisorctl start shadowsocks
你也可以通过下面命令来查看此进程的日志文件:
supervisorctl tail -f shadowsocks stderr
你也可以通过访问 VPS 的9001端口查看系统运行状态,关于 Supervisor 更多的命令使用可以参见《使用Supervisor将崩溃后的挖矿进程自动重启》这篇文章。
好了,服务器端的设置完毕了,下面进入客户端(本地)设置环节:
二、本地设置
服务器正常运行后,我们还需要在本地电脑上安装客户端进行转发,和使用 SSH 翻墙的原理如出一辙,首先根据本地电脑系统的情况进入此页面下载对应的客户端:
下载完成后运行,然后依次填入上面 shadowsocks.json 配置文件中的选项,然后保存,可以看到客户端提示已连接:

接下来我们需要再 Firefox 和 Chrome 客户端上安装好 AutoProxy 或 Proxy SwitchySharp 插件,然后进行如下设置:
协议: socks5 地址: 127.0.0.1 端口: 你填的 local_port 默认是1080
关于 Shadowsocks 本地客户端的设置写了一篇详尽文章供初学者参阅,详见:
Shadowsocks 本地客户端设置方法
好了,上述就是 Shadowsocks 服务器和本地设置的全过程,看起来好像很麻烦,其实仔细看来并不困难,目前 Shadowsocks 也是目前最为稳定的翻墙方式,如果你手上的 VPS 只挂有一个博客,不妨将闲置的资源安装上它遨游在自由的网络海洋之中。E
Connect ECONNREFUSED问题解决
用vi或者nano编辑器将 etc/shadowsocks/config.json 文件中的server地址由“服务器IP地址”或“127.0.0.1”变更为“0.0.0.0”即可