目录
什么是 shadowsocks
Shadowsocks 是一种基于 SOCKS5 代理的加密传输协议,用于绕过防火墙访问互联网。它采用标准的加密算法,如 AES、Chacha20 等,可以有效地防止流量被监听和屏蔽。
Shadowsocks 主要包括两个部分:
- Shadowsocks 服务端:运行在代理服务器上,负责接收客户端请求并进行加密/解密。
- Shadowsocks 客户端:运行在本地设备上,负责与服务端建立连接,并将本地请求转发给服务端。
为什么需要配置多用户
在实际使用中,我们通常需要为多个设备或用户提供代理服务。Shadowsocks 多用户配置可以让我们在一个代理服务器上管理多个用户账号,每个用户拥有独立的连接信息和流量限制。这样可以带来以下好处:
- 资源共享:多个用户共享同一个代理服务器,提高了资源利用率。
- 灵活管理:可以针对不同用户设置不同的连接参数和流量限制。
- 安全性:即使某个用户账号被泄露,也不会影响到其他用户。
shadowsocks 多用户配置步骤
3.1 服务器端配置
3.1.1 安装 shadowsocks 服务端
首先需要在代理服务器上安装 shadowsocks 服务端程序。以 CentOS 为例,可以使用以下命令安装:
yum install -y shadowsocks-libev
3.1.2 配置服务端参数
编辑 shadowsocks 服务端配置文件 /etc/shadowsocks-libev/config.json
,添加多个用户信息:
{ “server”:”0.0.0.0″, “server_port”:8388, “password”:”mypassword”, “method”:”aes-256-cfb”, “timeout”:300, “users”: [ { “email”: “user1@example.com”, “password”: “user1password”, “method”: “aes-256-cfb”, “port”: 10001, “enable”: true, “rate_limit”: “50k” }, { “email”: “user2@example.com”, “password”: “user2password”, “method”: “aes-256-cfb”, “port”: 10002, “enable”: true, “rate_limit”: “100k” } ]}
主要配置项说明:
server
:服务器监听的 IP 地址,设置为0.0.0.0
表示监听所有 IP。server_port
:服务器的监听端口,供客户端连接使用。password
:服务器的密码,供客户端连接使用。method
:加密方式,建议使用aes-256-cfb
。timeout
:连接超时时间,单位为秒。users
:多个用户配置,每个用户有独立的email
、password
、method
、port
、enable
和rate_limit
参数。
3.1.3 启动服务端
使用以下命令启动 shadowsocks 服务端:
systemctl start shadowsocks-libev
如果需要设置开机自启,可以执行:
systemctl enable shadowsocks-libev
3.2 客户端配置
3.2.1 下载客户端软件
Shadowsocks 客户端软件有多种版本,可以根据自己的操作系统选择合适的版本进行下载安装。常见的客户端包括:
- Windows:Shadowsocks-Windows
- macOS:ShadowsocksX-NG
- iOS:Shadowrocket
- Android:shadowsocks-android
3.2.2 配置客户端参数
以 Windows 客户端为例,打开软件并点击 +
按钮添加新服务器。填写服务器信息:
- 服务器地址:代理服务器的 IP 地址或域名
- 服务器端口:
8388
- 密码:
mypassword
- 加密方式:
aes-256-cfb
对于需要使用独立账号的用户,可以点击 编辑
按钮,并在 备注
栏填写对应的 email
和 port
。例如:
- 备注:user1@example.com:10001
- 服务器端口:10001
3.2.3 启动客户端
配置完成后,选择对应的服务器并点击 启动
按钮即可开始使用代理服务。
shadowsocks 多用户管理
4.1 添加新用户
如果需要为新用户添加代理服务,可以在 /etc/shadowsocks-libev/config.json
文件中的 users
数组中添加新的用户配置:
{ “email”: “user3@example.com”, “password”: “user3password”, “method”: “aes-256-cfb”, “port”: 10003, “enable”: true, “rate_limit”: “80k