Clash Verge‑Rev 添加自定义分流规则完整指南
目标:给 mihomo 内核追加自定义分流规则,区分两种实现方式、语法、参数、配置位置,用于日常自定义域名/网段路由。
1. 两种添加自定义规则方式对比
Clash Verge‑Rev 中增加自定义路由规则,有两条正规路径。
| 方式 | 位置 | 生效范围 | 特点 |
|---|---|---|---|
| 全局扩展脚本(JS) | 设置 → 扩展 → 全局扩展脚本 | 全部订阅全局生效 | JS 操作数组,可以把自定义规则插到规则列表最顶部,优先级最高,适合多套订阅共用一套自定义规则。 |
| 订阅前置规则 | 右键订阅 → 编辑规则 → 前置规则 | 仅当前这一个订阅生效 | 直接写规则文本,不需要 JS,调试方便;更换订阅需要重新填写。 |
⚠️重要提醒:不要在「全局扩展配置(YAML merge)」里面写 rules 数组。 YAML merge 是覆盖合并,写 rules 会直接替换掉订阅全部原有规则,上万条订阅规则直接丢失,网络异常。 YAML merge 适合改 tun、dns、profile 这类配置项,不适合新增路由规则。
2. 分流规则常用语法参考
规则执行逻辑:从上往下依次匹配,命中即停止继续匹配,写在越前面优先级越高。
IP‑CIDR 网段规则
IP-CIDR,192.200.125.0/24,DIRECT,no-resolveIP‑CIDR:按IP网段匹配192.200.125.0/24:网段192.200.125.0‑192.200.125.255DIRECT:直连策略,不走代理节点no‑resolve:不主动解析域名;仅直接访问IP的时候该规则生效
fake‑ip 模式注意:浏览器访问域名,内核返回虚拟fake‑ip,此时 IP‑CIDR 无法匹配域名解析后的真实内网IP。内网域名请使用
DOMAIN‑SUFFIX。
DOMAIN 精确域名匹配
DOMAIN,dl.china317.com,🚀 节点选择只精准匹配 dl.china317.com,其他子域名、主域名不会命中。
DOMAIN‑SUFFIX 域名后缀匹配(最常用)
# 匹配全部 *.317.com 子域名,走代理策略组
DOMAIN-SUFFIX,317.com,🚀 节点选择
# 匹配全部 *.china318.com,全部直连
DOMAIN-SUFFIX,china318.com,DIRECT匹配该后缀结尾所有域名,包含主域名、全部子域名。
MATCH 兜底规则
MATCH,DIRECT匹配剩下全部流量,作为兜底策略;放在自定义规则末尾。
⚠️策略组名字必须完全一致,emoji、空格不能错,否则报
proxy [xxx] not found,配置校验失败。
3. 全局扩展脚本 JS(全局生效)
设置 → 扩展 → 全局扩展脚本。 适用于:切换多个订阅,都希望带上同一套自定义规则。
function main(config) {
// 如果rules不存在,初始化空数组
if (!config.rules) {
config.rules = [];
}
// ==========在这里维护你的自定义规则列表==========
const customRules = [
"IP-CIDR,192.200.125.0/24,DIRECT,no-resolve",
"DOMAIN-SUFFIX,baidu.com,🚀 节点选择",
"DOMAIN-SUFFIX,317.com,🚀 节点选择",
"DOMAIN-SUFFIX,china318.com,DIRECT",
"MATCH,DIRECT"
];
// 将自定义规则插入规则数组最头部,优先级最高
config.rules = [...customRules, ...config.rules];
console.log("自定义规则已加载,第一条:", config.rules[0]);
return config;
}操作步骤:
- 粘贴完整代码;
- 勾选启用脚本;
- 保存,重启内核。
4. 订阅前置规则(单订阅生效,调试优先)
右键你的订阅 → 编辑规则 → 前置规则,直接粘贴规则文本,不需要 JS。 适合调试,规则可以直接在查看配置里看到,方便确认是否注入成功。
IP-CIDR,192.200.125.0/24,DIRECT,no-resolve
DOMAIN-SUFFIX,baidu.com,🚀 节点选择
DOMAIN-SUFFIX,317.com,🚀 节点选择
DOMAIN-SUFFIX,china318.com,DIRECT
MATCH,DIRECT注意:仅当前订阅生效,换别的订阅需要重新填写。
5. 配套辅助YAML配置(全局扩展配置)
设置 → 扩展 → 全局扩展配置,YAML片段,不是规则。 作用:记忆策略组手动选择的节点,重载订阅、重启内核不重置你的节点选择。
profile:
store-selected: true
store-fake-ip: truestore-selected: true:保存策略组手动选中节点store-fake-ip: true:持久 fake‑ip 缓存,加快解析
⚠️这里不要写 rules。
6. 调试校验方法
- 看日志:开启JS脚本后,内核日志可以看到
console.log输出,确认脚本执行; - 查看配置:打开订阅查看配置,滚动到 rules,确认自定义规则出现在数组最前面;
- 连接日志:访问测试域名,看连接日志显示命中的策略(DIRECT / 🚀 节点选择);
- 红色弹窗 = 配置错误,内核无法加载;蓝色提示大多只是版本检查超时,不影响分流。
7. 日常维护模板说明
后续新增自定义域名/网段,只需要在对应位置添加一行规则:
JS脚本内示例追加:
const customRules = [
"IP-CIDR,192.200.125.0/24,DIRECT,no-resolve",
"DOMAIN-SUFFIX,baidu.com,🚀 节点选择",
"DOMAIN-SUFFIX,317.com,🚀 节点选择",
"DOMAIN-SUFFIX,china318.com,DIRECT",
// 在这里继续追加你的自定义规则
"DOMAIN-SUFFIX,example.com,DIRECT",
"MATCH,DIRECT"
];