clash verge 自定义规则集的编写与调试
本文按「写一条规则 → 放到正确位置 → 用日志验证」的顺序,说明规则集的最小可用结构与调试方法。
分类:进阶教程 · 发布 2026-03-20 · 更新 2026-09-11 · 阅读约 7 分钟 · 适用版本 v1.16.0 及以上
一句话结论
规则按自上而下顺序匹配、首条命中即生效。自定义规则必须放在内置规则之前,否则永远不会被命中。验证方式是查看日志中的命中记录。
规则的组成
每条规则由三部分构成:匹配类型、匹配值、目标策略组。例如 DOMAIN-SUFFIX,clash-vergent.com.cn,代理 表示「匹配 clash-vergent.com.cn 及其子域名,走代理组」。
优先级顺序
- 自定义规则(置于规则列表顶部)
- 进程与应用类规则
- 精确域名规则(DOMAIN)
- 后缀与关键词规则(DOMAIN-SUFFIX / DOMAIN-KEYWORD)
- IP 段与地理库规则
- 兜底规则 MATCH
调试方法
| 现象 | 检查点 |
|---|---|
| 规则完全不生效 | 是否被内置规则抢先命中,位置是否在顶部 |
| 部分子域名未命中 | 是否误用了 DOMAIN 而非 DOMAIN-SUFFIX |
| 进程规则无效 | 进程名是否与实际可执行文件名一致 |
编写建议
- 先小范围验证一条规则,确认生效后再批量添加。
- 为自定义规则加注释,便于日后维护。
- 修改后使用热加载,无需断开已建立的连接。
文中数据供参考,规则示例与版本适用范围需按实际内核版本核验。