Skip to content

Shadowrocket 分流规则底层逻辑全解 2026:DIRECT、PROXY、REJECT 与规则匹配引擎机制 ​

独立第三方网络规则实测声明

本文属于 Shadowrocket DIY 独立技术评测室 的流量分流引擎专题。本站与各分流规则维护者及网络服务商无利益关联。文中所涉及的分流语法、规则匹配顺序与 DNS 解析时序均基于 iOS 18 环境下的 Shadowrocket 真实配置文件(.conf)实测验证。请遵守当地法律法规,合规使用网络工具。

很多初学者在使用 Shadowrocket(小火箭) 时,习惯于将首页的“全局路由”直接粗暴地切换为“代理(Proxy)”。

这样做虽然能够顺畅打开海外网站,但在日常生活中会带来严重的后遗症:打开微信朋友圈图片极其缓慢、淘宝与美团外卖定位跑到了国外、国内网银 App 频繁弹出异地登录风控拦截,并且宝贵的专线套餐流量在后台看国内视频时被迅速消耗殆尽。

要解决这一矛盾,核心在于掌握 Shadowrocket 内置的智能流量分流规则引擎(Routing Rules Engine)。小火箭能够以毫秒级的速度,在本地识别出每个网络数据包的目标域名与 IP 地址,让国内流量直走本地宽带,海外请求精准接入高速专线,广告请求直接本地丢弃。

本文将深入拆解分流规则引擎的底层匹配逻辑与语法规则,帮助你构建一套科学透明的个人分流策略。


一、分流引擎内核时序图:First-Match-Win 顺序匹配状态机 ​

Shadowrocket 的规则处理引擎遵循计算机网络中经典的 “自上而下、先命中者胜(First-Match-Win)” 原则。

当你的手机发起一个网络请求(例如 Safari 尝试连接 www.google.com)时,数据包在小火箭内部的处理时序如下所示:

  【Shadowrocket 规则引擎处理时序流转图】

  [应用发起网络请求: www.google.com]
        │
        ▼
  [进入本地 DNS 探测阶段] ──► (若规则包含域名匹配,优先不触发本地 DNS 查询)
        │
        ▼
  [遍历配置文件 [Rule] 规则列表 (从第一行向下逐行扫描)]
        │
        ├─► 检查第 1 行: DOMAIN-SUFFIX,wechat.com,DIRECT ──► (未命中,继续向下)
        │
        ├─► 检查第 2 行: DOMAIN-KEYWORD,admob,REJECT ──────► (未命中,继续向下)
        │
        ├─► 检查第 3 行: DOMAIN-SUFFIX,google.com,PROXY ───► 【命中!立即终止后续扫描!】
        │                                                        │
        │                                                        ▼
        │                                           【执行出站策略: PROXY】
        │                                           (流量通过加密专线发往海外机房)
        │
        └─► (若扫描到最后一行仍未命中) ───────────────────► 【执行 FINAL 兜底策略】

核心铁律:规则顺序至关重要 ​

因为引擎遵循“先命中先执行”机制,规则在文件中的上下排列顺序决定了一切:

  • 如果你把范围极其宽泛的宽客规则(如针对所有国内 IP 的 GEOIP,CN,DIRECT)错误地放在了文件最顶端;
  • 而某个海外网站(如 GitHub)在当地运营商解析时不幸遭遇了 DNS 污染、被返回了一个国内的虚假 IP;
  • 该请求就会立即提前误命中 GEOIP,CN,DIRECT,从而直接被错误地送往国内公网导致网页彻底打不开!

因此,科学的规则顺序永远是:特定单域名规则 ──► 广告拦截规则 ──► 业务特征规则 ──► 大范围 GEOIP 规则 ──► FINAL 兜底。


二、三大核心出站动作(Policy Actions)彻底拆解 ​

在每条规则的末尾,小火箭允许你指定一种流量处理动作。最核心的基础动作共有三种:

