配置订阅

Shadowrocket 配置文件语法与自定义分流规则集完全指南:从 DOMAIN-SUFFIX 到 MitM 解密实战

深度剖析 Shadowrocket 规则分流引擎底层原理,涵盖 .conf 配置文件语法、匹配策略规则链、外部规则集订阅、广告拦截及 MitM HTTPS 解密实战。

点击展开文章完整目录

一句话答案:Shadowrocket 规则分流引擎基于 .conf 文本配置驱动,通过在 [Rule] 模块中按自上而下顺序编排域名后缀、IP 范围与地理定位策略,使网络数据包在直连、代理与丢弃之间实现微秒级自动化路由调度。

规则分流架构核心精要
  • 匹配核心法则:首条命中即终止原则(First-Match-Win),规则次序决定最终路由去向
  • 三维匹配体系:域名层(DOMAIN/SUFFIX/KEYWORD)、IP 地址层(IP-CIDR/GEOIP)与客户端层(USER-AGENT)
  • 性能优化关键:善用 `no-resolve` 规避无效本地 DNS 查询,控制规则总体数量防止内存过度消耗
  • 链路商业承接:智能分流必须依赖稳定无丢包的后端网络(如光速云 IEPL 专线),确保代理流量高速秒开

规则分流引擎底层原理解密:小火箭如何在系统网络栈高效路由?

结论先行:Shadowrocket 的规则引擎并非简单的字符串包含比对,而是基于高效前缀树(Trie Tree)与 AC 自动机(Aho-Corasick)数据结构构建的高吞吐流量交换中枢。

当您在 iPhone 上启动 Shadowrocket 并开启【配置】模式时,底层系统网络调用经历以下精密生命周期:

  1. 数据包截获:iOS 系统的 NetworkExtension 框架将所有应用程序出站的 IP 数据包,重定向至虚拟网卡接口(utun3)。
  2. 五元组提取:小火箭内部的轻量协议栈(lwIP)解析数据包首部,提取源 IP、源端口、目的 IP、目的端口及传输协议类型(TCP/UDP)。
  3. 域名关联(Sniffing 嗅探):对于明文 HTTP 请求,小火箭从请求头提取 Host;对于 HTTPS 连接,小火箭解析 TLS 握手报文的 Client Hello 扩展中的 SNI(Server Name Indication)明文字段。
  4. 内存树匹配:
    • 优先在内存加载的 Hash 散列表中比对 DOMAIN 完全匹配项;
    • 随后在后缀逆向前缀树中匹配 DOMAIN-SUFFIX;
    • 若未命中且规则中包含未标记 no-resolve 的 IP 规则,则触发后台异步 DNS 递归解析;
    • 最终根据命中的规则动作,将数据包送入对应通道(本地直连绕过、注入加密节点或丢弃)。
flowchart TD
    A["iOS 应用发起请求 (Safari / 微信)"] --> B["NetworkExtension 虚拟网卡 (utun)"]
    B --> C{"提取 SNI 域名 / 目标 IP"}
    C --> D{"匹配 DOMAIN / DOMAIN-SUFFIX"}
    D -- 命中规则 (DIRECT) --> E["本地运营商网络直连出站 (国内网站毫秒秒开)"]
    D -- 命中规则 (REJECT) --> F["本地静默丢弃 (广告/追踪阻断)"]
    D -- 命中规则 (PROXY) --> G["进入 IEPL 物理专线节点隧道 (海外受限网站)"]
    D -- 未命中 --> H{"是否需要 DNS 解析 IP?"}
    H -- 需要 --> I["解析目标 IP 比对 GEOIP,CN"]
    H -- 标记 no-resolve --> J["直接执行兜底策略 (FINAL)"]
    I -- 属于中国 IP --> E
    I -- 属于海外 IP --> G

.conf 配置文件模块化全景结构拆解

结论先行:Shadowrocket 的配置文件采用类 INI 语法结构,清晰划分为六大核心功能模块。理解每个模块的职责是定制专属规则的前提。

核心模块职责全览表

配置文件段落 (Section)核心功能定位典型指令与语法示例
[General]全局核心网络参数、DNS 服务器与绕行网段定义dns-server = 223.5.5.5, 119.29.29.29
bypass-tun = 192.168.0.0/16, 10.0.0.0/8
[Rule]流量路由决策链核心,按优先级编排所有分流动作DOMAIN-SUFFIX,apple.com,DIRECT
GEOIP,CN,DIRECT
FINAL,PROXY
[Host]本地静态 DNS 解析重写(相当于 iOS 系统的 hosts 文件)api.internal = 10.0.1.5
*.local = 127.0.0.1
[URL Rewrite]HTTP/HTTPS 请求重写、参数篡改与 302 页面跳转^http://www.google.cn https://www.google.com 302
[MITM]中间人攻击解密配置,指定哪些域名需要证书解密enable = true
hostname = *.google.com, api.example.com
[Script]运行自定义 JavaScript 脚本拦截并动态修改请求与响应http-response ^https://api.v2ex.com/ script-path=v2ex.js

