Shadowrocket 的负载均衡(Load Balance)主要通过策略组(Policy Group)实现,可以将流量分散到多个节点,避免单一节点过载,以下是详细设置方法:
基本概念
Shadowrocket 支持三种自动选择策略:
- URL-Test:自动选择延迟最低的节点
- Fallback:故障自动切换(主节点失效后切换备用)
- Load-Balance:负载均衡(轮询或哈希分流)
配置文件设置(推荐)
编辑配置文件
进入 配置 → 选择当前配置 → 编辑纯文本 → 找到 [Proxy Group] 段落
添加负载均衡策略组
[Proxy Group]Load-Balance-Round = load-balance, 节点1, 节点2, 节点3, strategy = round-robin # 哈希模式(同一目标地址始终使用同一节点,推荐) Load-Balance-Hash = load-balance, 节点1, 节点2, 节点3, strategy = consistent-hashing, url = http://www.gstatic.com/generate_204, interval = 600 # 带健康检查的负载均衡 Auto-Balance = load-balance, 香港节点, 新加坡节点, 日本节点, strategy = consistent-hashing, url = http://www.gstatic.com/generate_204, interval = 300, tolerance = 50
参数说明:
strategy:负载算法round-robin:轮询,依次使用每个节点consistent-hashing:一致性哈希,相同域名始终走同一节点(推荐,避免IP跳动)
url:健康检查地址(可选)interval:检查间隔(秒)tolerance:容差值(延迟差值小于此值不切换)
在规则中引用
[Rule] DOMAIN-SUFFIX,google.com,Load-Balance-Hash DOMAIN-SUFFIX,youtube.com,Load-Balance-Hash GEOIP,CN,DIRECT FINAL,Load-Balance-Hash
图形界面设置(iOS 端)
- 点击底部 配置 → 选择配置 → 编辑配置
- 点击 添加策略组(Add Policy Group)
- 类型 选择
Load Balance - 策略(Strategy)选择:
Round Robin:轮询Consistent Hashing:一致性哈希(推荐)
- 添加节点:选择要加入负载均衡的节点
- 健康检查(可选):开启后设置检查 URL(如
http://www.gstatic.com/generate_204)
实用配置示例
场景 1:多线路分流(推荐)
[Proxy Group] Proxy = select, Auto-Group, Load-Balance-Group, DIRECT Auto-Group = url-test, 香港1, 香港2, 新加坡1, 新加坡2, url = http://www.gstatic.com/generate_204, interval = 600 Load-Balance-Group = load-balance, 美国1, 美国2, 美国3, strategy = consistent-hashing [Rule] DOMAIN-KEYWORD,google,Load-Balance-Group DOMAIN-KEYWORD,netflix,Auto-Group FINAL,Proxy
场景 2:故障转移 + 负载均衡
[Proxy Group] Fallback-Group = fallback, Load-Balance-Primary, Load-Balance-Backup, url = http://www.gstatic.com/generate_204, interval = 600 Load-Balance-Primary = load-balance, 节点A, 节点B, strategy = consistent-hashing Load-Balance-Backup = load-balance, 节点C, 节点D, strategy = consistent-hashing
注意事项
-
节点要求:负载均衡组内的节点需支持相同协议(如都是 VMess 或都是 Trojan)
-
策略选择建议:
- 浏览网页:使用
consistent-hashing(保持同一网站IP稳定) - 下载/视频:使用
round-robin(充分利用带宽)
- 浏览网页:使用
-
健康检查:建议开启,自动剔除失效节点
-
DNS 设置:配合负载均衡建议开启 DNS over HTTPS,避免 DNS 污染影响分流效果:
[General] dns-server = https://dns.google/dns-query, https://cloudflare-dns.com/dns-query
-
iCloud 同步:编辑后建议导出配置备份,避免更新 App 后配置丢失
验证是否生效
- 开启 Shadowrocket 后访问
ip.sb或ipinfo.io - 多次刷新页面,观察 IP 是否变化(round-robin 会变化,consistent-hashing 同一网站应保持不变)
- 查看 Shadowrocket 日志:设置 → 日志,观察请求是否分散到不同节点
提示:如果只需要"自动选择最快节点",使用 url-test 而非 load-balance,后者主要用于流量分散场景。