当你在浏览器里打开一个网址,流量并不是直接发出去的。Clash 在本地监听一个或多个端口,拦截所有出站连接,经过规则引擎判断后,才决定走「直连」还是「代理出站」。
整个链路分为五个阶段,每个阶段都有 Clash 明确的介入点:
rules 列表从上到下逐条比对域名、IP、进程名等条件
规则引擎是 Clash 最核心的能力。它按照 rules 列表从第一条到最后一条逐行匹配,第一条命中的规则立刻生效,后续规则不再执行——顺序决定一切。
最常用的一类,精确到域名或后缀级别,适合对特定网站做分流。
基于目标 IP 地址或 GeoIP 数据库做判断,是「国内直连、国外代理」的核心规则。
按应用进程名或端口号做分流,适合针对特定软件(如开发工具、游戏客户端)单独配置出口。
把成百上千条规则封装进一个远程订阅文件,客户端定时拉取更新,是大型分流方案的标准做法。
interval 自动定时更新规则从上到下依次匹配,第一条命中即生效,后续规则不再执行。常见错误:把 MATCH,DIRECT 放在 GEOIP 前面,会导致所有流量直连。推荐顺序:
IP-CIDR 192.168.0.0/16)→ DIRECTGEOIP,CN,DIRECT——IP 归属国内则直连MATCH,Proxy——兜底,未命中的流量走代理Clash 支持两种接管流量的方式,选错模式是「某些 App 不走代理」的常见根因:
stack 选项:system 使用系统网络栈性能更高,gvisor 用户态网络栈兼容性更好;Mihomo 内核还支持 mixed 混合模式。
DNS 泄漏是代理用户最容易忽视的安全盲区——你的流量走了代理,但 DNS 查询却被明文发给了本地 ISP,暴露你访问的域名。Clash 内置完整的 DNS 处理模块来应对这个问题。
Clash 收到 DNS 请求后,立刻返回一个虚假 IP(如 198.18.x.x),让应用尽快发起连接;真正的 DNS 解析推迟到节点侧完成,避免在本地提前泄露域名。
198.18.0.1先在本地完成真实 DNS 解析,把域名解析为真实 IP 后再交给规则引擎做 GEOIP 匹配。兼容性更好,但 DNS 查询本身可能泄露给本地 ISP。
fallback 配合 fallback-filter:当域名解析到国外 IP 时,自动用加密的 DoT / DoH 服务器重新解析,防止污染。
协议决定流量的加密方式和混淆策略。Clash 原生支持多种协议,Mihomo(Clash Meta)内核进一步扩展了对新一代协议的支持。
使用对称加密(AES / ChaCha20)对流量进行加密,外观上看起来像随机数据,能一定程度对抗深度包检测(DPI)。协议设计简洁,客户端支持最广泛。
V2Ray 项目设计的专属协议,在加密之外加入了时间戳验证和混淆能力,可配合 WebSocket + TLS 伪装成 HTTPS 流量,抗封锁能力强。
直接在 TLS 层传输代理数据,外观与正常 HTTPS 完全一致,无需额外混淆层。服务端同时提供真实网页响应,进一步隐蔽代理特征。
基于 QUIC(UDP)的新一代高性能协议,在弱网、高丢包环境下表现显著优于 TCP 协议族。专为高延迟、不稳定网络场景设计。
同样基于 QUIC,专注于低延迟和连接复用,0-RTT 握手设计减少首包延迟,适合对响应速度敏感的场景(如游戏、实时音视频)。
现代 VPN 协议,代码量极少、审计简单,使用 ChaCha20 + Poly1305 加密,内核级实现性能极高。Mihomo 支持将 WireGuard 作为出站协议使用。
策略组是规则「打包」和节点「调度」的核心机制。规则命中后,流量不直接交给某个节点,而是交给一个策略组——由策略组决定用哪个节点,实现自动测速、故障切换等能力。
用户从节点列表中手动挑选当前使用的节点,客户端通常在界面上直接展示。适合想要精细控制出口的用户。
定时对所有节点发出 HTTP 探测请求,自动选择响应延迟最低的节点。节点延迟超出 tolerance 阈值时才切换,避免频繁抖动。
按顺序使用第一个节点,当它无法通过健康检测时自动切换到第二个,以此类推。适合需要稳定性保障的场景。
多个节点轮流承担流量,将连接分散到不同节点上,提升整体吞吐量。Mihomo 支持 consistent-hashing 确保同一会话用同一节点。
Clash 目前有两条主要分支,日常使用时经常混称,但能力差异明显——尤其是协议支持和 TUN 增强功能。
结论:新用户直接选择基于 Mihomo(Clash Meta) 内核的客户端(如 Clash Verge Rev、Mihomo Party、Clash Meta for Android),能获得更完整的协议支持与 TUN 能力,无需折中。经典 Clash 内核的客户端仍然稳定,但协议生态的持续更新集中在 Mihomo 分支。
MATCH 放在前面,会导致下面所有规则永远不被触发。合理顺序应是:局域网 → 明确代理域名 → 明确直连域名 → GEOIP → MATCH 兜底。198.18.x.x 段 IP 做特殊处理导致异常。Clash 提供 fake-ip-filter 配置项,可以把特定域名排除在 Fake-IP 之外,让它们走正常 DNS 解析。system stack 比 gvisor 性能更高;若机器性能不足,可以只对特定应用开系统代理,不开 TUN。http://www.gstatic.com/generate_204(返回 204 空响应)或 http://cp.cloudflare.com/generate_204。建议使用能通过代理访问的境外地址,避免用国内地址造成误判。