写给谁:和 DNS 专篇、TUN 总览、策略组教程怎么分工

如果你还不会导入订阅或没把客户端跑起来,先把《Clash Verge Rev 完整配置教程》走完;若你现在卡的是策略组怎么选节点、延迟测速数字怎么读,请看《Windows 版策略组与延迟测速》泛化的 TUN 打开方式、全局透明代理语境《TUN 模式指南》里占篇幅更大,本篇不重复那张全景图。

当你已经能稳定联网,却开始问:「为什么别人的分流列表永远跟得上应用更新,我只有一份几个月前的 domains?」——通常不是节点魔法,而是规则素材管线没接通:rule-providers 负责从 URL 拉取并缓存素材;rules 里的 RULE-SET 决定这些素材在匹配链上的哪一环生效interval 则是把「多久重新同步一次」从拍脑袋变成工程参数

先把积木摆正:rule-providers 到底是什么

Mihomo(Clash Meta)族配置里,rule-providers顶层键下面的一组命名条目。每个条目描述一类远程(或本地文件)规则集的获取方式去哪拉拉下来按什么语义解析落到本机哪个 path、以及自动重拉周期

把它和机场订阅区分开:订阅主要给你节点、策略组骨架、proxy-providers等内容;rule-providers常常是第三方的域名列表、ipcidr 集或 classical 片段,用来补充或替换「手写 rules 里那几百行星号域名」。不写 rule-providers 也可以上网,但你会被迫把维护压力全堆在手工追更上,时间一长必然漂移。

behavior(常见取值如 domain、ipcidr、classical)告诉内核对下载内容采用哪种解包与索引策略。字段集合会随内核小版本微调——读者若以手里实际版本行为为准,图形界面仍可能笼统叫作「规则集」,最后落地仍然是 YAML 语义

💡

你在朋友圈看到的「某某去广告 / 流媒体规则」多数也是一条 HTTP(S) 地址。先确认来源可信与许可证氛围,再写入配置;其次才谈 interval 省钱、省上游。

interval 与自动更新:把「会不会刷新」讲清楚

interval 通常以为单位,描述距离上一次成功获取后,内核可以再次发起拉取的最小间隔。它不负责替你「秒级追更热点」——那是 CDN 与舆情风口的事;它的工程意义是:让你在稳定性、上游友好度与规则新鲜度之间取折中

实务上可遵循一层朴素纪律:私有机场节点订阅公共规则集合不要共用一个心理预期——前者可能几小时变一次;后者常由社区周更或日更。把 interval 设得过短并不会让魔法更强,反而放大timeout、指纹风控、临时 403等噪声在日志里的占比。

若你刚改完 rule-providers 却发现本地 path 仍是旧时间戳,优先检查当前配置是否真被挂载保存后是否触发重载、以及拉取通道是否必须走代理(部分规则托管站对直连并不友好)。这时在对应条目中填写 proxy 让下载走指定策略,往往比盲改 DNS 更对症——DNS 平面与素材拉取平面不必混为一谈,但在 fake-ip 场景下又可能间接耦合,需要分层排查而不是单层抬杠。

rules 里怎么「挂上」规则集:RULE-SET 引用的游戏规则

只写 rule-providers 不写 RULE-SET,好比把书买来堆在门口——内核不会凭空替你翻开。你在 rules: 列表里需要出现类似形态的行(示意,具体策略名随你脚手架):

rules:
  - RULE-SET,my-reject,REJECT
  - RULE-SET,my-streaming,Streaming
  - MATCH,DIRECT

这里的匹配顺序从上到下仍然是铁律:更具体、更昂贵、更需要抢先兜底的规则集通常应放在更靠上的位置;而宽泛的 GEOIP 或最后的 MATCH仍应守在全表末端,避免整表被一条手滑的大网提前收官。

RULE-SET 行的第二列必须与 rule-providers该项的键名一致。名称拼写漂移是线下会诊最高频的低级错误之一:YAML 压缩饼干里少一个字符,连接面板里就会变成另一条策略在扛流量

若你同时维护域名类IP/CIDR 类两套素材,记得核对各自 behavior 与规则文件内部格式是否一致。behavior 与内容 format 不对盘时,日志往往会用「解析」「decode」一类词委婉抱怨;这时不要先怀疑运营商,先看下载下来的文件头几行是不是你走神时复制错了 URL。

第一步:在 Clash Verge Rev 找到「正在生效的那份 YAML」

打开 Clash Verge Rev 主窗口,切到配置/Profiles列表:带使用中角标的那份才是运行时快照来源。点进文本编辑/查看 YAML(措辞随版本)。如果你面对的是远端一键订阅、客户端禁止原地改写,请不要和只读锁搏斗——改用 Merge、覆写、补丁、prepend-rules(外壳命名各异)把 rule-providers 与额外 rules 附加进合并后的最终文档

Merge 的优先级与合并规则一旦写歪,会出现「编辑器里明明有,内核说没有」的灵异体验。省时间的自检是:在合并结果里全文检索 rule-providers: 出现了几次、缩进层级是否并列于其它顶层键、有没有被意外-nest 进某个策略组段落里。

在排查阶段建议保持模式为 RULE:全局模式容易把「规则集没挂上」与「所有流量被策略强行拐跑」搅成一锅粥,复盘成本更高。

