之前用的一个别人分享的 Shadowsocks 被停用了,一上午没好好上个网。无奈之际正准备在 Digitalocean 上自己搭建一套 Shadowsocks 服务端的时候,又想起了 Koding,一个支持在线编程的免费 VPS,唯一遗憾的是该服务会自动断线,不能常驻,也许这就是免费的限制。

Koding 允许建立一个免费的虚拟机,配置如下

1 Core
1GB RAM
3GB Total Disk

大概是因为本来用途就不是拿来建站,所以也没有介绍流量是多少。

服务端

关于 ShadowSocks,最简单的一句描述就是:“一个可穿透防火墙的轻量代理”。下面介绍一下 Shadowsocks 的服务端的安装配置,以 Debian / Ubuntu 系统为例。

首先用 apt-get 命令安装 pip 和 m2crypto

apt-get install python-pip python-m2crypto

然后用 pip 安装 shadowsocks

pip install shadowsocks

然后需要在 /etc 目录下新建一个配置文件,命名为 shadowsocks.json

sudo vim /etc/shadowsocks.json
{
    "server":"服务器 IP 地址",
    "server_port":8388,
    "local_address": "127.0.0.1",
    "local_port":1080,
    "password":"password",
    "timeout":300,
    "method":"aes-256-cfb",
    "fast_open": false,
    "workers": 1
}

各字段的含义:

  • server: 服务器 IP (IPv4/IPv6),注意这也将是服务端监听的 IP 地址
  • server_port: 服务器端口
  • local_port: 本地端端口
  • password: 用来加密的密码
  • timeout: 超时时间(秒)
  • method: 加密方法,可选择 “bf-cfb”, “aes-256-cfb”, “des-cfb”, “rc4″, 等等。默认是一种不安全的加密,推荐用 “aes-256-cfb”

注意:在 Coding 上服务器IP地址只能是 0.0.0.0,否则会遇到 socket.error: [Errno 99] Cannot assign requested address 错误。( Coding 和其他 VPS 主要就是这点区别)

安装配置就完成了,然后就是在服务器上运行 Shadowsocks,命令如下:

ssserver -c /etc/shadowsocks.json

也可以用 nohup 来后台运行,还可以指定输出一个日志文件:

nohup ssserver -c /etc/shadowsocks.json /usr/local/bin/ssserver_log 2>&1&

客户端

在 Mac OS X 上,客户端我比较喜欢用 GoagentX,还支持PAC,按照配置项输入进去,浏览器也不用装插件就可以用了。

到这里 Shadowsocks 最基本的搭建和配置使用就可以了,当然如果还想做多用户、流量限制、速度限制、统计等等功能还需要做其他配置。