Clash Verge 添加规则 / 自定义规则完整教程(Rev v2.x 当前做法)
搜索「Clash Verge 添加规则」「自定义规则」的用户,几乎都卡在同一个坑:在配置文件里手动加了规则,结果订阅一更新就全没了。本文按 Clash Verge Rev 当前版本(v2.x) 的正确做法,让你加的规则订阅更新也不会丢,并附可直接复制的示例。
本文以 Clash Verge Rev 为准(今天建议都用 Rev,原因见这里)。
先记住一个原则:不要直接改订阅文件 #
你导入的订阅会被下载成一个 yaml 配置文件。每次更新订阅,这个文件都会被重新下载覆盖——所以你直接在里面加的规则会全部丢失。
同样,GUI 左侧的「规则」标签是只读的,只能查看当前生效的规则,不能在那里添加。很多人点进去找不到添加按钮,就是这个原因。
正确的添加方式在「订阅(Profiles)」页,主要有两种:
| 方式 | 适合 | 说明 |
|---|---|---|
| 编辑规则(Edit Rule) | 绝大多数人 | 右键订阅卡片打开,prepend/append 可视化填规则,最简单(v1.7.x 起 prepend-rules 的官方入口) |
| 扩展脚本(Extended Script) | 需要批量/带逻辑 | 写 JavaScript 动态改 config.rules,最灵活 |
⚠️ 版本提示:v1.6.x 及更早是在「扩展配置(Merge)」里写
prepend-rules;v1.7.x 起「扩展配置」仅用于覆写/合并(改 DNS、端口等,详见 全局扩展配置),加规则改用下面的「编辑规则」。
一分钟看懂规则:类型与匹配顺序 #
一条规则的格式是:规则类型,匹配内容,目标。
| 类型 | 含义 | 示例 |
|---|---|---|
DOMAIN | 完整域名精确匹配 | DOMAIN,www.google.com,节点选择 |
DOMAIN-SUFFIX | 域名后缀(最常用) | DOMAIN-SUFFIX,google.com,节点选择 |
DOMAIN-KEYWORD | 域名包含关键字 | DOMAIN-KEYWORD,google,节点选择 |
DOMAIN-REGEX | 正则匹配域名(Mihomo) | DOMAIN-REGEX,^.+\.google\.com$,节点选择 |
GEOSITE | 域名分类集(Mihomo) | GEOSITE,category-ads-all,REJECT |
IP-CIDR | IPv4 网段 | IP-CIDR,192.168.0.0/16,DIRECT,no-resolve |
GEOIP | 按 IP 归属国家 | GEOIP,CN,DIRECT |
PROCESS-NAME | 按本机进程名 | PROCESS-NAME,Telegram.exe,节点选择 |
RULE-SET | 引用规则集(见下文) | RULE-SET,my-direct,DIRECT |
MATCH | 兜底,匹配所有剩余流量 | MATCH,节点选择 |
目标(最后一段)只有三类:DIRECT(直连)、REJECT(拒绝/屏蔽,用于去广告)、或某个代理组的名字(⚠️ 必须填订阅里真实存在的组名,如 节点选择、自动选择,不能随便写 PROXY)。
匹配顺序:从上往下,命中第一条就停止。 想优先生效就放最前面(prepend);MATCH 永远是最后一条兜底,订阅里通常已有,别重复加。
方法一:右键订阅 →「编辑规则(Edit Rule)」(推荐) #
- 打开「订阅(Profiles)」页,右键点击你正在用的订阅卡片。
- 选择「编辑规则(Edit Rule)」。
- 在 prepend(前置) 区添加你的规则(优先级最高,会插到所有规则最前);兜底类放 append(后置) 区。每行一条:
# 强制走代理(把"节点选择"换成你订阅里真实的代理组名)
DOMAIN-SUFFIX,openai.com,节点选择
DOMAIN-SUFFIX,githubusercontent.com,节点选择
# 强制直连(公司内网、网银等)
DOMAIN-SUFFIX,icbc.com.cn,DIRECT
IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
# 屏蔽广告/指定域名
DOMAIN-SUFFIX,doubleclick.net,REJECT
DOMAIN-KEYWORD,adservice,REJECT
保存后回主界面刷新该订阅,规则即生效。这些改动保存在订阅的扩展配置里,更新订阅不会丢。去「规则」标签搜你的域名,能看到就成功了。
方法二:用「扩展脚本(Extended Script)」批量添加 #
需要按条件批量改时用扩展脚本(JavaScript,运行在 quickjs,无文件系统访问)。main(config) 接收配置对象,返回改完的对象:
// 右键订阅 → 编辑(扩展脚本),或用全局扩展脚本
function main(config) {
const myRules = [
"DOMAIN-SUFFIX,openai.com,节点选择",
"DOMAIN-SUFFIX,claude.ai,节点选择",
"DOMAIN-SUFFIX,doubleclick.net,REJECT",
];
config.rules = [...myRules, ...(config.rules || [])]; // 插到最前
return config;
}
要对所有订阅统一加规则,把上面的脚本放进「全局扩展脚本」即可(执行链:全局扩展配置 → 全局扩展脚本 → 订阅扩展配置 → 订阅扩展脚本)。
进阶:用 RULE-SET 规则集管理大批规则 #
维护成百上千条(如完整去广告 / 国内直连列表)时,用 rule-providers 定义规则集再用 RULE-SET 引用:
rule-providers是映射型配置,写进「扩展配置(Extended Configuration)」做合并:
rule-providers:
my-direct:
type: http
behavior: classical # classical / domain / ipcidr,要和列表内容对应
url: "https://你的规则列表地址/direct.list"
path: ./ruleset/my-direct.yaml
interval: 86400
- 再到「编辑规则」的 prepend 区加一行引用:
RULE-SET,my-direct,DIRECT(或在扩展脚本里 push 到config.rules)。
Clash Verge Rev 与原版的规则差异 #
- Rev 基于 Mihomo,完全兼容原版 Clash.Meta 的规则语法,老规则可直接搬。
- Rev/Mihomo 额外支持:
GEOSITE、DOMAIN-REGEX、逻辑规则AND/OR/NOT、SUB-RULE等。 - 个别在原版能用、迁到 Rev 报错的,多半是 Mihomo 调整过语法的少数类型,查 Mihomo 官方文档 即可。还在用原版?建议先 迁移到 Rev。
规则不生效?按这个清单排查 #
| 现象 | 原因 / 解决 |
|---|---|
| 加了规则没反应 | 目标名写错——填订阅里真实的代理组名(如 节点选择),别写不存在的 PROXY |
| 规则被忽略 | 顺序问题,被上面的规则先命中——放进 prepend(前置) |
| 更新订阅后规则消失 | 直接改了订阅文件——改用 编辑规则 / 扩展脚本 |
老的 prepend-rules 不生效 | v1.7.x 起扩展配置不再支持,改用「编辑规则」的 prepend |
| IP 规则不准、反而变慢 | 纯 IP 规则漏加 no-resolve——补上 ,no-resolve |
| 改完始终不生效 | 没刷新配置——重新选中该订阅或重连内核 |
相关内容推荐 #
- 想对所有订阅统一改 DNS/端口/代理组:Clash Verge 全局扩展配置
- 第一次用?先看 Clash Verge 官网中文教程 跑通下载、导入订阅、选节点
- 还在用原版?看 Clash Verge Rev 与原版区别及迁移
- 全局代理必备:Clash Verge TUN 模式设置
- 手机上想用?Clash Verge 安卓版怎么办(替代方案)
- 自动选最快节点:Clash Verge 可用的 204 测速 URL