Mihomo、Clash Meta 与客户端:下载前先分清这三层
本文目录
很多人第一次见到 mihomo 这个名字,是在客户端的设置页或下载站里。一句话回答:mihomo 是一个开源的网络代理内核,前身叫 Clash.Meta,2023 年更名,由 MetaCubeX 社区持续维护。你在用的 Clash Verge Rev、FlClash、Clash Meta for Android,里面真正干活的就是它。
理解“内核 + 图形客户端”这对关系,是用好这套工具的第一课:之后无论选软件、读教程还是排错,思路都会清晰很多。
mihomo 内核的定义与由来
mihomo 是命令行形式的网络代理内核:没有窗口,也没有按钮,启动后安静地在后台处理流量。它的配置使用 YAML 文件,兼容并扩展了经典的 Clash 配置格式。项目源码托管在 MetaCubeX/mihomo 仓库,任何人都可以审计与构建。至于它与原版 Clash 之间的历史,可以读Clash、Clash Meta、mihomo 有什么区别。
内核负责什么
- 解析配置:读取 YAML 配置,加载节点、代理组与分流规则。
- 协议转发:与代理服务器建立加密连接,转发应用产生的流量。
- 规则分流:按域名、IP 等规则决定每条连接直连、走代理还是拒绝。
- DNS 处理:内置 DNS 模块,支持 fake-ip 等增强模式,用于缓解解析污染与泄漏问题。
- 对外接口:暴露本地 HTTP/SOCKS 代理端口与控制 API,供客户端和面板调用。
把这五件事串起来看就是一条完整的链路:内核启动后在本机监听一个端口(配置里的混合端口,常见为 7890 或 7897),应用把请求送到这个端口,内核先按规则判断这条连接该直连还是走代理、走哪个节点,需要解析域名时交给内置 DNS,最后与选中的服务器建立连接把数据转发出去。理解了这条链路,排错时就知道该往哪一环看:连不上先看节点,网站打不开但节点正常多半是规则或 DNS 的问题。
为什么 mihomo 没有图形界面
因为它的定位是“引擎”,面向被集成而不是被双击。一个专注协议与性能的内核,配上各平台各自的界面,是这类工具的通用架构:桌面有桌面客户端,手机有手机客户端,服务器则直接用 systemd 托管内核。mihomo 通过 mihomo -d 目录 这样的命令启动,参数与配置就是它的全部交互方式。
图形客户端如何调用内核
Clash Verge Rev(Windows/macOS/Linux)、FlClash(多平台)、Clash Meta for Android 都内置 mihomo。你在界面上的每个操作——导入订阅、切换节点、打开系统代理或 TUN 模式——最终都会被翻译成内核的配置更新或 API 调用。具体做法是:客户端把订阅内容写成一份 YAML 配置交给内核,同时通过配置里 external-controller 声明的本地控制接口与内核对话,于是切节点、看连接列表、读日志这些事都能实时完成,不必每次重启内核。客户端管交互,内核管流量,各司其职。各客户端之间的取舍,可以看主流代理客户端对比。
这也解释了一个常见困惑:为什么不同客户端界面差别很大,用起来的效果却差不多——因为真正决定连通性、分流准确度的是同一个内核和同一份配置,界面只是壳。
普通用户如何选择
直接安装图形客户端即可,不需要单独下载内核:客户端安装包里已经带了 mihomo,并会随客户端版本一起更新。只有在服务器部署、路由器集成,或者喜欢命令行方式时,才需要单独获取内核文件。
| 你的情况 | 该下载什么 |
|---|---|
| 电脑或手机日常上网 | 只装图形客户端(内核已内置) |
| 在 VPS / 软路由 / NAS 上常驻 | 单独下载 mihomo 内核,用 systemd 一类的方式托管 |
| 想自己写配置、调试规则 | 单独下载内核,用命令行运行看日志 |
两类下载在下载中心都有,按平台与架构选择即可;不确定选哪个架构,先看下载前必读。
常见问题
mihomo 和 Clash 是一回事吗?
不完全是。Clash 是最初的开源项目,2023 年被作者删库停更;mihomo 是其社区分支 Clash.Meta 的延续与新名字。日常语境里说的“Clash Meta 内核”,指的就是 mihomo。
需要同时安装内核和客户端吗?
不需要。图形客户端内置内核,装一个就够了。单独运行内核属于命令行部署的玩法,与图形客户端并不冲突,但普通用户没有必要两个都装。
mihomo 是免费的吗?
是。内核与本文提到的各个客户端都是开源免费软件;需要付费的是第三方服务商提供的节点订阅服务,与软件本身无关。
搜索到 Mihomo 后,先判断自己需要图形界面还是要自行管理服务。内核、客户端和节点配置各做一部分工作,软件名称不能代替这个判断。
Mihomo 负责执行连接与规则
Mihomo 是原 Clash Meta 内核继续发展的项目。内核读取配置并处理连接,本身并不意味着附带一个适合普通桌面操作的完整界面。使用时还需要有效的节点或其他出站配置。
客户端把常用操作做成界面
Clash Verge Rev 等图形客户端提供订阅管理、策略组选择、日志与系统接管设置。客户端和它所用的内核各有版本,排错时应分别记录;只更新界面程序,不一定能解释所有内核行为。
选择内核部署前确认维护能力
在没有桌面的设备上直接运行内核,需要自己管理配置文件、监听地址、启动方式与日志。设置控制接口或局域网访问前,应明确哪些设备需要连接,避免把本地管理功能无意开放到公网。
已有图形客户端时,先看内置能力
普通桌面使用先核对客户端提供的功能与内核状态,再决定是否需要单独部署。两个独立进程监听同一端口,或同时修改系统代理,会让“明明开着却连不上”更难判断。
遇到问题按层记录证据
界面打不开、内核无法启动、订阅无法下载、节点连不上,是不同层的问题。记录报错与具体操作,让下一步调整只针对出错的那一层。
| 名称或对象 | 负责的内容 | 不代表什么 |
|---|---|---|
| Mihomo 内核 | 协议、路由与连接处理 | 自动附带可用节点 |
| 桌面或移动客户端 | 配置管理、界面和系统接入 | 与所有旧客户端菜单相同 |
| 订阅或配置 | 节点、规则及相关参数 | 任何客户端都完整兼容 |
| 节点服务 | 远端连接能力 | 本机接管已经设置正确 |
操作中常见的疑问
- 装 Clash Verge Rev 后还必须再装 Mihomo 吗?
- 日常使用先核对客户端内置的内核状态。没有明确的部署需求时,不必再运行一份独立服务。
相关文档:Mihomo 配置文档 · Clash Verge Rev 使用文档