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-rulesv1.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-CIDRIPv4 网段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)」(推荐) #

  1. 打开「订阅(Profiles)」页,右键点击你正在用的订阅卡片。
  2. 选择「编辑规则(Edit Rule)」。
  3. 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 额外支持GEOSITEDOMAIN-REGEX、逻辑规则 AND/OR/NOTSUB-RULE 等。
  • 个别在原版能用、迁到 Rev 报错的,多半是 Mihomo 调整过语法的少数类型,查 Mihomo 官方文档 即可。还在用原版?建议先 迁移到 Rev

规则不生效?按这个清单排查 #

现象原因 / 解决
加了规则没反应目标名写错——填订阅里真实的代理组名(如 节点选择),别写不存在的 PROXY
规则被忽略顺序问题,被上面的规则先命中——放进 prepend(前置)
更新订阅后规则消失直接改了订阅文件——改用 编辑规则 / 扩展脚本
老的 prepend-rules 不生效v1.7.x 起扩展配置不再支持,改用「编辑规则」的 prepend
IP 规则不准、反而变慢纯 IP 规则漏加 no-resolve——补上 ,no-resolve
改完始终不生效没刷新配置——重新选中该订阅或重连内核

相关内容推荐 #