如何在 VPS 上设置 Shadowsocks 以绕过审查
在 Hiddence VPS 上安装和配置 Shadowsocks 的分步指南,用于安全和快速的互联网审查绕过。

Shadowsocks 是绕过互联网审查最有效的工具之一,在限制严格的国家特别受欢迎。与传统的 VPN 不同,Shadowsocks 使用带有加密的 SOCKS5 代理,使其流量实际上与常规 HTTPS 无法区分。本指南将向您展示如何在 10 分钟内在 Hiddence VPS 上部署您自己的 Shadowsocks 服务器。
为什么选择 Shadowsocks?
- 隐身:流量被伪装成常规 HTTPS 连接,难以被 DPI 系统检测
- 速度:与 VPN 相比开销更少,接近原生速度
- 灵活性:在应用级别工作,可以为特定程序配置
- 跨平台:适用于 Windows、macOS、Linux、Android、iOS 的客户端
- 开源:完整的代码透明度和安全性
要求
- Hiddence VPS(最低 1 GB RAM,任何 Linux 操作系统)
- Ubuntu 22.04 或 24.04(推荐)
- 服务器的 root 访问权限
- 用于连接的 SSH 客户端
- 5-10 分钟的时间
安装 Shadowsocks-Rust(推荐)
我们将使用 shadowsocks-rust 实现 - 最快、最现代的版本,用 Rust 编写。
步骤 1:准备系统
# 通过 SSH 连接到服务器
ssh root@your-server-ip
# 更新系统
sudo apt update && sudo apt upgrade -y
# 安装必要的包
sudo apt install curl wget -y步骤 2:安装 Shadowsocks-Rust
# 下载最新版本
wget $(curl -s https://api.github.com/repos/shadowsocks/shadowsocks-rust/releases/latest | grep 'browser_download_url.*x86_64-unknown-linux-gnu.tar.xz' | cut -d '"' -f 4)
# 解压存档
tar -xvf shadowsocks-*.tar.xz
# 将二进制文件移动到系统目录
sudo mv ssserver /usr/local/bin/
sudo mv sslocal /usr/local/bin/
sudo chmod +x /usr/local/bin/ss*
# 验证安装
ssserver --version步骤 3:配置
# 创建配置目录
sudo mkdir -p /etc/shadowsocks
# 创建配置文件
sudo nano /etc/shadowsocks/config.json
# 插入以下配置:
{
"server": "0.0.0.0",
"server_port": 8388,
"password": "您的强密码",
"timeout": 300,
"method": "chacha20-ietf-poly1305",
"fast_open": true,
"mode": "tcp_and_udp",
"nameserver": "8.8.8.8"
}
# 将您的强密码替换为强密码
# 可以生成:openssl rand -base64 32
# 推荐的加密方法:
# chacha20-ietf-poly1305(推荐)- 速度和安全性的平衡
# aes-256-gcm - AES 标准
# aes-128-gcm - 更快,适用于移动设备
# 2022-blake3-aes-256-gcm - 最新的 SS2022步骤 4:自动启动
让我们创建一个 systemd 服务,以便在系统启动时自动启动 Shadowsocks。
# 创建服务文件
sudo nano /etc/systemd/system/shadowsocks.service
# 插入:
[Unit]
Description=Shadowsocks-Rust Server
After=network.target
[Service]
Type=simple
User=root
ExecStart=/usr/local/bin/ssserver -c /etc/shadowsocks/config.json
Restart=on-failure
RestartSec=5s
[Install]
WantedBy=multi-user.target
# 保存并激活服务
sudo systemctl daemon-reload
sudo systemctl enable shadowsocks
sudo systemctl start shadowsocks
# 检查状态
sudo systemctl status shadowsocks步骤 5:防火墙
# 如果使用 UFW
sudo ufw allow 8388/tcp
sudo ufw allow 8388/udp
sudo ufw reload
# 如果使用 firewalld
sudo firewall-cmd --permanent --add-port=8388/tcp
sudo firewall-cmd --permanent --add-port=8388/udp
sudo firewall-cmd --reload步骤 6:优化
让我们配置系统以获得最大连接速度。
# 网络堆栈优化
sudo nano /etc/sysctl.conf
# 添加到文件末尾:
# BBR 拥塞控制
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
# 增加缓冲区
net.core.rmem_max=134217728
net.core.wmem_max=134217728
net.ipv4.tcp_rmem=4096 87380 67108864
net.ipv4.tcp_wmem=4096 65536 67108864
net.ipv4.tcp_mtu_probing=1
# 快速打开
net.ipv4.tcp_fastopen=3
# 应用更改
sudo sysctl -p步骤 7:客户端
设置服务器后,您需要连接客户端设备。下面详细说明每个平台。
Windows 客户端
1. 下载和安装
转到 shadowsocks/shadowsocks-windows GitHub 页面并下载最新版本(Shadowsocks-x.x.x.zip 文件)。将存档解压到任何文件夹并运行 Shadowsocks.exe。
2. 添加服务器
右键单击系统托盘中的 Shadowsocks 图标(靠近时钟)并选择服务器 > 编辑服务器。填写详细信息:
3. 启用代理
右键单击托盘图标 > 系统代理 > 全局(代理所有流量)或 PAC(自动模式,用于被阻止的网站)。启用“启用系统代理”。完成!现在您的所有流量都通过 Shadowsocks。
Android 客户端
1. 应用安装
从 Google Play 商店安装 Max Lv 的“Shadowsocks”,或从 GitHub(shadowsocks/shadowsocks-android)下载 APK。安装后打开应用程序。
2. 添加配置文件
点击右下角的“+”(加号)按钮。选择“手动设置”。填写字段:
3. 连接
点击屏幕底部的纸飞机图标进行连接。首次连接时,Android 将请求创建 VPN 连接的权限 - 点击“确定”。连接后,状态栏中将出现一个钥匙图标。
iOS 客户端
1. 应用安装
打开 App Store 并搜索“Shadowrocket”(付费,约 3 美元)或“Potatso Lite”(免费)。Shadowrocket 功能更强大且更稳定。安装应用程序。
2. 服务器配置
对于 Shadowrocket:打开应用程序,点击右上角的“+”。选择类型:Shadowsocks。填写:
3. 激活连接
将服务器名称旁边的开关切换到“开”。iOS 将要求添加 VPN 配置的权限 - 确认操作(可能需要 Face ID / Touch ID)。状态“已连接”表示连接成功。
macOS 客户端
1. 安装 ShadowsocksX-NG
从 GitHub(shadowsocks/ShadowsocksX-NG/releases)下载 ShadowsocksX-NG。打开 DMG 文件并将应用程序拖到应用程序文件夹。启动 ShadowsocksX-NG。
2. 添加服务器
点击菜单栏中的飞机图标(右上角)。选择服务器 > 服务器首选项。点击“+”添加新服务器:
3. 启用代理
点击菜单栏图标 > 打开 Shadowsocks。选择代理模式:“自动代理模式”(推荐,使用 PAC 进行智能路由)或“全局模式”(所有流量通过代理)。完成!
奖励:多用户设置
如果您想与朋友或家人共享服务器,请使用多端口配置。
# 编辑配置
sudo nano /etc/shadowsocks/config.json
# 使用不同用户的端口格式:
{
"servers": [
{
"server": "0.0.0.0",
"server_port": 8388,
"password": "user1_password",
"method": "chacha20-ietf-poly1305"
},
{
"server": "0.0.0.0",
"server_port": 8389,
"password": "user2_password",
"method": "chacha20-ietf-poly1305"
},
{
"server": "0.0.0.0",
"server_port": 8390,
"password": "user3_password",
"method": "chacha20-ietf-poly1305"
}
],
"timeout": 300,
"mode": "tcp_and_udp"
}
# 不要忘记在防火墙中打开新端口
sudo ufw allow 8389:8390/tcp
sudo ufw allow 8389:8390/udp
# 重启服务
sudo systemctl restart shadowsocks高级:使用混淆插件
为了额外防范 DPI,请使用伪装 Shadowsocks 流量的插件。
v2ray-plugin(推荐)
# 安装 v2ray-plugin
wget https://github.com/shadowsocks/v2ray-plugin/releases/download/v1.3.2/v2ray-plugin-linux-amd64-v1.3.2.tar.gz
tar -xvf v2ray-plugin-*.tar.gz
sudo mv v2ray-plugin_linux_amd64 /usr/local/bin/v2ray-plugin
sudo chmod +x /usr/local/bin/v2ray-plugin
# 更新 Shadowsocks 配置
{
"server": "0.0.0.0",
"server_port": 443,
"password": "your_password",
"method": "chacha20-ietf-poly1305",
"plugin": "/usr/local/bin/v2ray-plugin",
"plugin_opts": "server;tls;host=your-domain.com;cert=/path/to/cert.pem;key=/path/to/key.pem"
}
# 在客户端添加:
# 插件:v2ray-plugin
# 插件选项:tls;host=your-domain.com故障排除
常见问题和解决方案
- 无法连接:检查防火墙并确保端口已打开
- 连接慢:尝试不同的加密方法(aes-128-gcm 更快)
- 周期性断开连接:启用 TCP Fast Open 和 BBR
- 服务器被阻止:使用混淆插件和端口 443
- 检查日志:sudo journalctl -u shadowsocks -f
安全提示
- 使用强密码(最少 20 个字符,随机)
- 定期将 Shadowsocks 更新到最新版本
- 不要公开共享服务器详细信息 - 仅与可信人员共享
- 将默认端口(8388)更改为非标准端口
- 使用现代加密方法(chacha20-ietf-poly1305 或更新)
- 在积极审查的地区考虑使用混淆插件
- 监控流量使用:sudo apt install vnstat && vnstat -l
- 设置自动系统更新