ShadowsocksR 节点搭建完整教程(2026):从裸机到可用

这篇教程从一台空白的 VPS 开始,一步步把 ShadowsocksR 节点跑起来,包含系统初始化、内核调优、服务端配置、systemd 常驻、客户端导入和订阅生成,最后给出排错清单和一个必须知道的现实:SSR 已经是历史产物,新节点该往哪走。

一、先弄清楚 SSR 是什么

ShadowsocksR(下称 SSR)是 Shadowsocks 的一个分支,在原有加密之外又加了两层东西:协议插件(protocol)和混淆插件(obfs)。前者改造数据包结构,后者让流量看起来不像代理。

  • 协议:origin(原生)、auth_sha1_v4、auth_aes128_md5、auth_aes128_sha1。带 auth_ 的会做一次身份校验,抗主动探测。
  • 混淆:plain、http_simple、http_post、tls1.2_ticket_auth。最后一种用假 TLS 握手混过去。

必须说清的是:SSR 主仓库在 2020 年前后停止维护,现在的可用代码基本来自社区 fork。它的混淆特征早已被识别,tls1.2_ticket_auth 也扛不住基于 TLS 指纹的检测——真 TLS 才能骗过真 TLS。新装节点建议直接上 SS2022 或 VLESS+Reality,本文第七节给出迁移路径。这篇仍然写全,是因为存量节点和存量客户端太多,你可能是在维护老资产。

二、VPS 与系统初始化

配置要求很低:1 核 512M 内存、10G 硬盘足够跑几十个连接。真正决定体验的是回程线路,不是 CPU。

# 1. 更新系统并装基础工具
apt update && apt -y upgrade
apt -y install curl wget git python3 python3-pip vim ufw

# 2. 改 SSH 端口(可选但建议)
sed -i 's/^#\?Port .*/Port 22222/' /etc/ssh/sshd_config
systemctl restart ssh

# 3. 时间同步(时间偏差会让协议校验直接失败)
timedatectl set-ntp true
timedatectl status | grep -i synchronized

防火墙只放行必要端口,别一上来就 ufw disable:

ufw allow 22222/tcp      # SSH
ufw allow 8443/tcp       # 节点端口(示例)
ufw --force enable
ufw status verbose

三、开 BBR(必做)

没开拥塞控制优化,同样的线路下载速度可能差一个数量级。Debian 12 自带内核支持 BBR,一行配置即可。

cat >> /etc/sysctl.conf <<'EOF'
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
net.ipv4.tcp_fastopen=3
net.core.rmem_max=16777216
net.core.wmem_max=16777216
EOF
sysctl -p
sysctl net.ipv4.tcp_congestion_control   # 输出 bbr 才算成功

四、部署 SSR 服务端

不依赖任何一键脚本(第三方脚本失效是常态),直接用社区 fork 手动部署,可控性最高。

cd /opt
git clone -b master https://github.com/shadowsocksrr/shadowsocksr.git
cd shadowsocksr
# 初始化配置目录
bash initcfg.sh
ls -l user-config.json config.json 2>/dev/null

编辑 /opt/shadowsocksr/user-config.json,核心字段如下:

{
    "server": "0.0.0.0",
    "server_ipv6": "::",
    "server_port": 8443,
    "local_address": "127.0.0.1",
    "local_port": 1080,
    "password": "换成你自己的强密码",
    "method": "aes-256-cfb",
    "protocol": "auth_aes128_md5",
    "protocol_param": "",
    "obfs": "tls1.2_ticket_auth",
    "obfs_param": "",
    "speed_limit_per_con": 0,
    "speed_limit_per_user": 0,
    "timeout": 300,
    "workers": 1
}
字段怎么选
method移动设备多选 chacha20-ietf;PC 为主选 aes-256-cfb
protocolauth_aes128_md5 最通用,兼容性优于 sha1 版
obfstls1.2_ticket_auth,配合 443 端口更像正常流量
workers1 核写 1,2 核写 2,别写 0

五、systemd 常驻

别用 screen 挂着跑,重启就没了。写一个 unit 文件:

cat > /etc/systemd/system/ssr.service <<'EOF'
[Unit]
Description=ShadowsocksR Server
After=network.target

[Service]
Type=simple
User=root
WorkingDirectory=/opt/shadowsocksr
ExecStart=/usr/bin/python3 /opt/shadowsocksr/shadowsocks/server.py -c /opt/shadowsocksr/user-config.json
Restart=always
RestartSec=3
LimitNOFILE=51200

[Install]
WantedBy=multi-user.target
EOF

systemctl daemon-reload
systemctl enable --now ssr
systemctl status ssr --no-pager
journalctl -u ssr -n 30 --no-pager

看到 starting server at 0.0.0.0:8443 就说明起来了。如果报 ModuleNotFoundError,装依赖:pip3 install -r requirements.txt(Debian 12 需要加 --break-system-packages)。

六、客户端导入与订阅

  • Windows:SSR 官方客户端早已停更,推荐直接用 Mihomo 内核的客户端(Clash Verge Rev / Mihomo Party),它原生支持 ssr 协议。
  • Android:FlClash 或 SSR 专用客户端。
  • iOS:Shadowrocket 支持 ssr,导入链接即可。
  • 路由器:OpenWrt 的 OpenClash 选 Mihomo 内核。

单节点链接格式是 ssr:// 加一段 Base64,内容是 host:port:protocol:method:obfs:base64(password)/?params。多节点可以自己拼一个订阅:把所有 ssr:// 链接按行拼接,整体再做一次 Base64,放到任意静态地址上即可。

# 生成单节点链接(在服务器上执行)
python3 - <<'PY'
import base64
host, port = "你的IP", "8443"
proto, method, obfs = "auth_aes128_md5", "aes-256-cfb", "tls1.2_ticket_auth"
pwd = "换成你的密码"
b = lambda s: base64.urlsafe_b64encode(s.encode()).decode().rstrip("=")
print("ssr://" + b(f"{host}:{port}:{proto}:{method}:{obfs}:{b(pwd)}/?remarks={b('node-01')}"))
PY

七、排错清单

现象原因处理
客户端一直转圈端口没放行 / 服务没起ss -lntp 看端口,ufw status 看规则
能连上但打不开网页DNS 没走代理客户端开远程 DNS,或本地用 DoH
连上几秒就断协议/混淆与服务端不一致逐字段核对,注意大小写
握手直接失败服务器时间偏差timedatectl,开 NTP
下载只有几十 KB/s没开 BBR / 线路拥塞先验 BBR,再换机房
部分 App 不走代理UDP 未转发服务端开 udp,客户端开 UDP 转发

八、该考虑迁移了

如果你现在才建节点,SSR 不是好选择。三条更现实的路:

  • SS2022:同样是 Shadowsocks 家族,加密换成 2022-blake3-aes-128-gcm,抗重放、无特征,客户端支持已经普及。迁移成本最低。
  • VLESS + Reality:不需要自己的域名和证书,借用真实站点的 TLS 握手,当前综合最优。
  • Hysteria2:基于 QUIC,弱网和移动网络下体验最好,代价是 UDP 特征明显。

三者都能在同一个 VPS 上与 SSR 并存(不同端口),迁移时新旧并行,验证稳定后再下掉旧协议。

最后一句实话:协议只是壳,线路质量和维护频率才是体验的分水岭。同一个协议,回程绕路的机器怎么调都慢;好线路上跑最朴素的 SS2022 也比烂线路上的花式协议稳。

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容