Linux下搭建ShadowSocks服务器
安装SS服务端
CentOS
- 执行命令
## 安装 python setup tools
yum install python-setuptools -y
##安装pip
easy_install pip
##升级 pip
pip install –upgrade pip
##安装 shadowsocks
pip install shadowsocks
- 单独汇总一下,方便直接复制粘贴
yum install python-setuptools -y
easy_install pip
pip install –upgrade pip
pip install shadowsocks
Debian/Ubuntu
apt-get install python-pip
## 国内源都删了
pip install shadowsocks -i https://pypi.python.org/simple/
有时 Ubuntu 会遇到第一个命令安装
python-pip时找不到包的情况。pip 官方给出了一个安装脚本,可以自动安装 pip。先下载脚本,然后执行即可:
wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py
配置ShadowSocks
- 创建配置文件
vi /etc/shadowsocks.json
- 然后输入如下内容
{
"server":"0.0.0.0",
"server_port":10010,
"password":"your_password",
"timeout":300,
"method":"rc4-md5",
"fast_open":true,
"workers": 1
}
- 代码中各字段的含义
| 字段 | 说明 |
|---|---|
| server | 服务器 IP地址 (IPv4/IPv6) |
| server_port | 服务器监听的端口,一般设为80,443等,注意不要设为使用中的端口 |
| password | 设置密码,自定义 |
| timeout | 超时时间(秒) |
| method | 加密方法,可选择 “aes-256-cfb”,“rc4-md5”等等。推荐使用 “rc4-md5” |
| fast_open | true 或 false。如果你的服务器 Linux 内核在3.7+,可以开启 fast_open 以降低延迟。 |
| workers | workers数量,默认为 1。 |
启动Shadowsocks服务端
ssserver -c /etc/shadowsocks.json
screen -dmS ssserver ssserver -c /etc/shadowsocks.json
启动可能会出现错误AttributeError: /lib/x86_64-linux-gnu/libcrypto.so.1.1: undefined symbol: EVP_CIPHER_CTX_cleanup
这是由于在openssl 1.1.0中废弃了 EVP_CIPHER_CTX_cleanup() 函数而引入了 EVE_CIPHER_CTX_reset() 函数所导致的
1、定位错误文件

2、修改错误文件
vim /usr/local/lib/python3.8/dist-packages/shadowsocks/crypto/openssl.py
3、搜索 cleanup 并将其替换为 reset

4、再次启动,出现如下内容说明成功

客户端连接服务端
配置

成功截图

其他
疑难杂症
启动后发现客户端连接不上的情况,可能是因为服务器供应商的安全策略,有2种解决方案:
- 上供应商的平台去开启安全策略,允许非正常端口访问
- 替换为其他的端口,如80、8080等默认允许访问的端口
同类产品
- go语言shadowsocks:https://github.com/shadowsocks/go-shadowsocks2