墙下的暗影幽灵 — Shadowsocks 安装小记

Written by

in

最近 Google 再次被干扰之后,免费好用的 Goagent 也不太好用了,自由门和无界慢的出奇,VPNGate 不支持规则访问,导致国内网站浏览也慢的出奇,Lantern 被墙奸之后一直未能恢复元气,到现在连个能用的可靠版本也没发布,如今找个免费的翻墙工具都这么费劲,如果实在不想掏钱去买那些专业的商用翻墙服务,如果手头上空闲一台 VPS,如果对 Linux 系统命令行有一个基本的认识,那么你可以尝试一下 Shadowsocks

配置环境准备

  • 一台闲置的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 也是目前最为稳定的翻墙方式,如果你手上的 VPS 只挂有一个博客,不妨将闲置的资源安装上它遨游在自由的网络海洋之中。E


如果没有精力或心情去捣腾上面这些命令行的话,您可以给 Inkropes#gmail.com (将#替换为@)发送邮件,邮件标题包含“ F,Q,FQ, fanqiang,翻墙,墙”(不分大小写)等中的任意一个字样,即可获得免费提供的各种翻墙服务。

Connect ECONNREFUSED问题解决

由于更换服务器,重新搭建了SS服务器,用最新的 Shadowsocks 6.2客户端(Win)链接时,却总是提示“connect ECONNREFUSED”错误,百思不得其解,驱猫上网获得解决办法,具体如下:
用vi或者nano编辑器将 etc/shadowsocks/config.json 文件中的server地址由“服务器IP地址”或“127.0.0.1”变更为“0.0.0.0”即可