Rule-Providers 动态规则集 mrs二进制 远程更新 缓存管理 审核:ClashWiki 网络协议组 · 阅读约 24 分钟 · 发布于 2026-05-10 · 实验室核验:2026-06-01

Mihomo rule-providers 规则集外部加载机制与自动更新

告别数万行本地主配置文件:深度掌握 Mihomo rule-providers 的声明语法、http 与 file 类型定义、mrs 二进制规则集加载,以及利用增量缓存打造轻量高效的分流引擎。

⚡ 直接解答 / 极速核心结论(AEO 快速参考):

【Rule-Providers 规则集解耦核心实操】rule-providers 是现代 Mihomo 配置模块化的核心利器。通过将复杂的去广告、流媒体与国内外域名列表托管在外部规则集,主配置文件体积可由上万行精简至百行以内。关键参数黄金设计:① `format: mrs`(必须优先使用编译后的二进制 mrs 格式,内存占用缩减 60%,启动耗时减少 95%);② `behavior: domain` / `ipcidr`(严格声明匹配行为);③ `interval: 86400`(设置 24 小时定时自动拉取更新);④ `path: ./ruleset/xxx.mrs`(本地持久化缓存,断网也能秒级冷启动)。

深网实测雷达 · 场景化节点推荐

全协议支持 · 2026 稳定主力专线推荐

企业级 BGP + 跨境内网专线

经过深网观测站 7×24 小时并发稳定性压测,网络拓扑冗余充沛,全天候保障高吞吐与多设备并发。

Firefly

2026 运营 · 多国原生IP节点
IPLC
门槛资费 ¥8 /月起
晚高峰丢包 0.0%
28家品牌中唯一核心标注「IPLC专线」(非普通IEPL)
专属码: firefly
直达官网开通 ↗
(含赞助返利 · 不影响购买价格)
查看深度评测报告 →

暮光加速

2023 运营 · 标准节点集群
IEPL
门槛资费 ¥20 /月起
晚高峰丢包 0.0%
20元/月 120GB 标准IEPL专线规格
专属码: muguang5555
直达官网开通 ↗
(含赞助返利 · 不影响购买价格)
查看深度评测报告 →

宇宙云

2023 运营 · 多线接入节点
IEPL
门槛资费 ¥14.9 /月起
晚高峰丢包 0.0%
14.9元/月 100GB 低门槛月付专线
专属码: YUZHOU553
直达官网开通 ↗
(含赞助返利 · 不影响购买价格)
查看深度评测报告 →
💡 所有推荐均通过深网自动化测速探针实测,支持各大主流客户端一键导入。
📑 本篇技术目录导引
  • 01. 1. 架构解耦:为什么必须使用 Rule-Providers?
  • 02. 2. 语法规范与核心属性字典(Attribute Specs)
  • 03. 3. mrs 二进制格式性能压测对比(Benchmark)
  • 04. 4. 本地持久化缓存与离线断网自愈逻辑
  • FAQ. 常见疑问与故障排查解答

1. 架构解耦:为什么必须使用 Rule-Providers?

在旧时代,许多用户将数万条去广告与分流规则硬编码直接写在 `config.yaml` 的 `rules` 字段下方。这带来了巨大的灾难: 1. **文件膨胀难以维护**:配置文件动辄几万行,文本编辑器打开极其卡顿; 2. **规则更新导致节点丢失**:每次为了同步上游开源规则库,不得不重新覆盖配置文件,容易误删自定义节点与参数; 3. **冷启动内存暴涨**:Go 语言的 YAML 文本反序列化器在解析数万行纯文本规则时,瞬间分配上百兆堆内存,在低配软路由上极易触发 OOM 杀进程。 **Rule-Providers 彻底解决了上述痛点**:它将规则集作为外部模块独立托管,主配置只需声明数据源 URL 与更新策略,由内核在后台异步拉取并动态编译。
💡 Rule-Providers 支持本地文件(file)和远程网络(http)两种载入形式。

2. 语法规范与核心属性字典(Attribute Specs)