第二步:声明一条可自动更新的 rule-providers

下面是一段教学骨架(URL 为占位,请替换为你信任的源;行为字段以你本机内核文档为准):

rule-providers:
  example-domains:
    type: http
    behavior: domain
    url: "https://example.com/rules/domain.txt"
    path: ./ruleset/example-domains.yaml
    interval: 86400

逐项理解常见校验清单type 是否与拉取协议匹配;url 是否可在浏览器或 curl 中返回 200;path 是否指向可写目录(某些便携安装路径对权限挑剔);interval 是否被你设成合理天数或小时数而非无意义的 60 秒狂热刷新。

当托管站对直连地区不友好时,为该项加 proxy,指定走你可用的下载策略,避免规则永远停在「首次失败」状态:

  example-domains:
    type: http
    behavior: domain
    url: "https://example.com/rules/domain.txt"
    path: ./ruleset/example-domains.yaml
    interval: 172800
    proxy: 🔰 节点选择

策略名请替换为你配置上真实存在的出站或策略组标签;图标 emoji 只是民间习惯,不是语法必需品。

⚠️

不要把来历不明的规则源直接嵌进生产配置。远程 YAML/文本即代码:它具有与你订阅相当的杀伤力。先在隔离环境抓取并 diff,再谈自动更新。

第三步:在 rules 中插入 RULE-SET 并保存重载

在确认 rule-providers.example-domains 名称无辜之后,把 rules: 段落补上引用行。务必把它放在你想让它参与博弈的高度:例如去广告或恶意域兜底常常靠近列表前半;而与你日常手工 DOMAIN-SUFFIX 冲突时,应用「更严谨那条优先」的纪律,而不是依赖论坛吵架结论。

  1. 备份当前 Merge 或完整快照(时间戳文件名)。
  2. 插入 RULE-SET,example-domains,REJECT 或你的目标策略。
  3. 保存后执行重载;看日志是否出现「fetch」「cached」一类正常语义。
  4. 选两条应命中与不应命中的域名做对照访问,观察连接面板上的策略链条。

如果你在 DNS 教程里把 enhanced-mode 切到了 fake-ip,有时会见到域名显示与握手路径不完全同屏的体感差异——这不是本文主线,但你在验收 RULE-SET 时要意识到:DNS 与规则素材是两条管道,偶发「看起来解析对了但策略怪异」要先分层拆,不要单方面删除 interval。

长期有效:订阅刷新、缓存损坏与「为什么又回去旧规则」

最典型的复古故障是:机场后台一键更新订阅后,你的 rule-providers 整段蒸发。解法前面说过一次,值得再强调:远端快照与私人补丁分层。让机场文件只管节点与基础策略组;你的 rule-providers 与附加 rules 放在不会被覆盖的 Merge 平面

第二类复古故障是path 指向的缓存半写入:磁盘满、杀软锁文件、意外断电都可能留下截断文件。删除对应缓存并让内核按 URL 重新拉一次,通常比玄学重装更接近病灶——操作前仍旧先备份。

第三类是上游更换了文件格式而你本地 behavior 仍写 domain。此类问题在日更社区规则里并不罕见:把版本钉或更新说明当作正经依赖源的一部分阅读,而不是只复制别人摘要栏里的四行 YAML。

如果你已习惯读连接行字段,可顺延《Mihomo Party Windows 日志与连接面板》里的对照思路;Verge Rev 界面措辞不同,但从会话回溯策略链的方法通用。

短文答疑:半截句子里的高频坑

有了 RULE-SET 还要不要写 GEOIP

看需求。RULE-SET 擅长「追更名单本体」;GEOIP 擅长「按地区大桶分流兜底」。现实配置里两者并列出现很常见——注意不要让两条逻辑互相打架,尤其当你同时引入多套互相重叠的名单时,最终体感取决于谁先匹配成功,不是谁名字更酷。

classical 与 domain 我选谁

规则文件的内禀格式决定,而不是由你的主观偏好决定。读一读上游 README:它写明了推荐 behavior 与 payload 组织结构。强行指鹿为马只会得到一份沉默的日志或一份狂躁的重试。

公司电脑能不能自动拉规则

合规优先:在未获 IT 授权前,不要把自动更新管道接进企业环境;政策与审计边界比省十分钟配置时间更重要。

规则集管线为什么要交给 Clash 这条技术栈

一些停更多年的「聚合神器」会把远程规则与可执行模块捆在同一更新通道里,短期看似省事,长期却难复盘「昨天到底更新了什么」。纯浏览器插件往往只覆盖页面里的 HTTP 语义,对桌面客户端、游戏与系统服务并不完整;而只会全局 ON/OFF 的一键 VPN又很难兼顾境内外分流的精细度Mihomo/Clash Meta把素材拆成可读 YAML + 可缓存的 rule-providers + 可观察的连接记录,你用 interval 就能把「新鲜度」变成可调参数,而不是朋友圈玄学。

在 Windows 上继续用 Clash Verge Rev 这类与内核咬合紧的壳很省心;若你还希望从统一入口拿到多端发行说明与文档索引,不妨 立即免费下载 Clash,开启流畅上网新体验,把规则集当作长期维护的工程资产而不是一次性转发截图。