一种轻量加密代理协议,自 2012 年起在社区广泛使用。客户端与服务端通过预共享密码和指定加密方法建立连接,配置字段少、开销低。Clash 系客户端原生支持其常见加密套件,是订阅节点列表中最常见的协议类型之一。
代理协议
4 条 · 节点连接方式V2Ray 项目定义的传输协议,基于用户 UUID 做身份校验,可搭配 WebSocket、gRPC 等多种传输层并叠加 TLS。配置字段比 Shadowsocks 多,server、port、uuid、network 任一项填错都会导致连接失败,常见于需要伪装成普通 HTTPS 流量的场景。
以「让代理流量看起来就是一次普通 TLS 连接」为设计目标的协议。服务端通常监听 443 端口并凭密码校验,校验失败的连接会被转交给一个真实网站,以降低被主动探测识别的概率。协议要求服务端持有有效证书,客户端侧配置相对简单。
基于 QUIC(UDP)的代理协议,自带拥塞控制算法,针对高丢包与跨境长链路场景做了优化。mihomo 内核已内置支持,原版 Clash 内核无法加载此类节点。使用前需确认本地网络未拦截对应端口的 UDP 流量,否则节点会显示超时。
内核与客户端
4 条 · 软件构成用 Go 语言编写的规则型代理内核,负责监听本地端口、解析配置文件、按规则把每条连接分派到不同出口。各种图形客户端本质上都是这个内核的外壳,提供开关与订阅管理界面。原始仓库已于 2023 年停止更新,现由社区分支延续维护。
社区维护的 Clash 内核分支,曾用名 Clash.Meta。在原内核基础上补充了 VLESS、Hysteria2、TUIC 等协议支持,以及更完整的 DNS 与 TUN 实现。当前主流客户端(Clash Verge Rev、FlClash 等)默认搭载的都是这一分支,兼容原有配置格式。
基于 Tauri 框架的跨平台图形客户端,内置 mihomo 内核,覆盖 Windows、macOS 与 Linux 三平台。提供订阅管理、系统代理与 TUN 开关、Merge 与 Script 配置增强等功能,是 Clash for Windows 停止维护后的常见替代选择。各平台安装包见客户端页。
配置中的 external-controller 字段,即内核暴露的 RESTful API 地址,默认监听 127.0.0.1:9090。网页面板(如 metacubexd)通过它读取节点延迟、切换策略组、查看实时连接。若把监听地址改为对外可达,应同时设置 secret 口令防止被局域网内其他设备操控。
配置与规则
6 条 · 配置文件构成服务商提供的一个 URL,访问后返回完整配置或节点列表。客户端按固定周期或手动触发重新拉取,以同步节点增删与地址变动。链接本身等同于凭据,泄露后他人可直接取用账户的流量额度,不应公开张贴。导入步骤见教程页。
客户端加载的完整配置单元,包含端口、DNS、节点、策略组与规则等全部段落。一个客户端可以保存多份 Profile,同一时间只有一份处于激活状态;从订阅拉取的配置同样以 Profile 形式落在本地,更新订阅即覆盖对应文件。
Clash 配置采用的文本格式,靠缩进表达层级关系,缩进统一使用空格,禁止 Tab 字符。缩进错位、冒号后缺少空格是配置无法加载最常见的两个原因。手工修改配置前建议先备份原文件,加载报错时优先核对报错行附近的缩进。
配置中的 proxy-groups 段,把多个节点组织成一个可选择的出口集合。select 类型由用户手动选择,url-test 按测速结果自动选最快节点,fallback 按顺序做故障切换,load-balance 在多节点间分摊流量。规则末端指向的通常是策略组而非单个节点。
配置中 rules 段定义的匹配列表,按域名关键字、域名后缀、IP 段、进程名等条件自上而下逐条匹配,首条命中即生效,决定这条连接走代理、直连还是拒绝。列表末尾的 MATCH 规则兜底处理所有未命中的流量,规则顺序直接影响分流结果。
两类预编译规则数据库:GeoIP 按 IP 归属地匹配(如 GEOIP,CN 命中所有中国大陆 IP),GeoSite 按维护好的域名清单匹配(如 GEOSITE,category-ads)。它们把成千上万条规则压缩成一条引用,数据文件随内核发布,需要定期更新以保持准确。
运行模式
4 条 · 流量接管方式客户端把本机 HTTP/SOCKS 代理设置写入操作系统,让遵守该设置的应用(浏览器、多数联网软件)自动把流量发往 Clash 的监听端口。部分软件不读取系统代理设置,这类流量不会被接管,需要改用 TUN 模式或在软件内单独填写代理地址。
在系统中创建一块虚拟网卡,把本机全部 IP 层流量导入内核处理,不依赖应用是否遵守代理设置,可覆盖命令行工具、游戏客户端等场景。启用需要管理员或 root 权限,并建议配合 Fake-IP 与 DNS 劫持配置使用,否则容易出现解析异常。
一种 DNS 应答策略:内核对域名查询先返回保留网段内的虚假 IP(默认 198.18.0.0/16),等实际连接到来时再按域名匹配规则,免去等待真实解析的时间。在 Fake-IP 与传统 redir-host 模式之间切换后,建议清空系统 DNS 缓存,避免残留映射造成访问异常。
Windows 的 UWP 应用(微软商店应用)默认被系统禁止连接本机回环地址,因此无法使用监听在 127.0.0.1 的本地代理端口。需要用 CheckNetIsolation 命令或客户端内置的回环豁免工具为对应应用解除限制;微软商店、Xbox 类应用联网异常多与此相关。
网络基础
4 条 · 通用概念代理已经生效,但域名解析请求仍然直接发往本地运营商 DNS,导致访问目标暴露给本地网络的情况。多由 DNS 请求未被内核接管引起,可通过启用 TUN 模式配合 DNS 劫持,或使用 Fake-IP 模式规避,处理后用泄漏检测网站验证结果。
客户端向指定测试地址(常见为 http://www.gstatic.com/generate_204)发起请求并记录耗时,单位毫秒。数值反映建立连接的往返时间,不等于下载带宽,低延迟节点不一定速度快。url-test 类型的策略组即依据该结果自动选择当前出口。
配置中的 mixed-port 字段,在同一个本地端口上同时接受 HTTP 与 SOCKS5 两类代理请求,常见默认值为 7890。应用侧无论按哪种协议配置代理,都可以指向这同一个端口,省去分别记忆 HTTP 端口与 SOCKS 端口的麻烦。
DNS over HTTPS 与 DNS over TLS 的简称,把明文 DNS 查询封装进加密通道传输。Clash 配置的 nameserver 列表支持以 https:// 或 tls:// 前缀的写法直接使用这类服务器,可降低解析结果在链路上被篡改或被窃听的概率。