主题切换
Shadowrocket 自建规则集与 RULE-SET 语法定制全解 2026:远程规则集订阅、模块化分流与防 DNS 污染实战
独立第三方网络规则实测声明
本文属于 Shadowrocket DIY 独立技术评测室 的高级规则集定制专题。本站与各规则集开源社区及网络服务商无利益关联。文中所涉及的 RULE-SET 远程引用语法、GitHub 规则托管与 iOS 内存水位(OOM)实测均基于真实系统环境。请遵守当地法律法规,合规使用网络工具。
很多精通 Shadowrocket(小火箭) 的高级用户在长期维护自己的网络规则时,都会遇到一个棘手的痛点: 当所有的规则都硬编码写在单一的 .conf 配置文件中时,随着规则条目不断累积到上千行,整个文件变得冗长且难以维护。一旦某个海外网站更换了新的 CDN 域名,用户就必须手动打开小火箭逐行寻找并编辑修改。
为了解决规则膨胀带来的维护难题,现代网络分流架构普遍采用了**模块化规则集(RULE-SET)**机制。通过将不同功能维度的域名与 IP 资产抽离为独立的在线列表,客户端可以做到自动按需增量更新,不仅维护成本大幅降低,更能确保规则库永远保持最新状态。
本文将系统拆解小火箭 RULE-SET 模块化语法的底层逻辑,并指导你如何安全自建个人规则集,规避因规则过度膨胀引发的系统级闪退崩溃。
一、架构演进:从单体硬编码到模块化 RULE-SET
理解模块化规则集,首先要看清两种维护模式的技术差异:
【单体配置文件与模块化 RULE-SET 架构对比】
传统单体模式 (硬编码,难以维护):
[单个 .conf 文件] ──► 包含 3000 行混合规则 (广告/直连/流媒体/AI 混杂一处)
│
▼ (一旦某网站换域名,必须全量手动编辑,无法自动同步)
现代模块化模式 (云端解耦,自动更新):
[轻量主配置文件 (.conf)]
│
├─► RULE-SET,https://rules.example.com/adblock.list,REJECT (广告拦截模块)
│
├─► RULE-SET,https://rules.example.com/ai.list,PROXY (AI 生产力模块)
│
├─► RULE-SET,https://rules.example.com/streaming.list,PROXY(4K 流媒体模块)
│
└─► RULE-SET,https://rules.example.com/china.list,DIRECT (国内白名单模块)
│
▼ (各模块在云端独立维护,小火箭后台静默自动拉取最新版本!)通过引入 RULE-SET 语法,主配置文件精简到了几十行,而各个具体的应用资产则交由专门的规则列表维护,大幅提升了分流系统的可维护性与鲁棒性。
二、RULE-SET 语法规范与标准列表格式
在 Shadowrocket 中,RULE-SET 规则的基本语法格式如下:
ini
RULE-SET,规则集URL或本地路径,出站策略,可选参数1. 规则集文件(.list)内部标准格式
一个被引用的外部 .list 文件,其内部不再包含 [Rule] 字段头,而是纯粹的规则条目集合。每行一条规则,支持标准前缀:
ini
# AI 生产力大模型专用规则集 (ai.list 示范)
DOMAIN-SUFFIX,openai.com
DOMAIN-SUFFIX,chatgpt.com
DOMAIN-SUFFIX,oaistatic.com
DOMAIN-SUFFIX,oaiusercontent.com
DOMAIN-SUFFIX,anthropic.com
DOMAIN-SUFFIX,claude.ai
DOMAIN-SUFFIX,cursor.sh
DOMAIN-SUFFIX,cursor.com
DOMAIN-KEYWORD,openaicom当主配置文件执行到 RULE-SET,https://.../ai.list,PROXY 时,小火箭会自动将该列表中定义的所有域名批量赋予 PROXY 动作。
2. 核心性能参数:no-resolve 的绝对重要性
在引用包含 IP-CIDR 规则的远程列表时,务必在主配置文件末尾显式追加 no-resolve 参数:
ini
RULE-SET,https://.../telegram_ip.list,PROXY,no-resolve底层原理剖析
如果不添加 no-resolve 参数,当用户在浏览器发起一个域名请求时,小火箭为了判断该域名是否命中了列表中的某个 IP 网段,会强行暂停当前的规则匹配,提前向本地 DNS 发起一次域名解析请求。
这种行为不仅会导致网页首包打开时间显著增加 200ms 以上,更严重的是,一旦该域名属于被公网污染的海外域名,本地运营商 DNS 会返回一个虚假的国内 IP,从而导致该域名被错误地判定为国内流量而无法打开!追加 no-resolve 可以彻底切断这一安全隐患。
三、性能红线:警惕数万条臃肿规则引发 iOS OOM 闪退
很多极客用户在接触到规则集后,热衷于从 GitHub 导入收录了十万甚至数十万条域名的所谓“全网最全去广告大合集”。这种做法在 iOS 移动设备上是极具破坏性的。
【iOS 系统 NetworkExtension 内存警戒水位 (OOM)】
[iOS 系统物理内存]
│
├─► [普通应用沙盒 (Safari/微信)]: 允许占用数百 MB 至数 GB 内存
│
└─► [网络扩展进程 (Shadowrocket NEProvider)]:
│
├── 内存占用正常 (15MB ~ 30MB): 系统平稳运行
│
└── 内存突破上限 (> 50MB 警戒线):
│
▼ (系统内核触发 Jetsam 机制强制强杀进程!)
【小火箭瞬间闪退,顶部 VPN 图标消失,网络瞬间断开!】iOS 系统为了防止后台网络扩展组件消耗过多电池电量和内存资源,对调用 NEPacketTunnelProvider 的网络进程设置了极其严苛的 Jetsam 内存限制(通常仅允许 35MB 至 50MB 左右)。
如果你导入的规则库超过 2 万条,小火箭在冷启动将规则全量载入内存构建 Trie 树时,内存占用会迅速突破 50MB 阈值。此时 iOS 系统会直接对小火箭发送 SIGKILL 信号强制杀掉进程。这就是为什么很多用户抱怨“小火箭一开启几秒钟就自动闪退”的底层元凶!
规则轻量化最佳实践:
- 单机总规则条数严格控制在 3,000 条以内;
- 杜绝导入全量 Adblock 网页元素过滤规则(小火箭是四层/七层网络代理,无法执行浏览器 DOM 级别的 CSS 选择器去广告);
- 专注于高价值的主机名与域名后缀过滤。
四、规则集定制高级语法:IP-ASN 与 PROCESS-NAME 扩展
除了常规的域名后缀与 CIDR 掩码,在处理特定跨国商业平台时,小火箭还支持更深入的协议层规则拓展:
ini
# 基于自治系统编号 (ASN) 进行整网路由
# 将属于 Google 全球机房自治系统 (AS15169) 的所有 IP 归入代理
IP-ASN,15169,PROXY,no-resolve
# 基于 Cloudflare 节点 ASN (AS13335) 归入代理
IP-ASN,13335,PROXY,no-resolve
# 本地端口分流 (特定协议端口直连)
DEST-PORT,22,DIRECT
DEST-PORT,123,DIRECT自建规则集工程化维护建议
- 模块单一职责:不要将广告拦截与流媒体规则混在一个列表里。建议拆分为独立的
adblock.list、ai.list与media.list,便于针对性调试与版本追踪; - 善用 GitHub 自动化同步:可以通过脚本每天定时拉取开源社区的最新公共白名单,自动去重并剔除无效规则后编译成轻量版本推送至个人分支。
五、自建个人规则集托管实操
如果你想自建专属规则集并在多台设备(iPhone、iPad、Mac)之间保持同步,最可靠的方式是利用 GitHub Gist 或私有代码仓库进行托管:
【个人规则集自建与同步全流程】
访问 gist.github.com 创建公共或私有 Gist 代码片段
│
▼
录入需要定制的域名清单 (例如 my-direct.list)
│
▼
点击查看【Raw】原始文本,获取无格式直链 URL
│
▼
在 Shadowrocket 主配置文件中写入:
RULE-SET,https://gist.githubusercontent.com/.../my-direct.list,DIRECT
│
▼
小火箭自动定时静默拉取,修改 Gist 即可实现全端秒级同步!六、优质专线基础设施配置建议
自建规则集的核心价值在于精细化分流,而分流后的网络质量依然取决于后端专线。若 PROXY 动作指向的是频繁跳延迟、丢包率居高不下的劣质公网线路,规则调优的意义就会大打折扣。
建议配合具备全物理 IPLC 专线通道、单节点 2.5Gbps 带宽冗余且全节点解锁流媒体的高水准服务商。
独立评测室高分推荐:光速云 (GSY)
自 2020 年稳定运营 · 物理 IPLC 专线 · 原生小火箭一键导入 · 专属立减优惠码:AMM
若对企业级纯净独立 IP 隔离有高标准诉求,亦推荐深入查阅 隐形人深度实测报告。
七、全站核心知识图谱内链
掌握自建规则集后,建议继续依照以下体系进阶网络实操:
- 分流规则基础:理解 DIRECT、PROXY、REJECT 底层语法,请查阅 Shadowrocket 分流规则底层逻辑全解。
- 高级路由实战:学习 AI 与 4K 流媒体场景化分流,请查阅 小火箭高级路由分流实战手册。
- 节点地区选型:了解全球核心节点物理时延差异,请查阅 小火箭节点地区选型全景指南:港/日/新/美业务匹配。
- 网络连不上排查:若配置后无法访问网络,请查阅 Shadowrocket 连接失败排查:节点超时与断网深度排错。
最后检查与核实日期:2026-06-01 · Shadowrocket DIY 独立技术评测室
