目录
什么是Clash
Clash 是一款开源的代理客户端软件,它支持多种代理协议,包括 Shadowsocks、VMess、Trojan 等,同时也支持自定义规则进行流量分流。Clash 的特点是轻量、跨平台、性能优异,广受科学上网用户的喜爱。
Clash规则简介
Clash 的规则系统是其核心功能之一,通过自定义规则可以实现对不同类型的网络流量进行智能分流。Clash 规则的配置文件采用 YAML 格式,包括 Proxy、Proxy Group 和 Rule 三个主要部分。
Clash规则配置详解
配置文件结构
Clash 规则配置文件的基本结构如下:
yaml
port: 7890 socks-port: 7891 redir-port: 7892 allow-lan: false mode: rule log-level: info external-controller: 127.0.0.1:9090
proxies:
proxy-groups:
rules:
Proxy
Proxy 部分定义了各种代理服务器的配置信息,如 Shadowsocks、VMess、Trojan 等。每个代理服务器的配置包括服务器地址、端口、加密方式、密码等参数。
yaml proxies:
- name: “SS-1” type: ss server: 123.45.67.89 port: 8388 cipher: aes-256-cfb password: “password”
- name: “VMess-1” type: vmess server: 123.45.67.89 port: 443 uuid: “23ad6b82-9605-4c00-9114-c9c037d2f717” alterId: 64 cipher: auto
Proxy Group
Proxy Group 部分定义了各种代理组,可以根据不同的需求将多个代理服务器组合成一个组。Clash 支持多种类型的代理组,如 select、url-test、fallback 等。
yaml proxy-groups:
-
name: “Proxy” type: select proxies:
- SS-1
- VMess-1
-
name: “Auto” type: url-test url: “http://www.gstatic.com/generate_204” interval: 300 proxies:
- SS-1
- VMess-1
Rule
Rule 部分定义了各种流量分流规则,Clash 支持多种类型的规则,如域名、IP-CIDR、GEOIP 等。通过这些规则,可以将不同类型的网络流量导向不同的代理组。
yaml rules:
- DOMAIN-SUFFIX,google.com,Proxy
- DOMAIN-KEYWORD,google,Proxy
- IP-CIDR,192.168.1.0/24,DIRECT
- GEOIP,CN,DIRECT
- MATCH,Proxy
Clash规则进阶使用
规则匹配原理
Clash 的规则匹配遵循以下原则:
- 从上到下依次匹配规则
- 如果匹配到任何一条规则,则执行该规则并停止匹配
- 如果未匹配到任何规则,则执行最后一条
MATCH
规则
常见规则配置示例
- 国内流量直连,国外流量走代理:
- GEOIP,CN,DIRECT
- MATCH,Proxy
- 屏蔽广告和运营商劫持:
- DOMAIN-SUFFIX,ad.com,REJECT
- DOMAIN-SUFFIX,track.com,REJECT
- DOMAIN-KEYWORD,adtrack,REJECT
- 特定域名走代理,其他流量直连:
- DOMAIN-SUFFIX,google.com,Proxy
- MATCH,DIRECT
动态切换Proxy Group
除了静态配置 Proxy Group,Clash 还支持通过 url-test
和 fallback
等类型的 Proxy Group 实现动态切换代理。这些代理组会定期测试所有代理服务器的延迟和可用性,并自动选择最优的服务器。
yaml proxy-groups:
-
name: “Auto” type: url-test url: “http://www.gstatic.com/generate_204” interval: 300 proxies:
- SS-1
- VMess-1
-
name: “Fallback” type: fallback url: “http://www.gstatic.com/generate_204” interval: 300 proxies:
- SS-1
- VMess-1
Clash规则常见问题FAQ
Q1: Clash 规则如何配置才能实现全局代理? A1: 只需要在 rules
部分添加一条 MATCH,Proxy
规则即可,将所有流量导向代理组。
Q2: Clash 如何实现国内直连,国外走代理? A2: 可以添加 GEOIP,CN,DIRECT
规则将国内流量直连,其他流量走代理组。
Q3: Clash 如何屏蔽广告和运营商劫持? A3: 可以添加 DOMAIN-SUFFIX
和 DOMAIN-KEYWORD
规则,将广告和劫持域名流量导向 REJECT
策略。
Q4: Clash 如何配置特定域名走代理? A4: 可以添加 DOMAIN-SUFFIX
规则,将特定域名流量导向代理组,其他流量直连。
Q5: Clash 如何实现自动选择最优代理? A5: 可以使用 url-test
或 fallback
类型的代理组,Clash 会定期测试所有代理服务器的延迟和可用性,并自动选择最优的服务器。