Mihomo 与 Xray-core 对比:Clash 系与 V2Ray 系内核
Mihomo 是 Go 写的规则分流内核,前身为 Clash.Meta,直接读 YAML 并能处理订阅;Xray-core 从 V2Fly 分叉而来,读 JSON,订阅交给外面的图形客户端。普通用户通常不单独选内核,而是选了客户端就间接选了它。
Mihomo 对比 Xray 之前,先把一个常见误会放下:它们都不是你日常点开的那个窗口,而是藏在客户端里干活的内核。一个属于 Clash 一脉,一个属于 V2Ray 一脉。下面不比“谁更厉害”,只比官方资料里能查到的出身、配置方式和限制,让你知道自己手上的客户端背后该翻哪份文档。
先看出身:Clash 系和 V2Ray 系各是哪一边
| 维度 | Mihomo | Xray-core |
|---|---|---|
| 前身 | Clash.Meta,常被叫作 Clash Meta 内核 | 从 V2Fly 的核心项目分叉而来,属于 Project X |
| 实现语言 | Go | 档案里未单列,以官方仓库为准 |
| 许可证 | GPL-3.0,另有名称条款 | MPL-2.0 |
| 官方文档 | MetaCubeX 文档站 | Project X 文档站 |
| 常见搭档 | Clash 类图形客户端 | V2Ray 类图形客户端与路由器插件 |
许可证这一行值得多看一眼。Mihomo 在 GPL-3.0 之外附加了一条:非 MetaCubeX 的下游项目,名称里不得带 mihomo 一词。所以你会看到各种客户端自己起名字,而不是叫“某某 Mihomo”。这也是为什么站内把客户端和内核分开讲,见 Mihomo 内核档案 与 Xray-core 档案。
如果你想先理解“内核”这个词本身,读 代理内核术语,再回来看这张表会顺很多。
clash内核和xray内核,配置与订阅的处理方式不同
这是两者最影响日常使用的地方。
- Mihomo 直接读 YAML,并且能识别三类订阅内容:YAML 的 proxies 列表、URI 链接列表、Base64 编码的 URI 列表。对使用者来说,订阅链接丢进去就能得到节点。
- Xray-core 直接读 JSON 配置,内核本身不处理订阅。订阅更新、节点切换由外层的图形客户端负责,客户端再把结果写成 Xray 认识的 JSON。
所以同样是“导入订阅”,在 Clash 类客户端里是内核自己的本事,在 V2Ray 类客户端里是客户端的本事。这解释了一个现象:同一份订阅,换个客户端有时能导入、有时导不进去,问题常出在订阅返回的格式,而不是内核坏了。遇到这种情况,先看 Clash 订阅导入失败怎么办,再决定要不要换客户端。
想弄清 YAML 配置长什么样,读 Clash 配置文件怎么看;想了解内核命令行用法,读 Mihomo 内核配置要点。
Mihomo 对比 Xray 的协议覆盖:官方写了什么、没写什么
下表只收录两边官方资料里能核对到的结论。“资料待核实”表示官方没有明确说法,梯子岛不替它补。
| 协议 | Mihomo | Xray-core |
|---|---|---|
| VMess | 支持 | 支持 |
| VLESS | 支持 | 支持 |
| Reality | 支持 | 支持(原始实现所在) |
| Trojan | 支持 | 支持 |
| Shadowsocks | 支持 | 支持 |
| ShadowsocksR | 支持 | 资料待核实 |
| Hysteria2 | 支持 | 支持 |
| TUIC | 支持 | 资料待核实 |
| WireGuard | 支持 | 支持 |
| AnyTLS | 支持 | 资料待核实 |
读这张表要注意两点。
第一,Xray 一侧的三个“资料待核实”,原因是官方出站协议列表里没有它们,但文档也没写“不支持”。按梯子岛的规则,没写“不支持”就不能下这个结论。想确认某种节点能不能在 Xray 路线上用,可以对照 协议 × 客户端支持矩阵 里每一格的官方出处。
第二,Mihomo 仓库 README 里的功能列表写得比较旧,只列了 VMess、VLESS、Shadowsocks、Trojan、Snell、TUIC、Hysteria 几项。完整协议请以文档站为准,别用 README 去反驳文档站。
各自被官方点名的限制
两边的文档都写了一些容易踩的坑,单独列出来比泛泛地比较更有用。
Mihomo 一侧
- AnyTLS 不能与 Reality 组合,文档称以后也不会支持。想用 Reality,请选 VMess、VLESS 或 Trojan 这几种。
- 仓库默认分支展示的是无关内容,真正的内核在 Meta 与 Alpha 分支。下载请走发布页。
- 苹果手机上的官方发布形态,资料里查不到,不要想当然地认为有现成二进制。
Xray-core 一侧
- Reality 只能与 RAW、XHTTP、gRPC 这几种传输方式组合使用。
- TUN 入站在 Android 和 iOS 上不能独立运行,需要由外部应用传入 TUN 的文件描述符。换句话说,手机上的 Xray 通常是被第三方应用嵌入使用的。
- Hysteria 本身没有认证,和非 Hysteria 的传输层搭配时无法代理 UDP,文档不推荐这样用。
- 发布页上最新一条常常带着 pre-release 标记,“latest”指向的可能是更早的正式版。下载前看清标记,再决定要不要装预发布。
这些限制在你读客户端档案时也会出现,因为客户端继承了内核的边界。需要更具体的节点写法时,参考 Reality 协议 与 传输方式。
怎么确认你的客户端背后是哪个内核
不要靠猜名字。按下面三步查。
- 打开客户端的“关于”或设置页,看有没有写内核名称与内核版本一栏(栏目名称随客户端不同,以当前版本为准)。
- 去客户端的官方仓库,读 README 或文档里对内核的说明。
- 看它导入配置时要的是 YAML 还是 JSON:YAML 多半对应 Mihomo 系,JSON 多半对应 Xray 或 sing-box 系。
查到内核之后,后面的问题就有了固定去处:协议能不能用,翻内核的文档站;订阅导不进去,翻客户端的文档。这比在论坛里问“哪个好”靠谱得多。
做完 Mihomo 对比 Xray 之后,按你的情况选而不是按名气选
| 你的情况 | 更自然的路径 |
|---|---|
| 手上是机场给的订阅链接,想图形界面点一点 | 选 Clash 类客户端,内核是 Mihomo,见 Clash 客户端对比 |
| 手上是 vmess:// 或 vless:// 节点链接,用惯了 V2Ray 类客户端 | 选 V2Ray 类客户端,内核常是 Xray,见 v2rayN 与 Clash Verge Rev 对比 |
| 想在路由器上跑 | 看路由器插件的档案,核对它调用的内核,见 路由器翻墙怎么做 |
| 不确定 | 先用 客户端选择工具 缩小范围 |
下一步该做什么
- 先确认自己正在用的客户端内核:读上一节的三步,别凭印象。
- 想横向比较客户端,打开 客户端档案 与 下载导航,只从官方入口下载。
- 想了解另一个内核,读 sing-box 与 Mihomo 内核对比;想弄清 Clash 与 V2Ray 的名词关系,读 Clash 和 V2Ray 有什么区别。
这篇没有覆盖的
- 梯子岛没有两个内核的吞吐、延迟或内存占用数据,本文不回答"哪个跑得更猛",只讲能在官方资料里核对到的差别。
- Mihomo 在苹果手机上的官方发布形态、两者在鸿蒙上的可用性,资料里查不到明确说法,一律按"资料待核实"处理。
- 只写客户端侧的认识与取舍,不涉及服务端搭建,也不展开完整配置写法。
本文引用的官方来源
- Mihomo(Clash Meta)文档(wiki.metacubex.one)
- Project X(Xray)文档(xtls.github.io)
- Mihomo 内核官方仓库(github.com)
- Xray-core(github.com)
以上链接均为官方页面,梯子岛在 2026-10-09 核对过;个别网站会拦截自动化访问,用浏览器直接打开即可。平台规则可能随时调整,以官方页面当前内容为准。
Mihomo 对比 Xray常见问题
Mihomo 和 Xray-core 能互相替换吗?
不能直接替换。两者的配置语法不同,一个读 YAML,一个读 JSON,内部字段名也不对应。想从一个换到另一个,需要按目标内核的文档重新写出站、路由和 DNS,而不是改个文件后缀。多数人通过换客户端来完成这件事,让客户端负责生成对应格式。
我用的是 Clash 类客户端,需要单独装 Xray-core 吗?
通常不需要。Clash 类图形客户端多半已把 Mihomo 内核打包在里面,装好客户端就能用。只有当你确实拿到的是 Xray 的 JSON 配置,并且打算自己维护它时,才需要去官方发布页单独下载 Xray-core。
Xray-core 能直接导入订阅链接吗?
内核本身读取的是 JSON 配置,不处理订阅。导入订阅、定时更新、选节点这些功能由套在它外面的图形客户端完成。如果你只有内核而没有客户端,就得自己准备配置文件,这对新手并不友好。
Mihomo 的 GitHub 仓库打开后像个无关项目,是官方仓库吗?
是官方仓库,但默认分支展示的是遗留的无关内容,真正的内核代码在 Meta 与 Alpha 分支,发布页正常。查源码请切分支,下载请走发布页,不要从第三方转发处获取。
Mihomo 支持 Xray 的 Reality 吗?
官方文档在 VLESS 等代理类型下提供了 Reality 相关的选项,所以支持这种组合。需要留意的是,AnyTLS 不能与 Reality 组合,文档称以后也不会支持。具体字段以 Mihomo 文档站为准。
Xray-core 支持 TUIC 和 AnyTLS 吗?
官方出站协议列表里没有这两项,但文档也没有写"不支持",所以梯子岛标注为资料待核实。如果你的节点是这两种协议,更稳妥的做法是看你的客户端使用的是哪个内核,再去对应内核文档里确认。
接着读
- 客户端 · Mihomo 内核是什么?Clash Meta 内核与客户端的关系
- 客户端 · Xray-core 是什么?Xray 内核与 V2Ray 的关系
- 对比 · Clash 和 V2Ray 有什么区别?客户端、内核与订阅一次分清
- 对比 · sing-box 与 Mihomo 内核对比:配置格式与生态
- 术语 · Mihomo是什么意思
- 术语 · Xray是什么意思