┌─────────────────────────────────────────────────────────────────────────┐
│                 小火箭三大核心出站策略行为对照表                        │
├──────────────┬──────────────────────────────┬───────────────────────────┤
│ 策略名称     │ 底层网络行为                 │ 适用业务场景              │
├──────────────┼──────────────────────────────┼──────────────┼───────────┤
│ DIRECT       │ 【本地公网直连】数据包原封不 │ 微信、支付宝、淘宝、B站、 │
│ (直连)       │ 动直接由本地 Wi-Fi / 5G 网卡 │ 百度网盘等国内一切常规应用│
│              │ 直通运营商,不消耗任何节点流 │ (保障极速与低延迟)        │
│              │ 量,维持极速 CDN 响应。      │                           │
├──────────────┼──────────────────────────────┼───────────────────────────┤
│ PROXY        │ 【海外专线代理】数据包在本地 │ Google、YouTube、Netflix、 │
│ (代理)       │ 进行 TLS / VLESS 加密,通过  │ ChatGPT、GitHub、Telegram │
│              │ 当前选中的海外专线节点转发。 │ (穿透公网阻断,极速加速)  │
├──────────────┼──────────────────────────────┼───────────────────────────┤
│ REJECT       │ 【本地黑洞丢弃】小火箭直接向 │ 手机应用开屏广告、弹窗    │
│ (拦截)       │ 应用返回连接重置 (RST) 或    │ 追踪 SDK、隐私数据上报点   │
│              │ 空数据,阻止请求发出。       │ (拦截广告,省电省流量)    │
└──────────────┴──────────────────────────────┴───────────────────────────┘

三、常用规则类型语法全景字典 ​

在编辑自定义规则时,我们需要告诉小火箭“通过什么特征去捕获流量”。常用的匹配语法维度如下:

1. DOMAIN-SUFFIX(域名后缀匹配,最推荐) ​

语法规范:DOMAIN-SUFFIX,目标域名后缀,策略

  • 匹配逻辑:不仅匹配该域名本身,还自动包含该域名下的所有前缀二级、三级子域名。
  • 示范案例:
    ini
    DOMAIN-SUFFIX,apple.com,DIRECT
    DOMAIN-SUFFIX,netflix.com,PROXY
    上述规则会自动将 www.apple.com、api.apple.com 导向直连,将 help.netflix.com 导向代理。由于执行效率极高,这是构建规则库时最优先推荐的基础语法。

2. DOMAIN-KEYWORD(域名关键字匹配,慎用) ​

语法规范:DOMAIN-KEYWORD,关键字字符串,策略

  • 匹配逻辑:只要域名的任何位置包含了该字符串,哪怕作为单词的一部分,都会立即被捕获。
  • 示范案例:
    ini
    DOMAIN-KEYWORD,google,PROXY
    该规则会匹配 google.com,但也会误伤 google-pay-china-test.cn 这类国内非相关测试站点。由于需要对完整字符串进行逐字子串搜索,CPU 开销较大,建议仅在少量泛匹配场景下补充使用。

3. IP-CIDR(IP 无类域间路由子网掩码匹配) ​

语法规范:IP-CIDR,目标IP网段,策略,no-resolve

  • 匹配逻辑:匹配数据包的目标 IP 地址是否属于特定网段。
  • 示范案例:
    ini
    IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
    IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
    这是局域网内网穿透的标准写法。注意末尾的 no-resolve 参数:它告诉小火箭“如果这是一个域名请求,不要为了匹配这条 IP 规则而强行把域名提前发给 DNS 解析”,这能极大提升规则匹配性能并避免 DNS 污染。

4. GEOIP(地理 IP 数据库匹配) ​

语法规范:GEOIP,国家代码,策略

  • 匹配逻辑:小火箭内置了全球 MaxMind GeoIP 离线 IP 地理位置数据库。当目标 IP 属于该国家管辖网段时触发。
  • 示范案例:
    ini
    GEOIP,CN,DIRECT
    一键将所有中国大陆境内的公网服务器(如各大国内云服务商机房 IP)全部归入直连。

