Shadowrocket智能分流深度配置指南:从原理到实战
智能分流的本质与价值
智能分流(Intelligent Routing)是代理工具的核心能力,指根据目标地址的特征自动选择网络路径:国内流量直连以降低延迟,海外流量代理以突破限制,敏感流量加密以保护隐私。
在Shadowrocket中,这种决策通过规则引擎(Rule Engine)实现,基于域名、IP、地理位置等维度进行流量分类,避免"一刀切"的全局代理带来的性能损耗。
Shadowrocket规则系统架构
1 配置文件的三大支柱
一个完整的.conf配置文件包含三个核心段落:
[General] [Proxy] # 节点定义:SS/SSR/Vmess/Trojan等服务器信息 [Rule] # 分流规则:决定流量走向的逻辑判断
2 规则匹配逻辑
Shadowrocket采用"自上而下、首次命中"的策略:
- 收到连接请求后,从上到下遍历规则列表
- 匹配成功立即停止,执行对应策略(DIRECT/REJECT/Proxy)
- 未匹配任何规则则执行
FINAL兜底策略
关键原则:精确规则在前,宽泛规则在后,否则会导致规则被"截胡"。
规则类型深度解析
1 域名类规则(最常用)
| 类型 | 语法示例 | 匹配范围 | 适用场景 |
|---|---|---|---|
| DOMAIN | DOMAIN,www.google.com |
精确匹配 | 特定网站 |
| DOMAIN-SUFFIX | DOMAIN-SUFFIX,google.com |
后缀匹配(含子域名) | 整站代理 |
| DOMAIN-KEYWORD | DOMAIN-KEYWORD,google |
关键词包含 | 对抗CDN变域 |
| DOMAIN-SET | DOMAIN-SET,https://example.com/list |
外部集合 | 大规模规则集 |
优先级建议:DOMAIN > DOMAIN-SUFFIX > DOMAIN-KEYWORD
2 IP与地理规则
# CIDR段匹配(适用于IP直连判定) IP-CIDR,192.168.0.0/16,DIRECT IP-CIDR,10.0.0.0/8,DIRECT # 地理位置匹配(基于GeoIP数据库) GEOIP,CN,DIRECT GEOIP,US,PROXY # 私有地址保留(必须放在前面) IP-CIDR,127.0.0.0/8,DIRECT IP-CIDR,172.16.0.0/12,DIRECT
3 应用层规则
# 基于User-Agent识别(iOS应用常用) USER-AGENT,AppStore*,DIRECT USER-AGENT,WeChat*,DIRECT USER-AGENT,Telegram*,PROXY
实战配置模板
1 经典"大陆直连+海外代理"配置
[General] bypass-system = true skip-proxy = 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12, localhost, *.local, e.crashlytics.com dns-server = 223.5.5.5, 119.29.29.29, 8.8.8.8 fallback-dns-server = 1.1.1.1, 8.8.8.8 ipv6 = false [Proxy] # 这里填写你的节点信息 Direct = direct Reject = reject HK-Node = ss, 1.2.3.4, 443, encrypt-method=aes-256-gcm, password=xxx [Proxy Group] # 自动选择最低延迟节点 Auto = url-test, HK-Node, SG-Node, JP-Node, url=http://www.gstatic.com/generate_204, interval=600, tolerance=50 # 手动选择 Proxy = select, Auto, HK-Node, SG-Node, DIRECT [Rule] # 1. 局域网与系统服务直连 DOMAIN-SUFFIX,local,DIRECT IP-CIDR,127.0.0.0/8,DIRECT IP-CIDR,172.16.0.0/12,DIRECT IP-CIDR,192.168.0.0/16,DIRECT IP-CIDR,10.0.0.0/8,DIRECT # 2. 国内常用服务直连(抗DNS污染) DOMAIN-SUFFIX,cn,DIRECT DOMAIN-SUFFIX,baidu.com,DIRECT DOMAIN-SUFFIX,taobao.com,DIRECT DOMAIN-SUFFIX,qq.com,DIRECT DOMAIN-SUFFIX,bilibili.com,DIRECT # 3. 广告拦截(可选) DOMAIN-SUFFIX,googleadservices.com,REJECT DOMAIN-SUFFIX,doubleclick.net,REJECT # 4. 海外流媒体分流(示例) DOMAIN-SUFFIX,netflix.com,Proxy DOMAIN-SUFFIX,disneyplus.com,Proxy DOMAIN-SUFFIX,hulu.com,Proxy # 5. 国外顶级域名代理 DOMAIN-SUFFIX,com,Proxy DOMAIN-SUFFIX,org,Proxy DOMAIN-SUFFIX,net,Proxy # 6. 地理IP判定(国内IP直连,其他代理) GEOIP,CN,DIRECT FINAL,Proxy
2 策略组高级嵌套
实现"国内视频直连,海外视频代理"的精细控制:
[Proxy Group] # 流媒体专用组(可单独指定节点) Streaming = select, HK-Node, SG-Node, DIRECT # 主代理组 Proxy = select, URL-Test, DIRECT [Rule] # 国内视频平台直连 DOMAIN-SUFFIX,iqiyi.com,DIRECT DOMAIN-SUFFIX,youku.com,DIRECT # 海外流媒体走专用组 DOMAIN-SUFFIX,netflix.com,Streaming DOMAIN-SUFFIX,youtube.com,Streaming # 其他流量走主代理 FINAL,Proxy
DNS解析与分流协同
智能分流的准确性高度依赖DNS解析策略,Shadowrocket支持DNS分流(DNS-Fake-IP)技术:
1 配置DoH/DoT防止DNS污染
[General] # 国内DNS(阿里、腾讯) dns-server = 223.5.5.5, 119.29.29.29 # 海外DNS(Cloudflare、Google) doh-server = https://1.1.1.1/dns-query, https://8.8.8.8/dns-query # 启用Fake-IP模式(推荐) fake-ip = true fake-ip-range = 198.18.0.1/16
2 DNS解析流程
- 访问
google.com时,Shadowrocket返回Fake-IP(如18.0.1) - 同时向DoH服务器查询真实IP
- 根据返回的真实IP进行GEOIP判断
- 若IP属于美国,则走代理;若属于中国,则直连
注意:开启Fake-IP后,IP-CIDR规则对域名访问可能失效,因为匹配时使用的是Fake-IP而非真实IP。
远程规则集管理
手动维护数千条规则不现实,Shadowrocket支持订阅远程规则:
[Rule] # 大陆域名白名单(直连) RULE-SET,https://cdn.jsdelivr.net/gh/Loyalsoldier/surge-rules@release/direct.txt,DIRECT # 代理域名列表 RULE-SET,https://cdn.jsdelivr.net/gh/Loyalsoldier/surge-rules@release/proxy.txt,Proxy # 广告拦截(REJECT) RULE-SET,https://cdn.jsdelivr.net/gh/Loyalsoldier/surge-rules@release/reject.txt,REJECT # 局域网IP RULE-SET,https://cdn.jsdelivr.net/gh/Loyalsoldier/surge-rules@release/private.txt,DIRECT # 中国IP段 RULE-SET,https://cdn.jsdelivr.net/gh/Loyalsoldier/surge-rules@release/cncidr.txt,DIRECT # 兜底 FINAL,Proxy
推荐规则源:
- Loyalsoldier:维护及时,分类清晰
- ConnersHua:经典神机规则
- ACL4SSR:适合SSR用户
性能优化与故障排查
1 规则优化原则
- 去重合并:将
DOMAIN和DOMAIN-SUFFIX合并,减少匹配次数 - 热点前置:将常用网站(Google、YouTube)的规则放在前面
- 拒绝优先:广告拦截规则(REJECT)应放在代理规则之前,节省流量
2 常见问题诊断
现象:国内网站打开慢或无法访问
- 排查:检查是否误将国内域名加入代理规则
- 解决:添加
DOMAIN-SUFFIX,cn,DIRECT和GEOIP,CN,DIRECT
现象:代理规则不生效,全部直连
- 排查:检查
FINAL策略是否为DIRECT,且上方无宽泛规则拦截 - 解决:使用"配置测试"功能检查语法错误
现象:DNS泄漏(访问IP定位网站显示本地DNS)
- 排查:确认
dns-server和doh-server已配置,且未勾选"直连的域名使用系统DNS"
3 日志分析技巧
在Shadowrocket中开启日志记录(Log):
- 类型
rule:显示匹配到的具体规则,用于调试规则优先级 - 类型
dns:显示DNS解析过程,检查是否解析到正确IP - 类型
connection:显示连接建立情况,确认是否走代理
进阶场景配置
1 分流与工作流结合(Shortcuts自动化)
利用iOS快捷指令,实现"一键切换工作模式":
# 工作模式配置(屏蔽娱乐网站) [Rule] DOMAIN-SUFFIX,instagram.com,REJECT DOMAIN-SUFFIX,tiktok.com,REJECT DOMAIN-SUFFIX,youtube.com,REJECT FINAL,DIRECT
2 多设备配置同步
通过GitHub Gist或自建服务器托管配置文件,实现iPhone/iPad/Mac(需Surge/Clash)配置同步:
[General] # 远程配置URL,支持自动更新 profile-url = https://raw.githubusercontent.com/username/config/main/shadowrocket.conf
Shadowrocket的智能分流能力远不止"国内直连、国外代理"这么简单,通过精细化的规则配置、策略组嵌套、DNS优化,你可以构建一个低延迟、高隐私、省流量的网络环境,建议从基础模板开始,逐步根据使用习惯调整规则顺序和策略组合,最终形成个性化的网络分流方案。
关键记住:规则顺序决定一切,定期更新GEOIP数据库和远程规则集,保持配置的最佳状态。