Shadowsocks 的是一个 Socks 代理服务器软件,这里不多说它是做什么用的。

由于速度和延迟的原因,我使用 shadowsocks 会偶尔换不同 VPS 供应商的服务器。这是第一个头疼的地方:需要找个速度稳定的服务商。这里我试过很多,改天有时间专门写篇文章可以简单介绍下。第二个头疼的地方就是,每次安装都需要现找安装方法,很是麻烦。所以这次我把安装的过程记录下来,希望能帮助看到这篇文章的读者们。

先找好云服务或者 VPS 提供商,开好实例。这里我选择用 Ubuntu 16.04。实例的大小其实按照最小的实例就足够用,有 512M 内存的就选 512M 内存的,没有就选 1G 的实例就好。各家服务商开实例的过程略有不同,这里略过不表。

我们从开好实例后 ssh 登录上服务器开始。下面假设使用 root 账户登录。

  1. 安装 python:

    1
    
    $ apt install python

    确保 python 是 2.6 或 2.7 版本。

    1
    2
    
    $ python --version
    Python 2.7.12
  2. 安装 pip(python 的包管理程序)

    1
    
    $ apt install python-pip
  3. 安装 shadowsocks

    1
    
    $ pip install shadowsocks
  4. 创建 shadowsocks 的配置文件

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    
    $ echo '{
        "server”:”0.0.0.0",
        "server_port":22222,
        "local_address": "127.0.0.1",
        "local_port":1080,
        "password”:”密码",
        "timeout":300,
        "method":"aes-256-cfb",
        "fast_open": false
    }' > /etc/shadowsocks.json

    上述命令会创建好配置文件。注意密码部分自己设置一个专用密码即可,监听的端口、加密方式和超时时间等参数,也可以根据自己的需要进行调整。

  5. 启动 shadowsocks 服务

    1
    
    $ ssserver -c /etc/shadowsocks.json -d start
  6. 查看服务是否启动成功

    通过日志查看:

    1
    
    $ less /var/log/shadowsocks.log

    通过进程查看:

    1
    2
    
    $ ps -ef | grep ssserver
    root      7575     1  0 05:15 ?        00:00:00 /usr/bin/python /usr/local/bin/ssserver -c /etc/shadowsocks.json -d start

    有上面的进程,就说明启动成功。

  7. 设置自动启动

    有的时候服务器实例可能会遇到维护重启,这个时候如果我们的 shadowsocks 服务能够随着系统启动,那会比较省事。

    1
    
    $ echo "ssserver -c /etc/shadowsocks.json -d start" >> /etc/rc.local

    运行上面这个命令,我们会把启动 shadowsocks 的命令加到系统启动过程中。这样,不管什么时候,只要系统启动了,shadowsocks 服务就在。

    至此,服务端配置完毕。

    客户端的配置,就不多说了,和上面服务端的配置保持一致就可以。另外服务端 ip 记得要填写这个实例的公网 IP 地址。