5. FINAL(终极兜底策略,必须位于文件末尾) ​

语法规范:FINAL,策略

  • 匹配逻辑:如果一个数据包从第一行向下扫描,没有任何一条规则能够成功命中它,它将在此处被统一捕获。
  • 建议配置:对于常规用户,通常建议写为 FINAL,PROXY,确保未收录的小众海外学术站点能够顺利打开;或者配置为 FINAL,DIRECT 并搭配完备的海外域名列表。

四、科学标准分流模板构建实操 ​

基于上述工程原理,一套具备高抗污染能力、低功耗且兼顾国内外体验的标准 .conf 规则结构如下所示:

ini
[General]
bypass-system = true
skip-proxy = 127.0.0.1, 192.168.0.0/16, 10.0.0.0/8, localhost, *.local
bypass-tun = 10.0.0.0/8, 100.64.0.0/10, 127.0.0.0/8, 169.254.0.0/16, 192.168.0.0/16
dns-server = system, 223.5.5.5, 119.29.29.29

[Rule]
# 1. 本地局域网设备直连
IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
IP-CIDR,172.16.0.0/12,DIRECT,no-resolve

# 2. 常见广告拦截 (REJECT)
DOMAIN-SUFFIX,adcolony.com,REJECT
DOMAIN-SUFFIX,applovin.com,REJECT

# 3. 苹果生态与国内高频直连
DOMAIN-SUFFIX,apple.com,DIRECT
DOMAIN-SUFFIX,icloud.com,DIRECT
DOMAIN-SUFFIX,qq.com,DIRECT
DOMAIN-SUFFIX,bilibili.com,DIRECT
DOMAIN-SUFFIX,taobao.com,DIRECT

# 4. 关键海外服务强制走代理 (PROXY)
DOMAIN-SUFFIX,openai.com,PROXY
DOMAIN-SUFFIX,anthropic.com,PROXY
DOMAIN-SUFFIX,github.com,PROXY
DOMAIN-SUFFIX,youtube.com,PROXY
DOMAIN-SUFFIX,netflix.com,PROXY
DOMAIN-SUFFIX,twitter.com,PROXY

# 5. 国内 IP 库大范围兜底直连
GEOIP,CN,DIRECT

# 6. 最终未收录流量走向
FINAL,PROXY

五、优质专线基础设施配置建议 ​

分流规则的核心使命,是将高价值的海外流量精准输送至代理通道。如果后端代理通道是一条经常断流的劣质线路,即便规则配置得再精密,海外访问依然会频繁报错。

建议为 PROXY 动作绑定具备稳定物理 IPLC 专线通道、原生解锁 Netflix 4K 与 ChatGPT 的高可用服务商。

独立评测室高分推荐:光速云 (GSY)

自 2020 年稳定运营 · 物理 IPLC 专线 · 原生小火箭一键导入 · 专属立减优惠码:AMM

若你追求企业级独立纯净机房与自研专属客户端,亦推荐参考 隐形人深度实测报告。


六、全站核心知识图谱内链 ​

掌握分流基础后,建议继续依照以下体系进阶网络实操:

  1. 高级路由与业务分流:实现 AI 工具与 4K 流媒体自动走不同节点,请查阅 小火箭高级路由实战:AI生产力与流媒体多场景分流。
  2. 自建规则集与 ACL:打造防污染去广告规则库,请查阅 自建规则集与 ACL 语法定制指南。
  3. 节点地区选型:了解香港与美西节点的适用差异,请查阅 小火箭节点地区选型全景指南:港/日/新/美业务匹配。
  4. 专线物理架构:了解 IPLC 专线的工作原理,请查阅 跨境网络专线原理全解:IPLC、IEPL 与 BGP 中转辨伪实战。

最后检查与核实日期:2026-06-01 · Shadowrocket DIY 独立技术评测室