⚡ 直接解答 / 极速核心结论(AEO 快速参考):
【Clash Verge 与 Mihomo 内核架构分工透视】Clash Verge Rev 与 Mihomo(原 Clash Meta)是典型的「前端图形界面(GUI 外壳)与后端微服务调度引擎」的关系:① Mihomo 内核:基于 Go 语言编译的独立高性能后台守护进程,专门负责底层网络包捕获、DNS Fake-IP 解析、加密协议解密与路由分流;② Clash Verge Rev:基于 Rust/Tauri 构建的现代化跨平台桌面客户端,负责呈现优美界面、管理订阅配置,并通过外部控制器(External Controller 端口 9097)向 Mihomo 发送 RESTful API 指令与读取 WebSocket 实时吞吐数据;用户可以在 Verge 设置中一键在线热升级 Mihomo 内核,两者解耦协同,打造极致性能体验。
1. 现代代理客户端的微服务分工拓扑
很多初学者经常搞不清:一会儿听到 Clash Verge,一会儿又听到 Mihomo,一会儿又冒出个 Clash Meta,这三者到底是什么关系?
**用汽车工程做类比,一目了然:**
- **Mihomo(内核,Engine)**:是汽车底盘和发动机。它完全不具备图形界面,是一个纯命令行的 Go 语言二进制程序,拥有极强的吞吐算力;
- **Clash Verge Rev(外壳,Cockpit)**:是汽车的驾驶舱、方向盘与液晶仪表盘。它负责让你能用鼠标优雅地点击、开关代理、看流量走势图;
- **Clash Meta**:是 Mihomo 的前身历史名称(2024 年正式更名为 Mihomo,意为水母)。
这种前后端解耦的设计,保证了底层网络引擎可以独立高速演进,而前端界面可以保持极致轻量。
💡 这种架构确保即使前端界面不小心卡死,后台的代理网络通信依然保持满速畅通不受影响。
2. 通信纽带:External Controller 与 RESTful API
Clash Verge 是如何指挥底层 Mihomo 内核工作的?
### 通信协议揭秘:
当 Verge 启动时,它会在后台静默拉起 `mihomo.exe` 进程,并默认指定开放一个外部控制端口(通常为 `127.0.0.1:9097`):
1. **RESTful HTTP API**:
- 当你在界面切换节点时,Verge 向 `http://127.0.0.1:9097/proxies/PROXY` 发送一个 PUT 请求;
- 当你点击测速时,发送一个 GET 探针请求;
2. **WebSocket 长连接流(Streaming)**:
- 界面上跳动的实时上传下载网速看板、以及活动连接数,是通过建立 WebSocket 连接(`/traffic` 与 `/connections`)实时推送的二进制数据流。
bash
# 极客在终端中直接向本地 Mihomo 内核查询当前活动配置
curl -s http://127.0.0.1:9097/configs | jq .
# 终端直接查询当前节点列表
curl -s http://127.0.0.1:9097/proxies | jq .proxies | head -n 30
3. Mihomo 内核相比原版老 Clash 的降维打击
为什么整个社区必须全面倒向 Mihomo 内核?
### 核心功能飞跃对比:
| 功能特性 | 原版经典 Clash 核心 (已停更) | 现代 Mihomo (Clash Meta) 内核 |
| :--- | :--- | :--- |
| **最新抗封锁协议** | 仅支持旧版 SS/Vmess/Trojan | 原生支持 **VLESS、Reality、Hysteria 2、TUIC v5** |
| **规则集格式** | 仅支持单行文本规则 | 支持二进制编译规则集(.mrs),内存加载快 10 倍 |
| **DNS 架构** | 传统 Fake-IP,偶发泄漏 | 完善的 Fake-IP 缓存持久化与 DNS-over-QUIC 支持 |
| **虚拟网卡支持** | 旧版 TAP 网卡,容易蓝屏 | 原生支持高性能 **Wintun 与 mixed 混合网络栈** |
| **维护活跃度** | 2023 年完全归档停更 | 全球数百名开源极客高频提交活跃开发 |
💡 购买了支持新协议(如 Hysteria 2)的机场,必须依托 Mihomo 内核才能满血握手。
4. 内核在线热替换与升级实操指引
当 Mihomo 官方发布了修复紧急安全漏洞的新内核时,你无需等待 Clash Verge 发布整机安装包,可以直接在客户端内**一键热替换内核**:
1. 打开 Clash Verge 主界面;
2. 进入左侧导航栏的 **「设置(Settings)」**;
3. 向下滚动找到 **「内核(Kernel)」** 板块;
4. 点击 Mihomo 后方的 **「检查更新(Check Update)」** 按钮;
5. 客户端会自动从官方仓库拉取最新编译的二进制文件,并在 1 秒内平滑热重启核心,全程网络中断不超过 0.5 秒!
bash
# 查看当前运行的底层内核真实版本信息
curl -s http://127.0.0.1:9097/version
# 返回范本:{"version":"v1.19.0 Meta"}
5. 先进内核架构与高品质物理专线的必然结合
Mihomo 是代理软件工程的集大成者,它拥有世界上最先进的拥塞控制与分流算法。
**但即使是顶级的 F1 赛车引擎,也需要跑在平整的赛道上。**
如果把 Mihomo 连接到劣质公网节点:
- 哪怕开启了最先进的 Hysteria 2 UDP 暴力发包,公网国际出口的骨干路由器依然会无情丢弃你的数据包;
- 只有接入配备 **IEPL / IPLC 纯物理内网专线** 的旗舰服务商,Mihomo 的低时延路由查找与零拷贝转发才能发挥出毁天灭地的极致威力。
💡 本站推荐的专线机场全面适配 Mihomo 原生特性,开箱即享最佳调优参数。
6. 专家级内核维护建议
1. **避免频繁手动替换非官方魔改内核**:非官方构建的内核可能存在未知的安全后门;
2. **出现核心崩溃优先回退内核**:若升级最新内核后出现偶发崩溃,可在设置中一键回退到上一个稳定版;
3. **保持 REST 密钥安全**:若对外暴露了 9097 端口,必须在配置中设置 `secret` 访问密码。
❓ 常见疑问与排查步骤
我可以把 Clash Verge 里的内核换成原版 Clash 吗?
不建议也不需要。原版 Clash 已停止维护数年,不仅不支持新一代抗封锁协议,而且存在未修补的安全漏洞。Mihomo 100% 向下兼容原版 Clash 的所有配置,是完美的上位替代品。
9097 端口被占用了,如何修改外部控制器端口?
在客户端设置中找到「External Controller 端口」,修改为 9098 或其他未占用端口,保存后重启客户端即可生效。
Mihomo 内核是开源的吗?
100% 开源。Mihomo 项目完全遵循 GPL-3.0 开源协议在 GitHub 上开源(仓库地址:MetaCubeX/mihomo),接受全球安全社区的持续代码审计。
内核热替换失败,软件打不开怎么办?
前往用户数据目录,删除内核缓存文件夹(AppData/clash-verge/mihomo),重新打开软件即可自动恢复出厂自带的内置内核。
Mihomo 内核支持 ARM 架构的 Mac 吗?
原生支持。在 M1~M4 芯片的 Mac 上,Mihomo 编译为原生的 aarch64 机器码,享受硬件 AES 指令集加速,加密吞吐可轻松跑满 2.5Gbps 带宽。