Mihomo是什么?内核、客户端与订阅的关系
简答:Mihomo 是一个开源的规则代理内核,负责解析配置、建立代理连接、执行规则分流、处理 DNS,并提供控制接口。它不是节点服务,也通常不是带完整图形界面的独立客户端;很多桌面或移动客户端只是把 Mihomo 作为后台内核集成进去。
定义:Mihomo 是一个以配置文件驱动的开源网络代理内核,负责连接、DNS、规则分流和控制接口,图形客户端与订阅服务属于另外两层。
先记住:Mihomo、客户端、订阅不是一回事
如果你是在客户端设置页、订阅导入教程或日志里看到“mihomo”,最容易混淆的是把它当成软件套餐、节点服务或某个图形界面。更准确的理解方式是把整个使用过程拆成三层:内核负责执行,客户端负责操作,订阅或配置负责提供连接信息与规则。
| 名称 | 它是什么 | 主要负责什么 |
|---|---|---|
| Mihomo | 代理内核或网络引擎 | 读取配置、连接节点、执行规则、处理 DNS、提供控制接口 |
| 图形客户端 | 操作界面或外壳 | 导入订阅、选择策略、开启系统代理、查看日志 |
| 订阅 | 配置或配置链接 | 提供节点、代理组、规则等可供内核读取的内容 |
| 节点 | 具体的远程连接信息 | 作为实际流量转发的目标,来源和可用性需单独核验 |
因此,导入订阅成功并不等于某个节点一定可用;客户端能打开也不等于内核已经正常启动。排查时应先确认失败发生在哪一层。
官方项目 README 将 Mihomo描述为“Meta Kernel”,并列出本地 HTTP、HTTPS、SOCKS 服务、规则转发、远程代理组、DNS 与 REST API 等能力,可参考Mihomo 项目 README。官方文档还将配置、DNS、TUN、代理、代理组和路由规则分成独立章节,说明这些功能属于内核配置范围,而不是订阅服务本身,详见Mihomo 文档。
Mihomo和Clash Meta、原版Clash是什么关系
“Clash Meta”是很多旧教程、旧客户端和文件名中仍会出现的称呼;现在阅读资料时,通常需要把它和 Mihomo 放在同一条项目演变线上理解。官方项目 Wiki 的 FAQ 仍使用“clash.meta”说明程序名称,仓库 README 则使用“mihomo”与“Meta Kernel”表述,因此看到旧名称时,不要仅凭文件名判断它是另一个完全无关的内核,可先核对项目发布页和客户端内置内核名称。
“原版 Clash”则是更早的项目名称,不能简单理解为所有 Clash 类客户端都等于原版内核。不同客户端可能集成不同内核,也可能在配置字段、协议支持、DNS、TUN 或控制接口上存在差异。真正需要确认的是三个问题:客户端当前调用的内核是什么、内核版本是什么、订阅或配置使用了哪些字段。
官方仓库的历史 Wiki 页面明确写有“Welcome to the Clash.Meta wiki”,而当前发布页使用 Mihomo 项目名称。名称关系可以概括为:Clash Meta是历史资料中的常见称呼,Mihomo是当前项目使用的名称之一;客户端名称不等于内核名称。需要下载或升级时,应以项目 Releases 页面显示的文件和说明为准,不要从搜索结果中的第三方打包页判断版本。
Mihomo具体负责哪些工作
第一,解析配置。内核会读取 YAML 等配置内容,识别代理、代理组、规则、DNS、端口和其他运行参数。配置格式或字段会随版本变化,因此手写配置前应查看当前版本文档,不要把旧教程中的字段直接复制到新版本。
第二,建立代理连接。README列出了多种代理协议和本地代理入口。能否连接成功,还取决于节点信息、网络环境、DNS、端口、证书和远端服务状态;Mihomo本身不提供节点,也不会自动保证节点可用。
第三,执行规则分流。内核可以按照域名、IP段、进程等条件把请求交给不同代理组或直连策略。出现“某个网站能打开、另一个打不开”时,应查看实际命中的规则和代理组,而不是只重复导入订阅。
第四,处理DNS与透明代理。官方文档把 DNS、TUN、监听器和路由规则列为独立配置模块。开启 TUN 后,系统流量接管范围更大,权限、路由和 DNS 冲突也更容易影响连接,所以建议先在普通系统代理模式下确认节点和规则正常,再单独排查 TUN。
第五,提供控制接口。项目 README列出 HTTP RESTful API controller,图形面板可以通过控制接口读取状态、切换策略或查看日志。控制接口如果绑定到非本机地址,应同时检查访问权限和密钥设置,避免把管理入口暴露在不受信任的网络中。
普通用户需要单独安装Mihomo吗
大多数普通用户不需要单独安装。如果你使用的图形客户端已经内置 Mihomo,通常只需在客户端中导入兼容配置、选择代理组并开启系统代理;重复下载一个独立内核,反而可能造成端口冲突、配置目录混用或版本不一致。
| 使用场景 | 是否通常需要单独安装 | 建议 |
|---|---|---|
| Windows或macOS图形客户端 | 通常不需要 | 先在客户端的内核、关于或日志页面查版本 |
| Android图形客户端 | 通常不需要 | 确认应用支持的内核类型,再导入对应格式配置 |
| iOS客户端 | 通常不需要 | 以具体客户端支持的配置格式和内核能力为准 |
| Linux服务器、软路由或自建网关 | 可能需要 | 按系统架构下载二进制,并自行准备配置、服务和权限 |
| 开发、调试或需要控制API | 可能需要 | 先备份配置,按当前版本文档运行和校验 |
官方安装文档提供 Windows、Linux、macOS、FreeBSD 和 Android 等平台的预编译文件,并区分系统与 CPU 架构。发布页还可能同时出现稳定版和 Alpha 测试版;截至2026年11月1日,具体版本和文件名应以页面实时内容为准。选择文件时至少核对操作系统、架构、稳定版或测试版标识,以及是否需要兼容构建。
看到Mihomo后,按这4步确认是否正常
- 先查客户端使用的内核。打开客户端的关于、内核、运行日志或配置页面,记录内核名称和版本。若页面没有显示,查看启动日志中是否出现 mihomo、clash-meta 或对应二进制名称。
- 再确认订阅格式。检查导入结果是否出现代理节点、代理组和规则。只有链接导入成功但列表为空时,可能是格式不兼容、链接返回内容异常或客户端没有按预期解析。
- 先用普通系统代理测试。暂时不要同时开启 TUN、增强 DNS、多个自定义规则。先确认一个节点可以连接,再逐项开启功能。这样能把“节点不可用”和“本机路由或 DNS 冲突”分开。
- 最后查看日志和回滚。配置修改前复制原文件;出现启动失败时恢复上一份配置,随后只改一个字段。命令、配置字段和参数可能随当前构建变化,运行前应以当前二进制的帮助信息和对应版本官方文档为准。
一个实用判断是:客户端打不开或内核未运行,先查客户端与内核;内核运行但订阅为空,查格式和解析;节点存在但连接失败,查节点、DNS、端口和规则;只有开启TUN后出问题,优先查权限、路由和DNS接管。
Mihomo和sing-box有什么区别
两者都属于网络代理内核,但不是同一个项目,也不能把一份配置文件直接当成另一方的配置。Mihomo的使用习惯通常围绕 Clash 风格的配置、代理组、规则和控制接口展开;sing-box使用自己的配置结构与运行模型。客户端是否支持某个内核,要看客户端的实际集成方式。
如果教程要求导入 Clash YAML、切换代理组或检查 Clash API,通常是在讨论 Mihomo或兼容的 Clash 风格内核;如果教程要求编辑 sing-box JSON、查看对应的 inbound、outbound 或 route 字段,则应按 sing-box文档处理。遇到“协议不支持”或“字段无法解析”,优先查当前客户端内核版本和配置格式,不要只更换节点。
安全与核验边界:Mihomo不等于节点服务
Mihomo是软件内核,节点、订阅链接和配置文件来自其他来源。安装内核不会自动获得节点,也不代表某个订阅来源可信。下载时应优先核对项目发布页;导入订阅前不要把带有个人标识的链接、控制接口密钥或完整配置公开到论坛和截图中。
如果你只想使用图形客户端,先确认客户端是否已内置对应内核;如果你需要在服务器或路由器上运行,再考虑单独下载二进制。任何具体服务的价格、状态、兼容性和可用性,都应以该服务自己的公开资料或实际测试为准,本文不对未核实内容作结论。
常见问题
Mihomo是软件还是客户端?
更准确地说,Mihomo是代理内核或网络引擎。它可以被图形客户端集成,也可以在服务器、路由器等环境中独立运行;它本身通常不等于完整的图形客户端。
Mihomo和Clash Meta是同一个东西吗?
两者在项目名称和历史资料中存在延续关系,很多旧页面仍使用Clash Meta称呼。实际使用时不要只看名称,应核对当前客户端调用的内核、版本和配置格式。
使用图形客户端还需要下载Mihomo吗?
通常不需要。若客户端已经内置Mihomo,直接在客户端中导入兼容配置即可。只有服务器、路由器、自建网关、开发调试或需要独立控制接口时,才可能需要单独安装。
Mihomo能直接提供节点吗?
不能。Mihomo负责执行配置和建立连接,节点与订阅需要由其他来源提供。订阅能否导入、节点是否可用和来源是否可信,都要分别核验。
为什么导入订阅后还是连不上?
先分阶段检查:订阅列表是否成功解析、内核是否正在运行、代理组是否选择了有效节点、DNS和规则是否正常。建议先关闭TUN和复杂自定义规则,用普通系统代理测试,再查看日志。
Mihomo和sing-box的配置能通用吗?
不能默认认为通用。两者是不同内核,配置结构和字段体系存在差异。应根据客户端实际使用的内核选择对应格式,遇到解析错误时先核对版本和官方文档。