Clash Verge Rev 规则导入与本地规则配置
简答:Clash Verge Rev 中,简单规则优先用订阅右键的“编辑规则”;大量规则用 rule-providers,跨订阅修改配置再用扩展配置或脚本。按本文步骤配置后,可确认规则是否加载、命中并避免订阅更新覆盖。
定义:Clash Verge Rev 规则导入,是把本地 YAML 配置、规则集合或自定义规则加入客户端,并让流量按规则顺序进入直连、拒绝或指定代理组。
先选对方法:本地配置、编辑规则还是规则集合
如果你只是想让几个域名直连、代理或拒绝,优先使用订阅卡片右键的“编辑规则”。如果需要维护大量域名或 IP 列表,再使用 rule-providers;如果要修改 DNS、TUN 或多个订阅共有的配置,则应考虑扩展配置或扩展脚本。Clash Verge Rev 文档明确区分了这些功能,不能把“导入 YAML 配置”理解成“导入规则集合”。
| 需求 | 推荐方式 | 是否容易被订阅更新覆盖 |
|---|---|---|
| 导入一份完整本地 YAML | 本地配置导入 | 不依赖远程订阅,但需自己维护 |
| 给某个订阅增加少量规则 | 右键配置卡片 → 编辑规则 | 官方文档说明该处编辑的规则不会随订阅更新失效 |
| 维护大量域名或 IP 列表 | rule-providers + RULE-SET | 规则文件独立维护 |
| 修改多个订阅的公共字段 | 全局扩展配置或扩展脚本 | 取决于扩展的合并和执行顺序 |
本文的承诺清单:完成本地 YAML 导入;区分编辑规则、扩展配置和脚本;给出规则集合示例;说明规则顺序、代理组名称和命中验证;补充订阅更新后的回滚与排错方法。
本站是第三方使用指南站,不是 Clash Verge Rev 官方站;界面名称和版本行为应以Clash Verge Rev 官方订阅导入文档及你当前安装版本为准。
导入本地 YAML 或 YML 配置文件
方法一:新建本地配置
- 打开 Clash Verge Rev,进入配置文件或 Profiles 页面。
- 选择新建配置文件,按界面提示选择本地 YAML 或 YML 文件;也可以不选择文件,先生成空配置。
- 保存后,在配置列表中选中该配置并启用。
- 打开配置编辑或查看功能,确认顶层字段缩进正确,尤其是
proxies、proxy-groups、rules的层级。
官方文档说明,选择的文件会复制到客户端的 profiles 目录,因此之后移动或删除原文件通常不会影响已经复制的配置。导入前建议保留一份原始备份。
方法二:拖拽导入
- 准备扩展名为
.yaml或.yml的配置文件。 - 将文件拖入 Clash Verge Rev 的配置区域。
- 导入后先不要立即修改,先点击配置的启用或加载按钮。
- 如果拖拽无反应,检查客户端版本。官方导入页标注,拖拽配置文件要求 Clash Verge Rev 至少为
v1.6.2。
导入成功不等于规则一定生效。配置还必须能被 Mihomo 核心解析,并且规则目标必须对应真实存在的代理组名称。
最小可检查的本地规则片段
rules:
- DOMAIN-SUFFIX,example.com,DIRECT
- DOMAIN-KEYWORD,ads,REJECT
- MATCH,代理组名称上面的“代理组名称”必须替换为配置中真实存在的策略组名称,例如某个自动选择组或手动选择组。不能直接照抄一个不存在的名称,否则可能出现规则加载失败或目标不可用。
少量自定义规则:用“编辑规则”而不是直接改订阅原文
在配置列表中找到目标订阅,打开右键菜单,选择“编辑规则”。官方文档给出的核心原则是:规则按从上到下匹配,命中第一条符合条件的规则后停止;因此更具体、需要优先处理的规则必须放在前面,MATCH 只能作为兜底。
DOMAIN-SUFFIX,example.com,DIRECT
DOMAIN,ads.example.com,REJECT
DOMAIN-KEYWORD,internal,代理组名称
MATCH,代理组名称常见规则类型包括:
DOMAIN:完整域名匹配。DOMAIN-SUFFIX:匹配域名后缀,例如example.com可匹配其子域名。DOMAIN-KEYWORD:匹配域名中包含的关键词。IP-CIDR或IP-CIDR6:匹配目标 IP 网段。PROCESS-NAME:按进程名匹配;Mihomo 文档还说明 Android 平台可用于匹配包名。RULE-SET:引用已经定义的规则集合。MATCH:匹配所有未被前面规则处理的请求。
这些规则类型、参数和顺序以Mihomo 路由规则文档为准。规则目标可以是 DIRECT、REJECT 或策略组名称,但策略组必须在当前配置中实际存在。
大量规则:使用 rule-providers 管理本地规则文件
当规则达到几十条、几百条甚至需要单独维护时,不建议全部塞进 rules:。可以把规则放到独立文件,再通过 rule-providers 引用。Mihomo 文档规定,provider 类型可以是 http、file 或 inline;本地文件通常使用 file。
下面是一个本地经典规则集示例。路径使用相对路径时,应放在 Mihomo 允许访问的目录范围内,并保持文件名和配置一致。
rule-providers:
office_local:
type: file
behavior: classical
format: text
path: ./rules/office.list
rules:
- RULE-SET,office_local,DIRECT
- DOMAIN-SUFFIX,example.com,代理组名称
- MATCH,代理组名称office.list 可以写成经典规则格式:
DOMAIN-SUFFIX,intranet.example
DOMAIN,portal.example.com
IP-CIDR,192.168.10.0/24,no-resolvebehavior: classical 支持带规则类型的内容,例如 DOMAIN、DOMAIN-SUFFIX 和 IP-CIDR。如果文件只包含域名或只包含 IP 网段,应根据文件实际格式选择 domain 或 ipcidr,不要只根据文件扩展名判断。具体格式可核对Mihomo 规则集合内容格式文档。
如果使用远程规则集合,还需要填写 url 和更新间隔;如果使用本地文件,则重点检查 type、path、behavior、format 是否彼此匹配。规则集合配置字段可参阅Mihomo rule-providers 文档。
版本差异:编辑规则、扩展配置和扩展脚本怎么选
截至 2026-10-26,Clash Verge Rev 官方扩展文档列出了几个容易混淆的变化:
v1.7.x起,原来的“Merge 配置”改名为“扩展配置”;prepend/append 功能移动到订阅右键菜单中的可视化“编辑规则”。v1.7.x起,原来的“Script 配置”改名为“扩展脚本”。v1.6.x仍需参考旧的 Script 配置说明。v2.5.5起,扩展配置中写出的dns字段和顶层hosts存在整体替换行为,不能假设所有嵌套内容都会逐条合并。
因此,少量路由规则优先进入订阅卡片的“编辑规则”;需要调整字段但不需要编程时使用扩展配置;需要根据原配置内容动态插入、追加或处理复杂逻辑时使用扩展脚本。官方文档还说明,扩展大致按“订阅原文 → 应用设置 → 全局扩展配置 → 全局扩展脚本 → 订阅扩展配置 → 订阅扩展脚本 → 应用设置回写”的链路处理。
特别注意:不要继续照搬旧教程中的 prepend-rules 写法。官方文档已说明入口发生迁移;官方仓库讨论中也有维护者明确回复,旧的 prepend-rules 写法已经移除,复杂规则处理应使用 Scripts。可查看Clash Verge Rev 扩展配置与脚本文档以及官方仓库关于规则集合覆写的讨论。
规则不生效时:按加载、目标、命中三层检查
- 先查配置是否重新加载:保存规则或扩展后,重新加载当前配置;确认没有 YAML 解析错误、文件路径错误或 provider 加载错误。错误提示通常出现在配置页面、核心日志或扩展卡片日志中。
- 再查规则目标:打开代理组列表,核对规则中写的目标名称与实际名称逐字一致。名称大小写、空格和符号不同,都可能导致目标不可用。
- 再查规则顺序:把测试域名规则放到
MATCH之前;如果前面已有更宽泛的DOMAIN-SUFFIX、GEOSITE或RULE-SET,它可能先命中。 - 最后查请求是否经过当前核心:确认系统代理、TUN 或应用代理模式已经启用,并使用同一客户端发起测试。只在浏览器中改变设置而没有让流量进入 Clash Verge Rev,规则不会命中。
如果客户端提供 Connections 或连接详情页面,打开目标连接,查看规则类型、匹配内容和最终策略组。Mihomo API 文档中的 GET /rules 可以返回规则索引、类型、匹配内容、代理目标以及部分命中统计;这适合在本地控制器已启用且你了解鉴权配置时进行核对,命令中不要打印或分享密钥。
curl -sS -H "Authorization: Bearer 端口号" "http://127.0.0.1:9090/rules"上面的示例仅用于说明 GET 请求形式;实际使用时应把示例中的占位内容替换成你本地控制器的认证方式,并避免把返回内容、密钥或订阅信息公开。
订阅更新后如何确认自定义规则仍在
- 更新前导出或复制当前配置,保留可回滚版本。
- 如果规则是在“编辑规则”中添加,更新订阅后重新打开编辑器,检查规则仍在并位于正确位置。
- 如果规则使用
rule-providers,检查独立规则文件仍存在,且path没有指向已经删除的目录。 - 如果使用扩展配置,检查扩展卡片是否启用,并查看其日志是否出现字段被应用设置接管或覆盖的提示。
- 随机选择一个测试域名,在 Connections 或规则详情中确认真实命中结果,而不是只看配置文本。
如果订阅更新后规则消失,优先回到“编辑规则”或独立 provider 文件中维护,不要直接修改远程订阅原文。若扩展配置中同时修改了列表字段或 DNS 字段,应重新检查整体替换行为。
最后核对:2026-10-26。Clash Verge Rev 的菜单名和版本行为可能继续变化,遇到本文未覆盖的界面差异,应以当前版本官方文档和客户端日志为准。
常见问题
Clash Verge Rev 可以直接导入本地 YAML 吗?
可以。官方文档列出新建配置文件和拖拽配置文件两种本地导入方式;拖拽导入要求至少为 v1.6.2。导入后仍要启用配置,并检查核心是否成功解析。
为什么我添加了规则,但订阅更新后规则消失?
常见原因是直接修改了远程订阅原文。少量规则应通过订阅卡片右键的“编辑规则”添加;大量规则应拆到 rule-providers;公共配置则使用扩展配置或扩展脚本。
prepend-rules 还能继续写吗?
不要直接沿用旧教程。官方扩展文档说明 v1.7.x 起相关功能已移动到“编辑规则”,官方仓库讨论也指出旧的 prepend-rules 写法已经移除,复杂处理应使用扩展脚本。
RULE-SET 规则不生效,先检查什么?
先检查 rule-providers 名称是否与 RULE-SET 第一项完全一致,再检查 type、path、behavior、format 和文件内容格式,最后确认规则目标是当前配置中真实存在的代理组。
MATCH 应该放在规则列表什么位置?
通常放在最后作为兜底。Mihomo 按规则从上到下匹配,前面的宽泛规则或 MATCH 可能提前接管请求,因此测试规则必须放在兜底规则之前。
相关阅读
参考资料
- Clash Verge Rev Docs:订阅导入(clashverge.dev)
- Clash Verge Rev Docs:自定义规则(clashverge.dev)
- Clash Verge Rev Docs:扩展配置与脚本(clashverge.dev)
- Mihomo Docs:路由规则
- Mihomo Docs:API
- Clash Verge Rev 官方仓库讨论:规则集合覆写配置