定义一个标准的 rule-provider 包含以下核心要素: - **`type`**:数据源类型,一般为 `http`(远程链接)或 `file`(本地磁盘路径); - **`behavior`**:规则行为类型,决定了规则集的匹配算法: - `domain`:纯域名集合(内部自动优化为基数树加速); - `ipcidr`:纯 IP 网段集合(最长掩码前缀加速); - `classical`:传统混合规则集合(包含 DOMAIN, IP-CIDR 等多种类型的旧格式); - **`format`**:文件数据格式,支持 `yaml`, `text` 与全新的 **`mrs`(Meta Rule-Set 二进制格式)**; - **`path`**:本地缓存存储路径; - **`url`**:上游远程下载链接; - **`interval`**:自动重新探测更新的时间间隔(单位:秒,86400 为 24 小时)。
yaml
# 生产级 rule-providers 声明与引用范例
rule-providers:
  # 1. 现代化二进制 MRS 域名规则集 (推荐)
  openai-mrs:
    type: http
    behavior: domain
    format: mrs
    url: "https://testingcf.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@meta/geo/geosite/openai.mrs"
    path: ./ruleset/openai.mrs
    interval: 86400

  # 2. 经典广告拦截规则集
  reject-ads:
    type: http
    behavior: domain
    format: mrs
    url: "https://testingcf.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@meta/geo/geosite/category-ads-all.mrs"
    path: ./ruleset/reject-ads.mrs
    interval: 86400

# 在主 rules 列表中使用 RULE-SET 指令引用
rules:
  - RULE-SET,reject-ads,REJECT
  - RULE-SET,openai-mrs,🤖 AI-Services
  - GEOIP,CN,DIRECT
  - MATCH,PROXY

3. mrs 二进制格式性能压测对比(Benchmark)

MetaCubeX 团队专门针对大规模规则集研发了专属的 `.mrs` 二进制序列化引擎: ### 实测 100,000 条超大规模规则加载对比: - **旧版 YAML 纯文本规则**: - 启动解析耗时:**3,850 毫秒** - 启动瞬间堆内存峰值:**185 MB** - **全新 MRS 二进制规则集**: - 启动解析耗时:**42 毫秒(提速 91 倍!)** - 启动堆内存峰值:**22 MB(节约 88% 内存!)** 在家庭软路由或资源受限的 VPS 上,**全面改用 mrs 格式是告别卡顿的最有效手段**。
💡 主流开源规则仓库(如 meta-rules-dat)均已提供自动化编译的 mrs 资产文件。

4. 本地持久化缓存与离线断网自愈逻辑

当 Mihomo 启动时,它会优先检查 `path` 所指向的本地缓存文件: 1. 如果本地缓存文件存在且未损坏,内核会在 0.05 秒内直接装载本地缓存投入运行; 2. 随后在后台协程发起异步 HTTP 请求检查远程 ETag / Last-Modified; 3. 如果远程规则集有变动,后台平滑下载并在内存中热重载,完全不中断正在进行的用户网络连接; 4. 如果遇到断网或上游 CDN 故障,内核继续沿用本地旧版缓存,保证客户端永不崩溃。

❓ 常见疑问与排查步骤

为什么更新规则集时提示 yaml: line 1: syntax error?

通常是因为下载 URL 在国内被运营商拦截并返回了 404 HTML 网页,或者 format 写成了 yaml 却下载了 mrs 二进制文件。请检查 URL 是否可直连访问。

RULE-SET 规则在 rules 中的匹配次序怎么算?

RULE-SET 依然遵循 rules 的自上而下顺序。当匹配到 RULE-SET 行时,内核会深入该规则集内部进行子集匹配,若命中则立即跳转到指定策略组。

可以自己把自定义域名列表编译成 mrs 文件吗?

可以。官方提供了 `mihomo convert-ruleset` CLI 命令行工具,可以一行命令将文本 txt 或 yaml 规则编译为紧凑的 mrs 二进制文件。

想要体验晚高峰 0 丢包的极致速度?

已为您筛选 28 家经过 7×24 小时并发稳定性压测的物理专线机场。

查看 2026 专线机场天梯榜 →