软硬件环境
一台服务器,或者一台国外的服务器。
- 服务器配置
- 系统:CentOS 7 x86_64 bbr
- 一台可以上网的电脑
1. 服务器配置
前置环境
- Python
- zip
Python 与 pip 安装
- 官网下载 pip 18.0这里提供 18.0 的安装版本
wget https://files.pythonhosted.org/packages/69/81/52b68d0a4de760a2f1979b0931ba7889202f302072cc7a0d614211bc7579/pip-18.0.tar.gz
- 移动到
/usr/local
目录,并进入目录解压
mv pip-18.0.tar.gz /usr/local/
cd /usr/local/
#解压到当前目录,保留原文件
tar -zxvf pip-18.0.tar.gz
- 进入解压后的 pip-18.0 目录,使用 Python 安装
cd pip-18.0
python setup.py install
发现没安装setuptools。同样的方法安装setuptools。在/usr/local
目录下使用wget
命令下载setuptools-40.2.0.zip,例如:
wget https://files.pythonhosted.org/packages/ef/1d/201c13e353956a1c840f5d0fbf0461bd45bbd678ea4843ebf25924e8984c/setuptools-40.2.0.zip
yum install -y unzip zip
unzip setuptools-40.2.0.zip
cd setuptools-40.2.0
安装 setuptools
python setup.py install
cd ../pip-18.0
python setup.py install
使用 pip show pip 查看 pip,发现 pip 终于成功安装。
安装 Shadowsocks server
使用 pip 命令安装 ss server:
pip install shadowsocks
配置 Shodowsocks server
使用配置文件设置 ss server 可以方便后面修改。创建一个 json 文件 /etc/shadowsocks.json
,配置如下:
{
"server": "修改1:你的服务器IP地址",
"server_port":443,
"local_address": "127.0.0.1",
"local_port":1080,
"password":"修改2:这里设置你的密码",
"timeout":300,
"method":"aes-256-cfb",
"fast_open": false
}
可以针对不同的用户配置不同的用户名和密码,方法如下:
{
"server": "0.0.0.0",
"port_password": {
"8381": "foobar1",
"8382": "foobar2",
"8383": "foobar3",
"8384": "foobar4"
},
"timeout": 300,
"method": "aes-256-cfb"
}
在前台运行ss server配置文件:
ssserver -c /etc/shadowsocks.json
在后台运行ss server配置文件:
ssserver -c /etc/shadowsocks.json -d start
ssserver -c /etc/shadowsocks.json -d stop
自动安装:
bash <(curl -sL https://raw.githubusercontent.com/luciferkids/hijkpw-scripts/main/ssr.sh)
您需要更新 ShadowsocksR 的代码,以便正确导入 MutableMapping。按照以下步骤操作:
编辑出问题的文件。根据您的日志,您可能需要编辑位于/usr/local/shadowsocks/lru_cache.py
的文件。
在文件的顶部,找到以下导入语句:
import collections
然后将其更改为:
import collections.abc
找到所有使用 collections.MutableMapping 的地方,并将它们更改为 collections.abc.MutableMapping。例如:
class LRUCache(collections.MutableMapping):
应该更改为:
class LRUCache(collections.abc.MutableMapping):
保存文件并退出编辑器。
重新启动 ShadowsocksR 服务:
sudo systemctl restart shadowsocksR.service
再次检查服务状态:
sudo systemctl status shadowsocksR.service
如果您不熟悉编辑文件,您可以使用 nano 或 vi 等命令行文本编辑器:
sudo nano /usr/local/shadowsocks/lru_cache.py