Clash Verge 分流规则
本文介绍 Clash Verge 分流规则的基本格式、常用匹配类型和处理目标,通过示例讲清域名、IP、程序匹配,以及规则顺序和兜底规则的写法。
在规则模式下,分流规则根据请求的匹配条件,决定使用哪个节点或策略组,或者直连、拒绝连接。
1. 规则怎么样写
- 大多数规则的基本格式:
规则类型,匹配内容,处理目标。 MATCH不需要匹配内容,格式为MATCH,处理目标。- 部分规则可以追加可选参数,例如 IP 规则中的
no-resolve,后面会介绍。
规则写在配置文件的 rules: 列表中,每条规则前使用 -,并保持相同缩进:
rules:
- DOMAIN-SUFFIX,google.com,Default [默认代理]| 部分 | 示例内容 | 含义 |
|---|---|---|
| 规则类型 | DOMAIN-SUFFIX | 按域名后缀匹配 |
| 匹配内容 | google.com | 匹配该域名及其子域名 |
| 处理目标 | Default [默认代理] | 将请求交给这个策略组 |
本文示例假设引用的节点和策略组已经在配置中定义。各示例分别说明一种写法,不要求将它们全部放进同一份配置。
规则类型是固定关键词;匹配内容决定匹配什么,处理目标决定匹配后交给谁处理。
2. 常用规则类型
| 规则类型 | 匹配依据 |
|---|---|
DOMAIN | 完整域名 |
DOMAIN-SUFFIX | 指定域名及其子域名 |
DOMAIN-KEYWORD | 域名中包含的关键词 |
IP-CIDR | 目标 IPv4 网段 |
IP-CIDR6 | 目标 IPv6 网段 |
PROCESS-NAME | 发出请求的程序名称 |
GEOIP | 目标 IP 所属国家或地区 |
MATCH | 接住前面未匹配到的请求 |
域名匹配
DOMAIN:精确匹配域名
- 匹配一个完整域名,不自动包含其他子域名。
模版:
DOMAIN,完整域名,处理目标
示例:
DOMAIN,www.google.com,Google [谷歌服务]这条规则只匹配 www.google.com,不会同时匹配 google.com 或 mail.google.com。
DOMAIN-SUFFIX:匹配域名及其子域名
- 匹配指定域名本身,以及它下面的各级子域名。
模板:
DOMAIN-SUFFIX,域名,处理目标
示例:
DOMAIN-SUFFIX,google.com,Google [谷歌服务]
可以匹配:
google.com
www.google.com
mail.google.com不会匹配 other-google.com,因为它不是 google.com 的子域名。
DOMAIN-KEYWORD:匹配域名中的关键词
- 只要域名中包含指定字符串,就可以匹配。
模板:
DOMAIN-KEYWORD,关键词,处理目标
示例:
DOMAIN-KEYWORD,google,Google [谷歌服务]
可以匹配:
www.google.com
google.example.com
other-google.com重要
DOMAIN 匹配一个完整域名;DOMAIN-SUFFIX 匹配一个域名及其子域名;DOMAIN-KEYWORD 匹配包含指定字符串的域名,范围更宽。
IP 匹配
IP-CIDR / IP-CIDR6:匹配目标 IP 网段
- 两者都用于匹配目标 IP 地址范围。
- IPv4 示例通常写作
IP-CIDR,IPv6 示例通常写作IP-CIDR6。
模板:
IP-CIDR,IPv4网段,处理目标
IP-CIDR6,IPv6网段,处理目标
示例:
IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
IP-CIDR6,fe80::/10,DIRECT,no-resolve192.168.0.0/16 表示从 192.168.0.0 到 192.168.255.255 的地址范围。目标 IP 在这个范围内时,使用 DIRECT 直连。
no-resolve 是可选参数,表示匹配这条 IP 规则时,不主动将域名解析成 IP。如果连接已有目标 IP,仍然可以进行匹配。
重要
IP 规则按目标 IP 分流;加上 no-resolve 后,只用已有 IP 匹配,不额外解析域名。
GEOIP:匹配目标 IP 所属国家或地区
- 根据 GeoIP 数据判断目标 IP 的归属。
模板:
GEOIP,国家或地区代码,处理目标
示例:
GEOIP,CN,Domestic [国内直连]
含义:
目标 IP 被识别为中国 → 交给 Domestic [国内直连]重要
GEOIP 判断的是目标 IP 的归属,不是网站使用什么语言,也不是网站公司的注册地。
程序匹配
- 根据发出请求的程序名称匹配。
- 程序名称可能因操作系统而不同,匹配需要内核能够识别连接所属的进程。
模板:
PROCESS-NAME,程序名称,处理目标
示例:
PROCESS-NAME,aws,AmazonCLI [亚马逊命令行]
PROCESS-NAME,aws.exe,AmazonCLI [亚马逊命令行]
含义:
指定程序发出的请求 → 交给 AmazonCLI [亚马逊命令行]重要
PROCESS-NAME 按“哪个程序发出请求”分流。
兜底匹配
MATCH:接住前面未匹配到的请求
- 前面的规则都没有匹配到时,由这条规则接住请求。
- 不需要填写匹配内容,通常放在规则列表最后。
模板:
MATCH,处理目标
示例:
MATCH,Default [默认代理]
含义:
前面未匹配到的请求 → 交给 Default [默认代理]重要
MATCH 是兜底规则,格式只有两部分:MATCH,处理目标。
3.处理目标怎么样填写
- 处理目标用于指定:请求匹配规则后,交给谁处理。
| 处理目标 | 处理方式 |
|---|---|
DIRECT | 通过本地网络直接访问 |
REJECT | 拒绝连接 |
| 代理节点名称 | 使用指定节点访问 |
| 策略组名称 | 根据组内选择确定最终出口 |
DIRECT:直连
- 使用本地网络直接访问目标,不经过远端代理节点。
示例:
DOMAIN-SUFFIX,baidu.com,DIRECT
含义:
访问百度及其子域名 → 本地网络直接访问REJECT:拒绝连接
- 拒绝匹配到的连接。
示例:
DOMAIN,ads.example.com,REJECT
含义:
访问 ads.example.com → 拒绝连接代理节点:使用指定节点
- 填写配置中已有的代理节点名称。
示例:
DOMAIN-SUFFIX,google.com,直连美国
含义:
匹配 google.com 及其子域名的请求
→ 使用“直连美国”节点。策略组:由组内选择决定出口
- 填写配置中已有的策略组名称。
示例:
DOMAIN-SUFFIX,claude.com,AISuite [AI套件]
含义:
匹配 claude.com 及其子域名的请求
→ 交给 AISuite [AI套件] 处理处理目标填写 DIRECT、REJECT,或配置中已有的节点、策略组名称。
4. 规则顺序怎么样安排
- 规则从上到下匹配,前面的规则优先。
- 特殊要求放在可能覆盖它的通用规则之前。
MATCH通常放在最后。
重要
规则看排列顺序,不会因为某条规则更具体,就自动优先使用它。
总结
规则类型和匹配内容决定“匹配什么”,处理目标决定“交给谁处理”。规则按从上到下的顺序匹配,MATCH 用于接住前面未匹配到的请求。
版权所有
版权归属:念宇