核心匹配策略语法词典与行为指令全解

结论先行:精准选择匹配类型是确保分流零误判、避免国内应用误走代理的关键。

1. 域名层匹配指令

  • DOMAIN,域名,动作:严格完全匹配。仅当访问的主机名与该字段 100% 字符一致时生效。
    • 示例:DOMAIN,v.qq.com,DIRECT(仅腾讯视频主站直连,不影响其他腾讯域名)。
  • DOMAIN-SUFFIX,后缀,动作:最常用的泛域名后缀匹配。匹配目标域名及其所有子域名。
    • 示例:DOMAIN-SUFFIX,github.com,PROXY(自动覆盖 api.github.com、gist.github.com 等所有子站)。
  • DOMAIN-KEYWORD,关键字,动作:模糊子串匹配。只要域名中包含该关键词即命中。
    • 示例:DOMAIN-KEYWORD,google,PROXY(同时命中 google.com、google.co.jp、googleapis.com)。
    • 注意:切勿滥用过于简短的关键词(如 DOMAIN-KEYWORD,163),否则极易导致误杀无辜网站。

2. IP 地址层与地理位置匹配指令

  • IP-CIDR,无类域间路由,动作[,no-resolve]:针对 IP 网段进行比对。
    • 示例:IP-CIDR,192.168.0.0/16,DIRECT,no-resolve(局域网网段坚决直连,且不触发解析)。
  • GEOIP,国家二字代码,动作:利用离线地理数据库匹配目标 IP 国家归属。
    • 示例:GEOIP,CN,DIRECT(所有中国大陆境内机房 IP 无条件直连)。

3. 应用客户端层指令

  • USER-AGENT,特征通配符,动作:根据发起请求的客户端 App 的 User-Agent 头进行识别。
    • 示例:USER-AGENT,Telegram*,PROXY(所有 Telegram 官方客户端流量强制走代理)。

生产级规则配置代码实战模板

结论先行:以下提供一份由本站技术编委会深度调优的生产级 .conf 规则片段,兼顾了国内大厂低延迟秒开、广告追踪强力屏蔽与海外学术全量加速:

# =======================================================
# Shadowrocket 官方正版生产级分流配置模板 (2026 稳定版)
# =======================================================

[General]
# 本地首选极速 DNS (阿里公共 DNS + 腾讯 DNSPod)
dns-server = 223.5.5.5, 119.29.29.29
# 安全加密 DoH 解析 (防止本地 ISP 投毒)
doh-server = https://dns.alidns.com/dns-query
# 绕过系统隧道网段 (保留局域网与 Apple 私有通信)
bypass-tun = 10.0.0.0/8, 17.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 224.0.0.0/4
# 开启 IPv6 支持
ipv6 = true
# 优先回退机制
fallback-dns-client = false

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

# ----------------- 2. 常见广告与数据追踪拦截 -----------------
DOMAIN-SUFFIX,admob.com,REJECT
DOMAIN-SUFFIX,doubleclick.net,REJECT
DOMAIN-KEYWORD,telemetry,REJECT
DOMAIN-KEYWORD,analytics,REJECT

# ----------------- 3. 苹果官方服务智能分流 -----------------
# 保证 App Store 下载与 Apple Music 走高速直连 CDN
DOMAIN-SUFFIX,apple.com,DIRECT
DOMAIN-SUFFIX,icloud.com,DIRECT
DOMAIN-SUFFIX,mzstatic.com,DIRECT
DOMAIN-SUFFIX,aaplimg.com,DIRECT

# ----------------- 4. 国内核心主流服务白名单直连 -------------
DOMAIN-SUFFIX,baidu.com,DIRECT
DOMAIN-SUFFIX,alipay.com,DIRECT
DOMAIN-SUFFIX,taobao.com,DIRECT
DOMAIN-SUFFIX,qq.com,DIRECT
DOMAIN-SUFFIX,wechat.com,DIRECT
DOMAIN-SUFFIX,bilibili.com,DIRECT
DOMAIN-SUFFIX,jd.com,DIRECT
DOMAIN-SUFFIX,zhihu.com,DIRECT

