一、Clash 配置文件结构
在介绍 Clash 配置规则之前,我们先来了解一下 Clash 配置文件的结构。
Clash 的配置文件通常由以下几部分组成:
- proxies:代理配置
- proxy-groups:代理分组配置
- rules:规则配置
- dns:DNS 配置
- experimental:实验性功能配置
以上配置项的详细说明可以参考 Clash 官方文档。
二、规则配置
规则配置是 Clash 配置文件中最重要的部分之一。规则配置的主要作用是控制流量的转发和访问策略。
Clash 支持多种类型的规则,包括域名、IP、URL、USER-AGENT 等,同时还支持自定义规则。Clash 规则的编写格式如下:
DOMAIN-SUFFIX,example.com,Proxy-A IP-CIDR,192.168.1.0/24,Proxy-B GEOIP,CN,Proxy-C USER-AGENT,.Chrome,Proxy-D
以上规则表示:
- 匹配 example.com 域名后缀的请求流量,使用 Proxy-A 代理。
- 匹配 192.168.1.0/24 IP 段的请求流量,使用 Proxy-B 代理。
- 匹配来自中国的请求流量,使用 Proxy-C 代理。
- 匹配 USER-AGENT 中包含 Chrome 关键字的请求流量,使用 Proxy-D 代理。
三、注意事项
在编写 Clash 规则时,需要注意以下几点:
- 尽量使用具体的规则类型,比如 DOMAIN-SUFFIX、IP-CIDR、URL-REGEX 等,以避免冲突。
- 在配置文件中尽量不要出现重复的规则。
- 在使用 GEOIP 规则时,注意国家/地区的名称是否正确。
- 自定义规则时,建议使用规则分组来管理规则,方便后续的修改和管理。
FAQ
Clash 支持哪些规则类型?
Clash 支持的规则类型包括:DOMAIN、DOMAIN-SUFFIX、DOMAIN-KEYWORD、IP-CIDR、IP-CIDR6、GEOIP、URL-REGEX、USER-AGENT、SRC-IP、DST-PORT、MATCH、FINAL。
如何在 Clash 中添加自定义规则?
在配置文件中添加以下格式的自定义规则:
DOMAIN-KEYWORD,example,Proxy-A
以上规则表示匹配包含 example 关键字的域名请求,使用 Proxy-A 代理。
Clash 规则有优先级吗?
Clash 规则的优先级遵循“越早匹配到的规则优先级越高”的原则。当多条规则同时匹配一个请求时,会优先使用优先级高的规则进行流量转发。
如何调试 Clash 规则?
可以使用 Clash 自带的日志功能来调试规则配置,方法如下:
- 在 Clash 配置文件中开启 log-level 配置。
- 重启 Clash。
- 查看 Clash 的日志文件,查找规则匹配和转发的信息。
Clash 规则文件的格式是什么?
Clash 规则文件支持多种格式,包括 YAML、JSON、LUA 等。其中 YAML 格式是 Clash 官方推荐的规则文件格式。在配置文件中指定规则文件的格式和路径即可使用自定义规则。