Clash、Clash Meta 与 mihomo 是什么关系:开源内核与客户端生态梳理

从原版内核到 Clash Meta 更名 mihomo,再到 Verge、FlClash 等图形客户端,梳理各项目的分工与传承关系。

先分清三层:内核、客户端与配置

搜索 Clash 时,结果里常同时出现内核仓库、桌面安装包、手机应用和订阅教程。它们不是同一种东西。理解这套生态,先看每个项目负责哪一层,比只看名称里的 Clash 更有用。

层级负责什么常见内容
代理内核接收连接、解析 DNS、匹配规则、建立出站连接Clash、mihomo
图形客户端导入订阅、选择策略、管理内核与系统接入Clash Verge Rev、FlClash
配置与订阅描述节点、策略组、规则和运行参数YAML 配置、远程配置地址、代理集合

内核像处理网络请求的执行层;客户端提供按钮、列表和设置页;配置则告诉内核如何处理连接。安装一个客户端,通常会同时获得它配套的内核,但这不代表客户端名称就是内核名称。

Clash、Clash Meta 与 mihomo 的传承关系

Clash:原始项目与通用称呼

狭义的 Clash 指 Dreamacro 发起的规则代理内核。它通过 YAML 配置组织代理节点、策略组、DNS 与分流规则,图形界面可以通过控制接口读取连接和切换策略。日常交流里,“Clash”也常被用作这一类客户端和配置格式的统称,因此教程中的“安装 Clash”未必是在要求直接运行原始内核。

原版开源 Clash 与历史上的 Clash Premium 也需要区分。Premium 是不同的历史发行分支,功能集合并不等同于原版开源内核。旧教程涉及 TUN、脚本或规则提供器时,必须同时核对教程所用的分支与版本,不能把其中一项功能推广到所有叫 Clash 的程序。

Clash Meta:从 Clash 衍生的内核项目

Clash Meta 是从 Clash 发展而来的社区分支。它保留了大量已有配置结构,并继续扩展协议支持、DNS、路由和 TUN 等能力。这里的 Meta 是内核项目名称,不是一个必须另行购买的客户端版本,也不代表所有带 Meta 字样的应用都由同一团队开发。

mihomo:Clash Meta 后续使用的名称

Clash Meta 后续更名为 mihomo,相关开发延续于 mihomo 项目。旧文档、配置注释和部分客户端界面仍可能使用“Meta 内核”这个称呼。看到“支持 Clash Meta”和“使用 mihomo”时,应先检查实际内核版本;它们通常指向同一条项目发展脉络,而不是两个必须同时安装的服务。

2023 年原版项目及部分客户端的公开维护发生变化后,新的社区分支继续发展。由此不能推导出“所有 Clash 客户端都停止更新”,也不能把一个新客户端视为原项目自动改名后的官方续作。判断维护归属,应查看项目仓库、发布记录与维护者说明。

Verge、Verge Rev 与 FlClash 分别处在哪一层

Clash Verge、Clash Verge Rev 和 FlClash 都属于图形客户端这一层。它们让用户通过界面导入配置、切换策略并查看日志,而真正的代理处理由其启动的内核完成。

项目或名称生态定位选择时核对
Clash Verge历史桌面客户端项目不要与 Rev 的发布记录混用
Clash Verge Rev延续 Verge 路线的社区桌面客户端,使用 mihomo系统要求、内核版本、服务模式说明
FlClash基于 Flutter 构建、使用 mihomo 的多平台客户端目标平台安装包与平台权限
Clash for Windows历史桌面客户端,已停止维护旧教程与当前系统的适配差异
Clash for Android历史 Android 客户端,原项目已停止维护不要将其与后续社区项目混为一谈

客户端名中的平台词也不能代替发行信息。例如 Clash for Windows 的历史发行不只涉及 Windows,而一个桌面客户端也不一定提供 Android 安装包。下载时应以具体项目当次发布的系统和架构列表为准。

同样使用 mihomo,为什么设置页不同?

因为订阅存储、托盘菜单、开机启动、服务安装和配置覆写由客户端实现。两款客户端即使内核版本相同,也可能使用不同的配置目录和订阅更新机制。某个界面里的“设置”→“订阅更新”路径不能直接套用到另一款应用;找不到同名菜单时,应寻找“配置”“Profiles”或该客户端文档中对应的入口。

配置能否通用:先看字段,再看加载方式

mihomo 延续了 Clash 生态中常见的 YAML 结构,但“能导入”不等于“全部字段都生效”。基础代理组和域名规则通常较容易迁移;新协议、DNS 扩展和 TUN 参数则更依赖版本。旧内核可能拒绝加载新配置,也可能忽略不认识的内容,具体要结合日志判断。

用基础字段识别配置结构

下面只展示通用设置和规则片段,不包含可连接的节点。这里明确把本地混合代理端口设为 7890,并限定为本机使用;它不是所有客户端都采用的默认值。

