先分清四层:内核、客户端、面板与配置

下载页面里的 Clash 有时指代理内核,有时指带界面的应用,也可能只是指兼容 Clash YAML 的配置格式。判断两个项目的关系,先看它负责哪一层,再看它实际装载的内核名称与版本;仅凭软件名称里有没有 Clash,无法确定协议支持、规则语法或 TUN 能力。

层级实际职责可核对的信息
代理内核解析配置、解析 DNS、匹配规则、建立出站连接内核名称、版本输出、启动日志
图形客户端管理订阅、生成运行配置、控制进程与系统代理应用版本、服务模式、内核选择设置
控制面板通过控制接口查看连接、切换策略与读取日志控制接口地址、认证设置、面板版本
订阅与配置提供节点、策略组、规则及相关资源引用YAML 内容、生成目标、字段兼容性

例如,图形客户端能正常打开,只能说明界面进程运行成功;内核配置校验失败时,代理仍可能没有启动。反过来,关闭界面后若后台服务仍在运行,连接也可能继续经过代理。排障时应分别检查界面、内核进程和系统代理状态。

项目谱系:Clash、Premium、Meta 与 mihomo

原版 Clash:规则代理内核的起点

原版 Clash 通常指 Dreamacro/clash 项目,是用 Go 编写的规则代理内核。它建立了这一生态常见的配置组织方式,包括 proxies、proxy-groups、rules 和 dns。原版项目在 2023 年停止公开维护,旧二进制仍能运行,不代表它会继续获得协议适配或系统兼容更新。

Clash Premium 是历史上的另一条发行线,增加过 TUN、规则提供器、脚本等能力,不能把它当作原版开源内核任意版本都具备的功能集合。Premium 的增强部分并未完整开源,因此“Clash 生态包含开源项目”与“所有冠以 Clash 的发行物都公开全部源码”是两件事。

Clash.Meta:扩展协议与规则能力的分支

Clash.Meta 是从 Clash 发展而来的分支,扩展了协议支持、DNS、嗅探和 TUN 等能力。旧教程里的 Meta、Clash Meta 和文件名中的 clash-meta,通常是在描述这条分支。它不是原版内核上打开的一个开关,也不是只换了外观的客户端。

mihomo:Meta 项目的后续名称

MetaCubeX 维护的 Clash.Meta 后续更名为 mihomo,当前识别项目时应核对 MetaCubeX/mihomo 仓库、发布记录与二进制版本。旧配置、旧路径和客户端界面仍可能保留 Meta 字样;名称没有全部同步替换,并不自动表示它使用了另一套内核。

项目关系简图
Dreamacro/clash
├─ 原版开源内核
├─ Clash Premium(历史增强发行线)
└─ Clash.Meta(分支)
   └─ mihomo(Meta 项目后续名称)

图形客户端 → 启动、配置或嵌入内核
控制面板   → 连接内核的控制接口

Verge Rev、ClashX 与 Nyanpasu 分别处在哪一层

这些名称主要指图形客户端。客户端负责系统托盘、订阅管理、权限申请等交互,协议与规则执行则主要由所带内核完成。应用更新与内核更新可以是两条独立的版本线,记录问题时应同时提供两者。

项目平台与定位内核关系与选型检查
Clash Verge RevWindows、macOS、Linux 图形客户端主要围绕 mihomo 构建;核对发行包内核版本、服务模式与配置合并结果。
Clash Nyanpasu桌面图形客户端提供内核管理能力;可用内核及渠道随版本变化,不能只按应用名判断当前运行的是哪一种。
原版 ClashXmacOS 菜单栏客户端历史上围绕原版 Clash 构建;不要把它与 ClashX Pro 或 ClashX Meta 的能力合并理解。
ClashX PromacOS 历史增强发行版本与 Premium 内核相关;旧教程中的增强模式不能直接套到原版 ClashX。
ClashX MetamacOS 菜单栏客户端分支面向 Meta/mihomo 内核路线;具体内核仍以该发行包的说明和运行日志为准。
Clash for Windows历史桌面客户端项目已停止维护,常见历史发行版使用 Premium;应用名称不能代表当前 Windows 客户端生态。

同名分支要核对维护者与发布记录

原版 Clash Verge 与 Clash Verge Rev 不是同一个持续发布的项目。Rev 是后续独立维护的分支,不能用原项目的停更状态推断 Rev 的状态,也不能把两边版本号串成一条更新序列。ClashX 的不同分支同样需要逐项确认,尤其要检查系统最低版本、处理器架构和内核来源。

查看 macOS 安装包时,应区分 Apple Silicon 的 arm64 与 Intel 的 x86_64。即使应用通过兼容层成功启动,后台辅助程序的架构、安装位置与权限仍需单独确认。iOS 则受系统网络扩展机制约束,桌面端安装辅助服务的步骤不能直接迁移到 iPhone。

“兼容 Clash 配置”不等于所有字段都能运行

