服务器端搭建ss

新买的服务器安装ss

安装ss

sudo apt install python3-pip

pip3 install shadowsocks

启动

2.1直接启动

ssserver -p 8388 -k password -m rc4-md5 -d start

2.2配置文件启动

新建/etc/shadowsocks.json文件并写入

{
    "server":"xxxxxx",
    "server_port":xxxx,
    "local_address":"127.0.0.1",
    "local_port":1080,
    "password":"xxxxx",
    "timeout":300,
    "method":"rc4-md5"
}

使用命令启动

ssserver -c /etc/shadowsocks.json -d start

开机自启动

新建 /etc/ss.conf并写入:

[program:shadowsocks]
command=ssserver -c /etc/shadowsocks.json
autostart=true
autorestart=true
user=root
log_stderr=true
logfile=/var/log/shadowsocks.log

打开/etc/rc.local并添加一行:

service ss start

备注

启动ss出现undefined symbol: EVP_CIPHER_CTX_cleanup错误。

修改方法:

  1. 用vim打开文件:vim /PYTHON_PATH/dist-packages/shadowsocks/crypto/openssl.py (该路径请根据自己的系统情况自行修改,如果不知道该文件在哪里的话,可以使用find命令查找文件位置)
  2. 跳转到52行(shadowsocks2.8.2版本,其他版本搜索一下cleanup)
  3. 进入编辑模式
  4. 将第52行libcrypto.EVP_CIPHER_CTX_cleanup.argtypes = (c_void_p,)
    改为libcrypto.EVP_CIPHER_CTX_reset.argtypes = (c_void_p,)
  5. 再次搜索cleanup(全文件共2处,此处位于111行),将libcrypto.EVP_CIPHER_CTX_cleanup(self._ctx)
    改为libcrypto.EVP_CIPHER_CTX_reset(self._ctx)
  6. 保存并退出
  7. 启动shadowsocks服务:service shadowsocks start 或 sslocal -c ss配置文件目录
  8. 问题解决