安装
在 Ubuntu 下安装 ss 很简单。只需要依次执行下面 3 条命令:
1 | apt-get update apt-get install python-pip pip install shadowsocks |
pip 是 python 下的方便安装的工具,类似 apt-get。
全部执行完毕且没有报错的话,我们的 shadowsocks 就算是装完了。接下来就是配置部署了。
写一个配置文件保存为 etc/shadowsocks.json,文件内容如下:
1 | { "server":"0.0.0.0", "server_port":8388, "local_address": "127.0.0.1", "local_port":1080, "password":"mypassword", "timeout":600 } |
server, server_port, password 需要自行根据自己的实际情况修改。
配置文件编辑完成后,接下来就可以部署运行了:
启动与停止
1 | ssserver -c /etc/shadowsocks.json -d start |
当然,我们可不希望每次重启服务器都手动启动 SS, 因此我们要把这条命令放到这个文件下:/etc/rc.d/rc.local,这样以后就能开机自动运行了。
好了,打开客户端呼吸墙外的空气吧!
停止 SS:
1 | ssserver -c /etc/shadowsocks.json -d stop |
自动启动
新建脚本文件/etc/systemd/system/shadowsocks.service,内容如下:
1 | [Unit] Description=Shadowsocks [Service] TimeoutStartSec=0 ExecStart=/usr/bin/ssserver -c /etc/shadowsocks.json [Install] WantedBy=multi-user.target |
启动 shadowsocks 服务:
1 | systemctl enable shadowsocks systemctl start shadowsocks |
检查服务是否正常
1 | systemctl status shadowsocks -l |
错误排除
出现如下错误:
1 | AttributeError: /usr/lib/x86_64-Linux-gnu/libcrypto.so.1.1: undefined symbol: EVP_CIPHER_CTX_cleanup |
是由于在 openssl1.1.0 版本中,废弃了 EVP_CIPHER_CTX_cleanup 函数,只需打开
/usr/local/lib/python2.7/dist-packages/shadowsocks/crypto/openssl.py
替换 cleanup 为 reset,重启 SS。