Clash Verge Rev(clash-verge-rev 仓库)的规则分流按排列顺序检查流量,靠前的规则先参与匹配。要按域名、IP 或进程分流,需要选对应的规则类型,再填写匹配值和策略目标。截至 2026-11-08,最新版本为 v2.5.10。

先看顺序,再看匹配条件

mihomo 文档说明,规则从顶部向下检查。因此,排查分流结果时,不能只看某条规则写了什么,还要看它前面有哪些规则。

这里有一个 UDP 例外:请求命中某个代理后,如果该代理不支持 UDP,匹配会继续向下进行。不能把所有请求都理解成命中一条就结束。

MATCH 不设匹配条件,会接住流量。Verge 文档要求把它排在末尾。若它位于其他规则之前,后面的条件就无法承担预期的分流作用。

域名、IP、进程分别选什么类型

Verge 的自定义规则文档展示了域名、IP、端口、进程、逻辑和兜底规则。更细的类型由 mihomo 文档说明。两份文档的展示范围不同,不能把 Verge 页面列出的项目当作全部语法。

匹配对象mihomo 文档列出的类型
域名DOMAIN、DOMAIN-SUFFIX、DOMAIN-KEYWORD、DOMAIN-WILDCARD、DOMAIN-REGEX、GEOSITE
目的 IPIP-CIDR(别名 IP-CIDR6)、IP-SUFFIX、IP-ASN、GEOIP
源 IPSRC-GEOIP、SRC-IP-ASN、SRC-IP-CIDR、SRC-IP-SUFFIX
端口DST-PORT、SRC-PORT、IN-PORT
入站IN-TYPE、IN-USER、IN-NAME、REMATCH-NAME
进程PROCESS-PATH、PROCESS-NAME,以及各自的 WILDCARD、REGEX 变体
其他条件UID、NETWORK、DSCP、RULE-SET
逻辑与子规则AND、OR、NOT、SUB-RULE
兜底MATCH

选择类型时,先分清要检查的对象。目的 IP 和源 IP 分属不同类别;进程名称与进程路径也有各自的类型。不要只因名称相近就替换使用。

一条规则怎样读

基础结构是 TYPE,value,PROXY,部分类型还可附加参数。三个位置依次表示规则类型、匹配值和策略目标。

Verge 文档列出的目标包括:

配置案例把 GEOSITE 与 GEOIP 的匹配值设为 CN,目标设为 DIRECT;兜底项则指向名为“手动选择”的策略组。这说明规则中的目标位置可以引用配置已有的组名。组的行为另见代理组类型与策略选择。

逻辑规则使用 LOGIC_TYPE,((payload1),(payload2)),Proxy 结构。涉及逻辑组合或 SUB-RULE 时,要核对括号层级,不能只检查逗号分隔的位置。

no-resolve 不等于禁止 DNS

按 mihomo 文档,no-resolve 的适用范围是目的 IP 规则。它跳过的是为判断域名对应 IP 而发起的 DNS 解析。

这不代表带有该参数的规则不会命中。如果前面的处理已经解析出 IP,后续带 no-resolve 的规则仍可参与匹配。因此,检查结果时,要连同前面的规则一起看。

目的 IP 规则还可以使用 src 参数,把检查对象转为源 IP。两个参数的作用不同,不能互相替代。涉及解析配置时,可接着看DNS 配置与分流的关系。

前置与后置规则插在哪里

在 Verge 中,对订阅点右键,再选择“编辑规则”,即可进入规则编辑器。通过这里加入的规则,在订阅更新后仍会保留。

“前置规则”处于优先位置,文档将其作为放置自定义规则的建议位置。“后置规则”则接在订阅已有规则后面。选择插入位置,其实也在决定检查顺序。

如果自定义条件放在后置区域,排查时就要先检查订阅规则是否已处理该流量。把规则移到前面,也应重新测试目标网站,确认结果符合预期。

改完后按现象检查

现象检查方向
新增规则没有产生预期结果查看它前面是否已有命中条件,并确认使用的是前置还是后置区域
末尾规则不起作用检查 MATCH 是否提前出现
带 no-resolve 仍命中检查前面是否已经完成解析
UDP 请求继续匹配检查命中的代理是否支持 UDP
修改扩展配置后规则发生整段变化检查是否改写了 rules 列表

扩展配置中的 rules 按整个列表替换,不会逐条追加合并。准备从扩展配置调整规则时,应先理解Merge 对列表的替换方式。

规则修改后,需要测试目标网站;域名发生变化时,也要重新检查已有条件,并留意规则之间的冲突。规则数量上限与各类型的匹配耗时,官方没有说明。

语法可查阅 mihomo 规则文档,编辑入口与插入位置可查阅 Verge 自定义规则说明。

第三方整理,与项目方无关。