Clash YAML 是一个共享基础,而不是对所有内核版本都一致的能力承诺。旧内核可能不支持较新的协议、嗅探选项或 DNS 字段;有些字段会导致启动失败,有些字段可能未按预期生效。客户端能够导入订阅,也不能证明每个节点都已经完成连接测试。

迁移前检查三类差异

  1. 节点协议:检查每个节点的 type 及其参数。以 Hysteria2、TUIC 等节点为例,应核对目标 mihomo 版本的支持范围,不能按原版 Clash 的能力推断。
  2. 规则与资源:检查 rule-providers 的格式、behavior 与更新路径;出现 RULE-SET 时,要确认对应资源名称实际存在。
  3. 系统接管:检查 tun、DNS 劫持、路由与权限要求。配置语法被接受和系统路由成功安装是两个验收步骤。

同一份订阅,最终运行配置可能不同

客户端可以在下载订阅后追加规则、改写端口或合并 DNS 设置。因此,配置页里保存的原始 YAML 不一定是内核最终读取的文件。出现“同一订阅在另一客户端正常”的情况,应优先对比运行配置,而不是重复导入十几次。

端口示例:用于区分配置职责
# 7890 是本例设置,不是所有客户端的固定端口
mixed-port: 7890
allow-lan: false
mode: rule
log-level: info

mixed-port: 7890 表示在同一端口接受 HTTP 与 SOCKS 代理连接。它不是控制接口端口,也不会自动开启 TUN。如果客户端启用了端口覆盖,系统代理应指向最终生效的端口;仅修改订阅里的数字可能不会改变运行结果。上例只是字段片段,不包含节点与完整分流规则。

如何确认正在运行的内核,而不是只看应用标题

不同客户端的菜单命名会随版本变化,核验应使用可交叉验证的信息:界面里的内核条目、日志中的启动记录,以及实际二进制的版本输出。客户端关于页的版本号只描述外壳,不能替代内核版本。

  1. 记录应用版本:打开客户端的“关于”或版本信息区域,记录完整应用名称、版本与操作系统架构,避免只写“最新版”。
  2. 定位内核信息:在设置中查找“内核”“Core”或内核管理入口,记录当前选中的名称与更新渠道;不要把下载列表里的其他内核当成正在运行的内核。
  3. 核对启动日志:重新加载配置后查看日志,确认内核启动成功、配置路径正确,并检查是否出现未知代理类型、资源加载失败或端口占用。
  4. 核对运行文件:需要进一步排障时,对客户端实际使用的二进制执行版本命令;另行下载的同名文件只能说明那个文件的版本。
终端命令:独立 mihomo 二进制
# macOS / Linux:当前目录中已有 mihomo 和 config.yaml
./mihomo -v
./mihomo -t -f ./config.yaml

# Windows PowerShell:当前目录中已有 mihomo.exe 和 config.yaml
.\mihomo.exe -v
.\mihomo.exe -t -f .\config.yaml

-v 用于查看版本,-t 用于测试配置,-f 指定配置文件。语法测试通过只说明配置通过该版本的检查,不表示远端节点可达,也不表示 TUN 权限已获批准。配置引用本地规则、证书或提供器文件时,还需保证路径和运行目录与实际环境一致。

按任务选客户端:先验证配置,再验证系统接管

需要较新协议或 mihomo 专用字段

选择明确说明采用 mihomo 的客户端,再核对内核版本与字段支持。不能因为客户端能显示节点名称,就认定协议已经兼容。最小验证路径是:配置测试通过、选择目标策略组、建立一次实际连接,再在连接页检查命中的规则与出站名称。

需要 TUN 接管不读取系统代理的应用

检查客户端是否提供对应平台的服务或辅助程序,以及系统是否批准所需权限。系统代理主要影响遵循代理设置的应用;TUN 则通过虚拟网络接口与路由处理流量,覆盖范围取决于路由、排除项及平台限制。TUN 不等于把所有流量强制送往代理,最终出站仍受规则、策略组和直连设置控制。

从旧客户端迁移到维护中的项目

  1. 备份订阅来源、手工规则、DNS 设置和策略组选择;不要仅保存界面截图。
  2. 在新客户端先导入一份配置,确认配置测试通过,再逐项恢复覆盖设置。
  3. 关闭旧客户端的系统代理与 TUN,确认旧后台服务不再接管流量,再启用新客户端。
  4. 核对代理端口,分别测试域名解析、规则命中和目标网站连接;遇到故障按这三个层次分别记录。
  5. 完成验证后再清理旧服务与开机启动项,避免两个程序争用同一监听端口。

选型时最有用的记录是“应用名称与版本、内核名称与版本、运行配置来源、系统接管方式”四项。应用外观决定操作路径,内核决定协议与规则能力,操作系统权限决定接管能否落地。将这三者分开核对,才能判断问题应该通过换客户端、更新内核,还是修正配置来解决。

需要横向核对平台支持,可查看客户端横向评测;需要理解策略组、规则与 DNS 的区别,可查阅概念速查。下载安装后,再按当前客户端提供的实际设置验证,不要混用其他分支的菜单截图。