不能翻墙对于程序员来说简直是煎熬。如果你有一台国外服务器,那就可以自己搭建 ss 服务器了。简直不要太爽。

安装 shadowsocks

ubuntu
apt-get update
apt-get install -y python-pip
pip install shadowsocks
centos
curl --show-error --retry 5 https://bootstrap.pypa.io/get-pip.py | python
pip install shadowsocks

安装完,运行帮助可以看到:

usage: ssserver [OPTION]...
A fast tunnel proxy that helps you bypass firewalls.

You can supply configurations via either config file or command line arguments.

Proxy options:
  -c CONFIG              path to config file
  -s SERVER_ADDR         server address, default: 0.0.0.0
  -p SERVER_PORT         server port, default: 8388
  -k PASSWORD            password
  -m METHOD              encryption method, default: aes-256-cfb
  -t TIMEOUT             timeout in seconds, default: 300
  --fast-open            use TCP_FASTOPEN, requires Linux 3.7+
  --workers WORKERS      number of workers, available on Unix/Linux
  --forbidden-ip IPLIST  comma seperated IP list forbidden to connect
  --manager-address ADDR optional server manager UDP address, see wiki

General options:
  -h, --help             show this help message and exit
  -d start/stop/restart  daemon mode
  --pid-file PID_FILE    pid file for daemon mode
  --log-file LOG_FILE    log file for daemon mode
  --user USER            username to run as
  -v, -vv                verbose mode
  -q, -qq                quiet mode, only show warnings/errors
  --version              show version information

Online help: <https://github.com/shadowsocks/shadowsocks>

简单解释下:
-p ss服务器的端口号
-k 密码
-m 加密方式
–workers 子进程个数
–pid-file 记录pid的文件
–log-file 记录日志
–user 执行用户的权限
-v 表示输出详细信息
-d 使用守护进程模式运行,后面通常需要加 start

可以用一行命令启动服务:

ssserver -p 5678 -k passwd -m rc4-md5 --workers 10 --pid-file /tmp/ss.pid --log-file /tmp/ss.log  -v -d start

但通常,会用一个 config.json 文件来配置:

{
    "server":"servier_ip",   # 服务器IP
    "server_port":6543,     # ss服务器所使用的端口号
    "password":"password",   # ss服务器密码    
    "timeout":60,            # 超时时间
    "method":"rc4-md5"     # 加密方式,需要和客户端配合设置
}

然后执行:

 ssserver -c config.json