mixed-port: 7890
allow-lan: false
mode: rule
log-level: info

rules:
  - DOMAIN-SUFFIX,example.com,DIRECT
  - MATCH,DIRECT

mixed-port 提供 HTTP 与 SOCKS 混合代理入口;mode: rule 表示按规则选择策略。示例最后一条规则是直连兜底,所以不会凭空产生代理连接。正式配置若要引用名为 Proxy 的策略组,还必须在配置中实际定义它,名称和大小写都要对应。

整份订阅与代理集合不是同一种输入

遇到“同一订阅在 A 能用、在 B 不能用”,先检查 B 是否接受相同输入格式,再比较内核版本。不要只因链接能在浏览器下载,就断定它一定是客户端可直接加载的完整配置。

系统代理与 TUN:接入流量,不是另一种内核

系统代理和 TUN 解决的是“应用流量如何进入内核”,规则模式解决的是“进入后交给谁处理”。它们不是同一组开关。开启 TUN 后仍然可以使用规则模式,也仍然需要有效的节点、DNS 和路由设置。

系统代理:让遵循系统设置的应用连接本地端口

以 Windows 11 为例,可在“设置”→“网络和 Internet”→“代理”检查代理状态。如果客户端的有效混合端口是 7890,系统代理应指向对应的本地地址和端口,而不是继续使用另一款旧客户端的 7897 或其他值。这些数字只是不同配置中可能采用的端口,不能凭教程截图推定当前值。

并非每个程序都遵循系统代理。浏览器可用而某个终端工具不可用时,先检查该工具自身的代理参数或环境变量,不应立即认定内核失效。

TUN:通过虚拟网络接口与路由接入流量

TUN 可以接入更多不遵循系统代理的流量,但能否正常工作取决于系统权限、路由设置、DNS 处理和现有网络环境。桌面客户端可能要求先安装服务或提升权限;Android 通常通过系统 VPN 接口接入,并需要用户确认授权。不同平台的权限步骤不能照搬。

实际选型与迁移:按这五步核对

  1. 确定平台与架构。先确认 Windows、macOS、Linux 或 Android,再核对 x64、ARM64 等安装包标记。macOS 可从苹果菜单→“关于本机”查看芯片信息。
  2. 确认项目身份。对照完整项目名、仓库归属与发布记录,尤其区分 Clash Verge 和 Clash Verge Rev,以及原始移动端项目与社区分支。
  3. 记录客户端与内核两个版本。在“关于”、内核管理页或启动日志中查找;界面位置以具体版本为准。客户端升级不一定同时升级内核。
  4. 先导入配置,再测试单个节点。确认配置加载成功,查看日志中是否有未知字段、策略组不存在或端口占用提示,然后测试实际网页访问。
  5. 最后迁移自动化设置。基本连接稳定后,再设置自动更新、开机启动、覆写和 TUN,避免一次改变太多变量。

如果是独立运行内核,可以在终端执行以下命令查看版本。命令要求当前目录已有相应二进制文件;图形客户端用户不需要为了查版本额外安装另一份内核。

# Linux / macOS:在内核文件所在目录执行
./mihomo -v

# Windows PowerShell:在内核文件所在目录执行
.\mihomo.exe -v

排错时记录实际输出,而不是只写“最新版”。还应同时记录系统版本、配置来源类型、接入方式和具体报错。对外分享日志前,移除订阅地址中的令牌、节点密码以及控制接口密钥。

常见问题:名称相近时怎么判断

安装了 mihomo,还需要客户端吗?

不一定。熟悉命令行和配置文件的用户可以直接运行内核,并自行管理启动与系统接入。希望通过界面导入订阅、切换策略和查看连接时,图形客户端更方便。二者是不同使用方式,不是必须叠加安装的两道步骤。

把内核换成 mihomo,旧配置就一定能用吗?

不能只凭继承关系保证。除了字段兼容,还要核对相对文件路径、规则文件格式、客户端覆写和权限。迁移后应检查实际加载日志与规则命中情况,不要仅以配置列表出现名称作为成功标志。

看到“Meta”旧名称,需要重新找一份订阅吗?

名称变化本身不要求更换订阅。只有现有订阅输出格式、协议或字段与当前内核不兼容时,才需要调整订阅输出或配置。应先核对具体错误,避免在不必要的转换过程中泄露订阅凭据。

怎样避免客户端与内核混淆?

保留一份简短记录:客户端完整名称与版本、内核名称与版本、配置类型、本地代理端口、系统代理或 TUN 状态。下次换软件或查日志时,这五项信息就能把“界面问题”“配置问题”和“网络接入问题”分开。

继续阅读时,可以用术语表核对代理组、Fake-IP 等概念,或在配置字段说明中查找具体参数。选客户端看平台与维护状态,排兼容问题看内核与实际配置,这两条线分开后,生态中的大多数名称就不容易混淆。

下载Clash