作者:E4b9a6, 创建:2022-02-01, 字数:2085, 已阅:127, 最后更新:2022-02-01
Shadowsocks作为网络隧道部署在公司,在项目紧急时快速使用公司的网络环境来开发调试非常翻遍
网上大部分资料都是使用pip的第三方包来安装Shadowsocks服务端
pip3 install shadowsocks
在使用Linux作为主力机开发的情况下,运行方式非常不优雅
/home/chancel/.local/bin/sslocal -c /etc/shadowsocks/shadowsocks.json
如果碰巧还做Python开发的话,Pyenv的全局版本管理也很容易遇到sslocal无法启动的问题
还有烦人的旧版本openssl.py兼容性问题(此问题通过修改openssl.py替换cleanup为reset即可解决)
AttributeError: /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1: undefined symbol: EVP_CIPHER_CTX_cleanup
如果采用Shadowsocks-libev二进制部署,则没有这么多烦恼,运行也优雅许多
下面以Ubuntu1804安装服务端,Manjaro安装客户端安装作为示例
首先是Ubuntu1804安装Shadowsocks-libev
sudo apt install shadowsocks-libev
Ubuntu1804的配置文件如下
sudo cat /etc/shadowsocks-server.json
# 输出如下
{
"server_port": 42938,
"password": "8796be9677fbcd806624e9481179f131",
"method": "rc4-md5",
"timeout":300,
"fast_open":false
}
其运行方法如下
/usr/bin/ss-server -c /etc/shadowsocks-server.json
后台守护进程安装配置文件(可选)
[program:shadowsocks-server]
command=/usr/bin/ss-server -c /etc/shadowsocks-server.json
stopsignal=INT
autostart=true
autorestart=true
startsecs=3
stderr_logfile=/var/log/supervisor/shadowsocks-server-stdout.log
stdout_logfile=/var/log/supervisor/shadowsocks-server-stderr.log
user=apps
接下来开始安装客户端
Manjaro客户端安装Shadowsocks-libev与服务端无异,都是从仓库安装
sudo pacman -S shadowsocks-libev
Manjaro客户端配置文件如下
sudo cat /etc/shadowsocks-client.json
# 输出如下
{
"server": "103.103.103.103",
"local_address": "0.0.0.0",
"local_port": 1080,
"workers": 4,
"server_port": 42938,
"password": "8796be9677fbcd806624e9481179f131",
"method": "rc4-md5"
}
客户端运行方法如下
/usr/bin/ss-local -c /etc/shadowsocks-client.json
后台守护进程安装配置文件(可选)
[program:shadowsocks-client]
command=/usr/bin/ss-local -c /etc/shadowsocks/shadowsocks-client.json
stopsignal=INT
autostart=true
autorestart=true
startsecs=3
stderr_logfile=/var/log/supervisor/shadowsocks-client-stdout.log
stdout_logfile=/var/log/supervisor/shadowsocks-client-stderr.log
user=apps