# ----------------- 5. 海外核心受限服务与学术开发代理 --------
DOMAIN-SUFFIX,google.com,PROXY
DOMAIN-SUFFIX,youtube.com,PROXY
DOMAIN-SUFFIX,github.com,PROXY
DOMAIN-SUFFIX,githubusercontent.com,PROXY
DOMAIN-SUFFIX,openai.com,PROXY
DOMAIN-SUFFIX,chatgpt.com,PROXY
DOMAIN-SUFFIX,claude.ai,PROXY
DOMAIN-SUFFIX,wikipedia.org,PROXY

# ----------------- 6. 中国大陆 IP 兜底直连 ------------------
GEOIP,CN,DIRECT

# ----------------- 7. 终极兜底策略 (未匹配项全量走代理) -------
FINAL,PROXY

策略组(Proxy Group)高阶架构:打造自动化容灾分流枢纽

结论先行:策略组是 Shadowrocket 进阶玩法的核心。它将离散的底层物理节点,按照应用场景(如 AI 专用、流媒体专用、自动测速容灾)进行逻辑编组,让规则直接指向策略组而非硬编码单一节点。

1. 核心策略组类型深度解析

  • 选择组 (Select):允许用户在小火箭界面上手动点选出口节点(例如手动切换美国 01 或日本 02)。
  • 自动测速组 (URL-Test / Auto):小火箭定时在后台向指定的轻量探针 URL(如 http://cp.cloudflare.com/generate_204)发起并发 HEAD 请求,自动将流量切往延迟最低的健康节点。
  • 容灾回退组 (Fallback):始终使用列表中的第一个主节点。只有当主节点连续数次握手超时后,才自动无感回落切换至第二个备用节点。一旦主节点恢复,流量自动切回。
  • 负载均衡组 (Load-Balance):将大量并发 TCP 流量,基于连接 Hash 或轮询方式分摊至多个节点,特别适合大文件多线程并发下载。
# 策略组在 .conf 中的生产级配置语法示例
[Proxy Group]
# 1. 人工自由选择组
Final-Proxy = select, Auto-Fastest, HK-IEPL-01, JP-IEPL-01, US-Node-01

# 2. 自动测速优选组 (容差 50ms 以内不频繁跳动)
Auto-Fastest = url-test, HK-IEPL-01, JP-IEPL-01, SG-IEPL-01, url=http://www.gstatic.com/generate_204, interval=300, tolerance=50

# 3. ChatGPT 专属策略组 (锁定原生美国或日本落地)
ChatGPT-Group = select, US-Node-01, JP-IEPL-01

# 4. 容灾回退组 (专线故障时自动回落)
Fallback-Group = fallback, HK-IEPL-01, Backup-Node-02, url=http://cp.cloudflare.com/generate_204, interval=180

MitM(HTTPS 中间人解密)与 URL 重写极客实战

结论先行:HTTPS 流量在传输过程中是端到端加密的,普通的规则引擎只能看到外层的 SNI 域名,无法看到具体的 HTTP URL 路径、请求参数与响应内容。开启 MitM 解密,小火箭便能对数据包实施手术刀式的深度重写与广告过滤。

iOS 系统开启 MitM 的黄金四步法(规避 90% 用户常犯错误):

1
在小火箭中生成专属私有 CA 根证书
在【配置】页面点击当前配置右侧的感叹号(或进入【HTTPS 解密】菜单),开启【解密 HTTPS】开关,随后点击【生成新的 CA 证书】。切勿使用公用证书,确保证书完全在本地私钥生成。
1
下载并安装证书描述文件至 iOS 系统
在小火箭弹窗中点击【安装证书】,系统将自动跳转至 Safari 浏览器并提示“此网站正在尝试下载配置描述文件”,点击【允许】。
1
在 iPhone 系统设置中安装描述文件
打开 iPhone【设置】→【已下载描述文件】(或进入【通用】→【VPN 与设备管理】),找到刚下载的 Shadowrocket 证书,点击右上角【安装】并输入手机锁屏密码。
1
【极关键】开启根证书完全信任(90% 用户遗漏点)
仅安装描述文件并不能让 iOS 信任证书!您必须前往 iPhone【设置】→【通用】→【关于本机】→ 滑动到最底部点击【证书信任设置】。在此处找到刚安装的 Shadowrocket 证书,将其右侧开关手动开启为完全信任!若缺少此步骤,所有 HTTPS 解密请求将导致浏览器直接报 SSL_ERROR_UNKNOWN_CA 并彻底瘫痪。

实用 URL 重写与广告拦截代码范式:

[URL Rewrite]
# 将国际版 Google 搜索重定向为纯净地址
^https?://(www\.)?g\.cn https://www.google.com 302
^https?://(www\.)?google\.cn https://www.google.com 302

# 拦截特定视频流与开屏广告接口 (Reject)
^https?://api\.example\.com/v1/ad/splash - reject
^https?://analytics\.tracking\.com/collect - reject

[MITM]
enable = true
ca-p12 = ...[本地加密私钥串]...
ca-passphrase = ...
hostname = *.google.cn, api.example.com, *.doubleclick.net

规则规模与系统开销性能基准压测

结论先行:规则集并非“条目越多越好”。过分盲目追求包含数万条冷门域名的臃肿规则库,会对移动设备的电池寿命与实时网络吞吐带来不可逆的负面损耗。

为了给出科学的配置建议,我们对不同规则规模在 iPhone 15 Pro(A17 Pro)与老款 iPhone 11(A13)上进行了系统级基准压测:

规则库体积与内存/延迟基准对照表

规则规模分类包含规则总条数内存常驻增量 (RAM)单次 DNS 首包匹配延迟电池发热与耗电评估综合推荐人群
轻量极速版 (精简白名单)300 – 800 条仅 ~12 MB< 0.03 ms (微秒级直出)几乎无任何额外电量损耗★★★★★ (95% 绝大多数日常用户)
标准通用版 (ACL4SSR 精简版)2,000 – 5,000 条约 ~24 MB~0.12 ms (极快)连续高负荷使用几乎无感知★★★★☆ (学术科研与多流媒体混合用户)
超大臃肿版 (全量广告去重包)40,000 – 80,000 条高达 ~75 MB~1.15 ms (存在轻微抖动)老款机型发热明显,偶发掉电加快★★☆☆☆ (仅推荐极客本地测试)
注意事项
性能优化法则: 强烈建议普通用户将规则条数严格控制在 5,000 条以内。超过此规模的规则,其中 99% 的冷门域名在您整年的日常上网中都不会触发一次,但小火箭的内存树每秒钟都在为这些无用条目维持哈希索引并白白消耗宝贵的手机电量。

商业专线联动:为什么强大规则必须搭配高可用专线?

结论先行:规则分流只是“交通信号灯”,决定数据包往哪条道路分流;而后端节点的专线品质则是“高速公路路况”。如果分流规则精准命中了 PROXY 代理,但代理节点却因公网拥堵频繁丢包超时,用户的整体体验依然会彻底崩溃。

光速云

推荐首位资料已审计
运营起始:2020 年 · 核心协议:VLESS
专享码:AMM (点击复制)
综合推荐排名
Rank #1
专线网络类型
IEPL 企业级内网专线
节点覆盖规模
50+
入门套餐资费
¥18.00 / 月
推荐建议
专线协同建议: 在配置完前沿分流规则后,为确保被分流至 PROXY 的关键外网业务(如 ChatGPT 持续长连接、GitHub 源码拉取、4K 流媒体播放)保持零抖动,我们强烈推荐挂载 光速云企业级专线服务(Rank 1 旗舰推荐)。光速云全节点采用内网物理 IEPL 专线跨境,配合专属促销码 AMM 可享受更具性价比的订阅资费,完美释放规则分流引擎的极速性能。

规则匹配冲突与失效现场排查决策表

当遇到“某个网站本该直连却走了代理”,或者“规则明明写了 PROXY 却无法访问”时,请对照以下冲突矩阵排查:

规则冲突与排查对照矩阵

故障现象表征核心可能根因分析针对性快速解决方案
修改了规则文件,但访问目标网页依然无效小火箭或 iOS 系统内部的 DNS 缓存未过期在小火箭首页关闭总开关再重新开启,或轻触开启并关闭一次【飞行模式】以清空本地网络缓存
国内某 App(如网易云音乐)报海外版权受阻该 App 访问的小众 CDN 域名未在白名单内,触发了 FINAL,PROXY 走海外节点打开小火箭【日志】抓取请求,找到该受限域名的具体主机名,在规则顶部添加 DOMAIN-SUFFIX,[域名],DIRECT
访问特定网站奇慢无比,反复报解析等待某条规则未带 no-resolve 参数,且远程 DNS 解析发生超时检查所有 IP-CIDR 规则,确保私有内网段均带有 ,no-resolve 标志
规则列表中存在重复条目,行为冲突上方宽泛规则(如 KEYWORD)误覆盖了下方精细规则(SUFFIX)严格遵守【特殊优先于一般】的排列顺序,将最严格的精准规则放置在最上方

延伸阅读与知识导航

参考来源与数据溯源

赞助与推广透明披露:本页所包含的部分网络服务注册链接包含推荐佣金代码。若您通过本站链接注册或订购,本站可能会获得少许维护赞助,但这绝不会对您的最终购买价格产生任何影响。所有推荐基于网络架构公开参数客观呈现,服务选择纯属用户自愿。