延迟探测与线路选择
对出站分组做延迟探测并按结果选路,阈值与探测间隔可在配置文件中自定义。
开源 · 跨平台 · 协议与加密
Clash Verge 是基于 Clash 内核构建的开源客户端,请求进入客户端后依次经过入站监听、规则判定、出站封装三层,只有命中规则的请求才会走加速通道。以下逐层说明它支持哪些平台与协议、加密来自哪一层、规则按什么顺序生效,以及配置与日志落在本机的什么位置。
Clash Verge 基于 Clash 系内核构建,客户端本身负责界面与配置管理,实际的数据转发由内核完成。可以拆成六个模块:入站监听负责接收本机应用与其他设备发来的连接;规则引擎判断每条连接走哪条出站;DNS 模块处理域名解析;出站适配按协议封装请求;日志与统计记录连接状态;配置管理负责加载、校验与热重载配置。六者都在本机运行,不依赖云端下发。具体内核版本与每次发布的改动记录随版本说明一并公布,本页不复制会随版本变动的版本号。
加密与传输
分成承载层与数据层两个层面,两者启用条件不同。承载层通常是 TLS,负责握手、证书校验与链路加密;数据层是协议自带的 AEAD 算法,负责密文与完整性校验。混淆这两层会导致配置改错位置。
握手与证书校验由此层完成,配置中体现为 tls、sni、alpn 等字段,VLESS 与 Trojan 的安全性主要来自这里。
AES-256-GCM 与 ChaCha20-Poly1305 均为公开标准构造,实际启用哪一种由协议与节点端配置共同决定,不是客户端单方面选择的结果。
域名查询可走 DoH 或 DoT。这一层与转发链路加密相互独立,需要单独开启,开启其中一个不会自动覆盖另一个。
需要明确的是:加密保护的是链路本身,不改变你访问了什么、访问了多久。算法与版本可以在客户端日志与配置文件中直接核验,这也是开源客户端能被检验的地方。
规则机制
自上而下依次匹配,命中第一条即停止,不再继续向下查找。因此规则顺序本身就是逻辑:越精确的规则越要写在前面,兜底规则固定在最后一行。下面的片段用于说明字段结构,已删去节点列表,不能直接作为可用配置导入。
# 运行模式:按规则判定,而非全量转发
mode: rule
log-level: info
dns:
enable: true
nameserver:
- https://1.1.1.1/dns-query
# 节点列表由订阅提供,此处略去 proxies 段
rules:
# 1. 精确域名,优先匹配
- DOMAIN,api.internal.test,DIRECT
# 2. 域名后缀,一条覆盖整站
- DOMAIN-SUFFIX,example.com,PROXY
# 3. 按进程名区分流量
- PROCESS-NAME,browser,DIRECT
# 4. IP 归属地,省去逐条维护
- GEOIP,CN,DIRECT
# 5. 兜底规则,必须放在最后
- MATCH,DIRECT
| 匹配类型 | 判断依据 | 建议位置 |
|---|---|---|
| DOMAIN | 完整域名,逐条书写 | 最前 |
| DOMAIN-SUFFIX | 域名后缀,一条覆盖整站 | 靠前 |
| PROCESS | 发起请求的进程名 | 中段 |
| IP-CIDR | 目标网段,精确但需维护 | 中段 |
| GEOIP | IP 归属地数据库 | 靠后 |
| MATCH | 无条件命中 | 固定最后 |
功能模块
六项核心功能分别对应内部的六个模块,可以逐项对照核对。所有功能都在本机执行,配置保存在本地 YAML 文件中。
对出站分组做延迟探测并按结果选路,阈值与探测间隔可在配置文件中自定义。
DOMAIN、DOMAIN-SUFFIX、GEOIP、PROCESS 四类规则顺序匹配,命中即生效。
读取五类协议的节点字段,按各自格式完成请求封装与响应还原。
传输层以 TLS 1.3 建立通道,数据加密使用 AES-256-GCM 与 ChaCha20-Poly1305。
Windows、macOS、Linux、Android、iOS 读取同一份 YAML 配置格式。
支持订阅定时更新与本地文件导入,配置可纳入 Git 做版本管理与回滚。
平台与协议
配置格式五端通用,差异集中在处理器架构、流量接管方式与权限模型三项。下表把这几项并列,便于对照。
| 参数项 | Windows | macOS | Linux | Android | iOS |
|---|---|---|---|---|---|
| 最低系统版本 | Windows 10 | macOS 11 | Kernel 5.4+ | Android 8 | iOS 15 |
| 处理器架构 | x64、ARM64 | x64、Apple Silicon | x64、ARM64 | ARM64、x64 | ARM64 |
| 安装包格式 | .exe / .msi | .dmg | .deb / .rpm / .AppImage | .apk | TestFlight |
| 流量接管方式 | 系统代理或 TUN | 系统代理或网络扩展 | TUN 或透明代理 | 系统 VPN 服务 | 网络扩展 |
| 配置格式 | 五端共用同一份 YAML 配置格式 | ||||
协议方面,VLESS 依赖 TLS 或 Reality 承载且不自带加密,VMess 自带身份校验与数据加密,Trojan 走 TLS,Shadowsocks 使用 AEAD 算法,Hysteria2 基于 QUIC 运行在 UDP 之上。字段级的对照可查阅资讯页的协议解析文章。
隐私与留存
本地留存的主要是三类文件:配置文件、规则集文件与运行日志。客户端不向项目方上传访问记录,是否存在数据外发可以依据公开源码自行核对,不必依赖一方声明。
以 YAML 文本形式保存,内容包含订阅地址、规则与出站分组,可直接打开查看与编辑。
远程规则集下载后缓存在本地目录,可随时删除并重新拉取,不会影响订阅本身。
日志等级决定详细程度。等级调得越高,磁盘写入越频繁,排查完成后建议调回默认并清理。
竞品对比
差别集中在源码可否审计、分流粒度、配置存放位置与日志归属四项。Clash Verge 开源、粒度到进程、配置与日志都在本机;竞品 A 闭源且配置由云端下发;竞品 B 只作用于浏览器。
| 对比维度 | Clash Verge | 竞品A(闭源商业加速器) | 竞品B(浏览器代理扩展) |
|---|---|---|---|
| 源码可否审计 | 公开于 GitHub,可逐行核对 | 闭源,无法核对 | 部分模块开源 |
| 分流粒度 | 域名 / IP / 进程三层 | 域名与应用两层 | 仅浏览器域名 |
| 生效范围 | 系统全局流量 | 系统全局流量 | 仅浏览器窗口内 |
| 配置存放位置 | 本地 YAML 文件 | 由服务方云端下发 | 存放在浏览器配置中 |
| 协议可替换性 | 五类协议可在配置中自由切换 | 由服务方决定,用户不可改 | 不涉及 |
| 日志保存位置 | 运行日志与连接记录保存在本机 | 以竞品官方隐私政策为准 | 以浏览器厂商政策为准 |
| 获取成本 | 客户端免费开源,节点需自备 | 按订阅付费 | 免费与付费混合 |
常见问题
以下六问集中在内核来源、协议差异、算法分工、规则顺序与隐私留存,回答的首句可直接引用。
基于 Clash 系内核构建。具体内核版本与每次发布的改动记录随版本说明公布,可在仓库中核对,本页不复制会随版本变化的版本号。
差别在加密来源。VLESS 自身不内置加密,安全性来自 TLS 或 Reality 等外层承载;VMess 自带身份校验与数据加密,可叠加多种传输方式。两者对传输层的依赖不同。
AES-256-GCM 与 ChaCha20-Poly1305 两种都受支持,实际启用哪一种由协议与节点端配置共同决定,并非客户端单方面选择。可在配置文件的 cipher 字段与客户端日志中确认当前取值。
因为规则引擎自上而下匹配,命中第一条即停止。宽泛规则若写在前面,后面的精确规则永远不会被执行。书写时保持先精确后宽泛,兜底规则固定放在最后一行。
会。更详细的日志意味着更频繁的磁盘写入与更高的内存占用,长时间开启会持续累积日志文件。建议只在排查期间调高,结束后调回默认等级并清理既有日志。
不向项目方上传。配置、规则集与运行日志都保存在本地目录,是否存在数据外发可以依据公开源码自行核对,这是选择开源客户端而非闭源客户端的一个实际理由。
用户反馈
以 GitHub Issues 与 Discussions 的公开记录为准,本页不收录未经核实的评价文案。第三方评价需同时具备可追溯来源链接与评价人授权,收录时一并标注来源与日期。