linux中安装ssr
需要python 及 pip依赖
apt-get install python
apt-get install python-pip
安装ssr
pip install shadowsocks
安装完成,输入以下指令进行检查
ssserver -help
使用ssr
开启ssr
sslocal -c ssr.json -d start
关闭ssr
sslocal -c ssr.json -d stop
配置conf.json
一般为QR code or ssr://xxxxx
需要转为conf.js,一般在机器中的根目录gui-conf.json可以看到
vi ssr.json
{
"remarks" : "公司内网",
"id" : "F150465D6030A188E3DA797396E124",
"server" : "111.111.111.11",
"server_port" : 9881,
"server_udp_port" : 0,
"password" : "xxxxxxx",
"method" : "rc4",
"protocol" : "origin",
"protocolparam" : "",
"obfs" : "plain",
"obfsparam" : "",
"remarks_base64" : "5L-E572X5pavTA",
"group" : "xxxxxxx",
"enable" : true,
"udp_over_tcp" : false
}
疑难解答
问题
Ubuntu 18.04 或 20.04,Shadowsocks 服务器命令ssserver会导致以下错误:
libcrypto.so.1.1: undefined symbol: EVP_CIPHER_CTX_cleanup
解答
libcrypto.so 中似乎没有EVP_CIPHER_CTX_cleanupshadowsocks 需要的符号。
检查libcrypto.so.1.1中的符号:
nm -gD /lib/aarch64-linux-gnu/libcrypto.so.1.1 | grep EVP_CIPHER_CTX
可看到原有方法已弃用,取而代之的新的函数
此错误代表
EVP_CIPHER_CTX 在 OpenSSL 1.1.0 中变得不透明。结果,出现了 EVP_CIPHER_CTX_reset() 而 EVP_CIPHER_CTX_cleanup() 消失了。EVP_CIPHER_CTX_init() 仍然是 EVP_CIPHER_CTX_reset() 的别名。
所以需要改造,将所有(总共 2 个)EVP_CIPHER_CTX_cleanup()函数替换EVP_CIPHER_CTX_reset()为openssl.py文件中的函数来解决。
vi /usr/local/lib/python3.8/dist-packages/shadowsocks/crypto/openssl.py
lin:52
libcrypto.EVP_CIPHER_CTX_reset.argtypes = (c_void_p,)
libcrypto.EVP_CIPHER_CTX_free.argtypes = (c_void_p,)
lin:111
def clean(self):
if self._ctx:
libcrypto.EVP_CIPHER_CTX_reset(self._ctx)
libcrypto.EVP_CIPHER_CTX_free(self._ctx
若文章对你有帮助,可以点赞或打赏支持我们。发布者:Aurora,转载请注明出处:http://61.174.243.28:13541/AY-knowledg-hub/ssr-linux%e5%ae%89%e8%a3%85%e4%bd%bf%e7%94%a8/