目录
Shadowsocks 简介
Shadowsocks 是一种基于 SOCKS5 代理的加密传输协议,主要用于突破网络审查和封锁,访问被限制的网站和资源。它的工作原理是在客户端和服务器之间建立一条加密的通道,将客户端的网络流量转发到服务器,再由服务器访问目标网站并将响应数据返回给客户端。
相比于传统的 VPN 技术,Shadowsocks 具有以下优点:
- 轻量级: Shadowsocks 客户端和服务器端代码量较小,占用系统资源少,适合在各种设备上使用。
- 高速: Shadowsocks 使用高效的加密算法,网络延迟低,传输速度快。
- 难被检测: Shadowsocks 的加密流量可以伪装成正常的 HTTPS 流量,难以被网络审查系统识别。
- 开源: Shadowsocks 是开源项目,代码透明,安全性较高。
下面我们将详细介绍如何在 Linux 系统上安装和配置 Shadowsocks 服务器。
Shadowsocks 服务器端安装
在 Linux 上安装 Shadowsocks 服务器有两种主要方式:使用 pip 安装和使用 Docker 安装。
使用 pip 安装
-
首先确保系统已经安装了 Python 和 pip:
sudo apt-get update sudo apt-get install python3 python3-pip
-
使用 pip 安装 Shadowsocks 服务器端:
sudo pip3 install shadowsocks
-
创建 Shadowsocks 配置文件
/etc/shadowsocks.json
,内容如下:{ “server”:”0.0.0.0″, “server_port”:8388, “password”:”your_password”, “timeout”:300, “method”:”aes-256-cfb” }
请将
"password"
和"method"
替换为您自己的密码和加密方式。 -
启动 Shadowsocks 服务器:
sudo ssserver -c /etc/shadowsocks.json -d start
停止服务器:
sudo ssserver -c /etc/shadowsocks.json -d stop
使用 Docker 安装
-
安装 Docker:
sudo apt-get update sudo apt-get install docker.io
-
运行 Shadowsocks Docker 容器:
docker run -d –name shadowsocks -p 8388:8388 -p 8388:8388/udp -e PASSWORD=your_password -e METHOD=aes-256-cfb shadowsocks/shadowsocks-libev
请将
your_password
替换为您自己的密码。 -
检查容器状态:
docker ps
如果看到
shadowsocks
容器正在运行,说明安装成功。
Shadowsocks 客户端配置
安装好 Shadowsocks 服务器端后,我们还需要在客户端设备上配置 Shadowsocks 客户端,以连接到服务器并使用代理。
Windows 客户端
-
下载 Shadowsocks Windows 客户端: https://github.com/shadowsocks/shadowsocks-windows/releases
-
解压缩并运行
Shadowsocks.exe
。 -
在服务器信息页面填写服务器 IP 地址、端口、密码和加密方式,然后单击”确定”保存配置。
-
在系统托盘区找到 Shadowsocks 图标,右键单击并选择”启用系统代理”即可开始使用。
Mac 客户端
-
下载 Shadowsocks macOS 客户端: https://github.com/shadowsocks/shadowsocks-iOS/releases
-
解压缩并运行
ShadowsocksX-NG.app
。 -
在服务器信息页面填写服务器 IP 地址、端口、密码和加密方式,然后单击”确定”保存配置。
-
在菜单栏找到 Shadowsocks 图标,单击并选择”开启系统代理”即可开始使用。
Linux 客户端
-
安装 Shadowsocks-libev 客户端:
sudo apt-get update sudo apt-get install shadowsocks-libev
-
创建 Shadowsocks 配置文件
/etc/shadowsocks-libev/config.json
,内容如下:{ “server”:”your_server_ip”, “server_port”:8388, “password”:”your_password”, “timeout”:300, “method”:”aes-256-cfb” }
请将
"server"
和"password"
替换为您的服务器 IP 地址和密码。 -
启动 Shadowsocks 客户端:
sudo systemctl start shadowsocks-libev
停止客户端:
sudo systemctl stop shadowsocks-libev
-
配置系统代理,以使用 Shadowsocks 代理:
export http_proxy=socks5://127.0.0.1:1080 export https_proxy=socks5://127.0.0.1:1080
您也可以在浏览器等应用程序中单独设置代理。
Shadowsocks 服务器优化
开启 BBR 加速
为了进一步提高 Shadowsocks 的连接速度,您可以开启 Linux 内核的 BBR 拥塞控制算法:
-
检查内核版本是否支持 BBR:
uname -r
需要 Linux 内核版本 4.9 或更高。
-
开启 BBR:
echo “net.core.default_qdisc=fq” | sudo tee -a /etc/sysctl.conf echo “net.ipv4.tcp_congestion_control=bbr” | sudo tee -a /etc/sysctl.conf sudo sysctl -p
-
重启服务器以应用更改。
配置多用户
如果您需要为多个用户提供 Shadowsocks 代理服务,可以在配置文件中添加多个用户:
{ “server”:”0.0.0.0″, “port_password”:{ “8388”:”password1″, “8389”:”password2″, “8390”:”password3″ }, “timeout”:300, “method”:”aes-256-cfb