目录
Clash配置语法
配置文件结构
Clash配置文件主要包括以下几个部分:
proxies
: 代理节点配置proxy-groups
: 代理组配置rules
: 流量规则配置
以下是一个典型的Clash配置文件示例:
yaml proxies:
- name: Proxy1 type: vmess server: example.com port: 443 uuid: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx alterId: 64
proxy-groups:
- name: Proxy type: select proxies:
- Proxy1
rules:
- DOMAIN-SUFFIX,google.com,Proxy
- DOMAIN-KEYWORD,advert,REJECT
- IP-CIDR,192.168.1.0/24,DIRECT
- GEOIP,CN,DIRECT
- MATCH,Proxy
规则类型
Clash支持多种规则类型,常用的有:
DOMAIN-SUFFIX
: 匹配域名后缀DOMAIN-KEYWORD
: 匹配域名关键词DOMAIN
: 完整匹配域名IP-CIDR
: 匹配IP段GEOIP
: 根据IP地理位置匹配SRC-PORT
: 匹配源端口DST-PORT
: 匹配目标端口
规则匹配条件
Clash的规则匹配采用最佳匹配原则,即从上到下逐条匹配,匹配到第一条规则即停止。规则匹配支持以下条件:
- 域名匹配: 支持完整域名、域名后缀和关键词匹配
- IP匹配: 支持IPv4和IPv6 CIDR格式
- 地理位置: 根据IP地理位置进行匹配
- 端口匹配: 支持源端口和目标端口匹配
规则编写技巧
合理利用注释
在编写Clash配置规则时,适当添加注释可以大大提高规则的可读性和可维护性。注释可以解释规则的用途、适用场景等信息,帮助管理员更好地理解和管理规则。
yaml
- DOMAIN-SUFFIX,google.com,Proxy
- DOMAIN-KEYWORD,advert,REJECT
动态更新规则
Clash支持通过远程URL动态更新规则,这对于一些频繁更新的规则非常有用,如广告屏蔽、国内外分流等。只需在配置文件中添加对应的URL即可,Clash会定期自动更新规则。
yaml rules:
- DOMAIN-SUFFIX,google.com,Proxy
- DOMAIN-KEYWORD,advert,REJECT
- EXTERNAL,https://example.com/rules.yaml,RULE
规则优先级
Clash的规则匹配采用最佳匹配原则,即从上到下逐条匹配,匹配到第一条规则即停止。因此,规则的顺序会影响最终的匹配结果。通常将更具体的规则放在前面,将通用规则放在后面,以确保规则的正确应用。
yaml rules:
- DOMAIN-SUFFIX,google.com,Proxy # 更具体的规则
- DOMAIN-KEYWORD,advert,REJECT
- GEOIP,CN,DIRECT # 通用规则
- MATCH,Proxy
常见规则场景示例
分流代理
利用Clash的规则,可以实现对不同类型的流量进行分流代理。例如,将所有访问Google的流量转发到代理组Proxy
中:
yaml rules:
- DOMAIN-SUFFIX,google.com,Proxy
- MATCH,DIRECT # 其他流量直连
广告屏蔽
Clash可以通过匹配广告相关的域名或关键词,将这些流量直接屏蔽或转发到REJECT
规则:
yaml rules:
- DOMAIN-KEYWORD,advert,REJECT
- DOMAIN-SUFFIX,tracking.com,REJECT
- MATCH,DIRECT
域名重写
Clash支持通过规则对域名进行重写,例如将example.com
重写为example.org
:
yaml rules:
- DOMAIN,example.com,example.org
- MATCH,DIRECT
常见问题FAQ
Q1: Clash配置文件中的各个部分有什么区别?
A1: Clash配置文件主要包括以下三个部分:
proxies
: 定义代理节点的具体配置,如服务器地址、端口、协议等proxy-groups
: 定义代理组,可以将多个代理节点组合成一个代理组rules
: 定义流量规则,可以根据域名、IP、地理位置等条件对流量进行分流和处理
Q2: Clash支持哪些规则类型?
A2: Clash支持多种规则类型,常用的有:
DOMAIN-SUFFIX
: 匹配域名后缀DOMAIN-KEYWORD
: 匹配域名关键词DOMAIN
: 完整匹配域名IP-CIDR
: 匹配IP段GEOIP
: 根据IP地理位置匹配SRC-PORT
: 匹配源端口DST-PORT
: 匹配目标端口
Q3: 如何合理设置规则优先级?
A3: Clash的规则匹配采用最佳匹配原则,即从上到下逐条匹配,匹配到第一条规则即停止。因此,规则的顺序会影响最终的匹配结果。通常将更具体的规则放在前面,将通用规则放在后面,以确保规则的正确应用。
Q4: Clash如何实现动态更新规则?
A4: Clash支持通过远程URL动态更新规则,这对于一些频繁更新的规则非常有用,如广告屏蔽、国内外分流等。只需在配置文件中添加对应的URL即可,Clash会定期自动更新规则。
Q5: 如何利用注释提高Clash配置的可读性?
A5: 在编写Clash配置规则时,适当添加注释可以大大提高规则的可读性和可维护性。注释可以解释规则的用途、适用场景等信息,帮助管理员更好地理解和管理规则。