百科
Mihomo:开源代理内核百科
Mihomo(曾称 Clash.Meta)是 MetaCubeX 维护的开源规则代理内核,延续 Dreamacro Clash 内核确立的规则分流路线。它用 YAML 连接规则、策略组、节点来源与 DNS:规则可指向具体节点、策略组或直连出口;指向策略组时,再由组内策略选择实际出口。通过 TUN 接入的系统流量也能沿用这套分流过程。
阅读路径:按“概览 → 核心能力/技术贡献 → 时间线或版本 → 生态与来源”阅读;事实、版本与判断均以正文标注的公开来源为准。
01 · 词条概览
- 名称:Mihomo
- 公开别名:Clash.Meta、Clash Meta
- 许可证:GPL-3.0
- 官方仓库:https://github.com/MetaCubeX/mihomo
- 文档:官方文档
- 开发分支:浏览源码
- 最近核验版本:v1.19.34(2026-11-11,发行说明)
Mihomo(曾称 Clash.Meta)是 MetaCubeX 维护的开源规则代理内核,延续 Dreamacro Clash 内核确立的规则分流路线。它用 YAML 连接规则、策略组、节点来源与 DNS:规则可指向具体节点、策略组或直连出口;指向策略组时,再由组内策略选择实际出口。通过 TUN 接入的系统流量也能沿用这套分流过程。
02 · 核心架构与能力
域名规则与策略组的分工
在 rule 模式下,rules 按配置顺序检查域名、IP、进程等条件,把匹配的连接交给节点、策略组或 DIRECT、REJECT 等出口。以说明性规则“DOMAIN-SUFFIX,example.com,工作”为例,example.com 及其子域的连接会交给“工作”组,再由组内策略选节点。更换工作组的节点时可以保留这条域名规则;同一配置因而能分别组织办公、影音和直连流量。
来源:https://github.com/MetaCubeX/mihomo/blob/0455d0d28c4526937380505153e65a843d8612e8/tunnel/tunnel.go#L654-L710
自动选路、备用出口与负载分配
select 用于手动选节点或其他策略组;url-test 依据指定测试地址的延迟选择节点,tolerance 容差可减少小幅延迟变化带来的切换;fallback 则优先使用列表中靠前且健康检查可用的节点。需要分配连接时,load-balance 提供 round-robin 轮询、consistent-hashing 一致性哈希和 sticky-sessions 黏性会话。健康检查反映到测试地址的连通性与延迟,实际下载吞吐量仍需另测;这些策略选择连接出口,单条连接仍由其选中的节点承载。
来源:https://github.com/MetaCubeX/mihomo/blob/0455d0d28c4526937380505153e65a843d8612e8/docs/config.yaml#L1766-L1829
节点订阅与规则集可以分开维护
proxy-providers 引入节点列表,策略组通过 use 引用,并可按节点名称筛选候选;rule-providers 引入匹配条件,再由 RULE-SET 规则指定这些条件应交给哪个出口。这样,服务商更换节点、规则作者更新域名分类与用户调整出口偏好可以分别进行。规则集按内容分为 domain、ipcidr 和 classical;MRS 二进制规则格式只支持前两类,含其他规则类型的 classical 内容需使用适合它的格式。
来源:https://github.com/MetaCubeX/mihomo/blob/0455d0d28c4526937380505153e65a843d8612e8/docs/config.yaml#L1821-L1999
不同协议共用策略,节点参数分别保留
Shadowsocks、Trojan、VLESS、Hysteria 2、TUIC 等出站可以交给同一套规则和策略组管理,连接各节点所需的参数则各有含义。官方 VLESS/REALITY TCP 示例包含 UUID、Vision flow、服务器名、公钥和 short-id,并要求提供 client-fingerprint;Hysteria 2 使用自己的密码与传输选项;TUIC v4 使用 token,v5 使用 UUID 与密码。导入或转换节点时需要保留对应协议和服务端版本的参数,单有“支持 VLESS”或“支持 TUIC”的标签不足以表达完整配置。
来源:https://github.com/MetaCubeX/mihomo/blob/0455d0d28c4526937380505153e65a843d8612e8/docs/config.yaml#L895-L1603
Fake-IP 怎样保留域名信息
启用 Fake-IP 后,内置 DNS 为域名分配虚拟地址并保存映射;官方示例使用 198.18.0.1/16 地址池。应用连接这个地址时,Mihomo 查回原域名,再交给域名规则和所选出口处理。这使透明接管进来的连接仍能按域名分流。需要返回真实解析结果的域名,可在 blacklist 过滤模式下列入 fake-ip-filter;redir-host 则沿用真实解析结果及地址映射。Fake-IP 依赖 DNS 与连接都经过相应处理,应用自行加密查询时需另外考虑域名信息的获取。
来源:https://github.com/MetaCubeX/mihomo/blob/0455d0d28c4526937380505153e65a843d8612e8/tunnel/tunnel.go#L285-L314
域名用哪个 DNS,DNS 连接走哪个出口
nameserver-policy 按域名或规则集选择解析服务器,适合让内部域名交给内网 DNS、其他域名交给另一组解析器。解析服务器可以使用 DoH、DoT 等传输;DNS 查询本身若也需要按路由规则选出口,可配置 respect-rules。官方配置要求此时提供 proxy-server-nameserver,单独处理代理节点域名的解析;default-nameserver 则用于解析 DNS 服务器自身的域名。排查 DNS 时,可以依次确认业务域名交给哪个解析器、查询连接经哪个出口、节点与解析器自身的域名又由谁解析。
来源:https://github.com/MetaCubeX/mihomo/blob/0455d0d28c4526937380505153e65a843d8612e8/docs/config.yaml#L255-L375
从应用代理入口到 TUN 接管
mixed-port 可以在同一端口接收 HTTP(S) 与 SOCKS 请求,适合能设置代理地址的应用。需要让未显式设置代理的流量进入内核时,可以使用 TUN 虚拟网卡,配合 auto-route 配置系统路由、dns-hijack 接收指定的 DNS 流量。Linux 还提供 auto-redirect;route-address-set 可按 IP 规则集限定接管范围,route-exclude-address-set 让匹配流量绕过。这两项需要 Linux、nftables,并启用 auto-route 与 auto-redirect。部署到路由器时,这些系统条件会直接决定哪些接管方式可用。
来源:https://github.com/MetaCubeX/mihomo/blob/0455d0d28c4526937380505153e65a843d8612e8/docs/config.yaml#L133-L163
面板控制与图形客户端各自负责什么
external-controller 提供控制接口,external-ui 指定网页面板文件;官方 README 列出的 metacubexd 是可配合使用的独立面板。HTTP 控制接口可通过 secret 使用 Bearer 认证,局域网访问范围由监听设置决定。桌面或手机客户端在此之外还负责订阅导入、界面、权限和系统代理或 VPN 集成。选择客户端时需要查看它实际携带的内核版本及开放的配置项;Mihomo 的配置能力与客户端的可操作界面分别由两边实现。
来源:https://github.com/MetaCubeX/mihomo/blob/0455d0d28c4526937380505153e65a843d8612e8/docs/config.yaml#L67-L95
v1.19.34 的新增与修复
v1.19.34 新增 Shadowsocks listener 多用户、Snell v6 的出站与入站支持,以及 ss-password 命令行凭据生成功能;发行说明还记录 TUN auto-route 规则、TFO 在新 Go 版本上的失效、SOCKS 域名长度算术溢出和 HTTP CONNECT 响应缓存等修复。这些变化分别影响多用户监听、节点兼容、凭据生成、透明接管和连接稳定性;发行说明没有把它们扩写成所有下游客户端都已同步的能力。
来源:https://github.com/MetaCubeX/mihomo/releases/tag/v1.19.34
源码、许可与下游命名
Mihomo 源码附带 GPL v3 许可证正文,README 另声明与 MetaCubeX 无关的下游项目名称不得包含 mihomo 一词。复用源码、分发修改版或为下游项目命名时,需要一并阅读这两处声明。采用 Mihomo 的图形客户端还包含自己的界面和平台集成代码,其源码与许可另行记录在相应应用页面。
来源:https://github.com/MetaCubeX/mihomo/blob/0455d0d28c4526937380505153e65a843d8612e8/README.md#license
出站协议
按官方文档逐一核验的出站代理类型;各类协议的传输层与参数以官方文档为准。
- Shadowsocks
- ShadowsocksR
- VMess
- VLESS
- Trojan
- Hysteria
- Hysteria 2
- TUIC
- WireGuard
- SSH
- SOCKS5
- HTTP
- Mieru
- AnyTLS
- Snell
- OpenVPN
- MASQUE
- ShadowQUIC
- TrustTunnel
- Sudoku
- Tailscale
- ZeroTier
- EasyTier
- DNS
- DIRECT / REJECT:内置出口类型
来源:https://github.com/MetaCubeX/mihomo/blob/0455d0d28c4526937380505153e65a843d8612e8/docs/config.yaml
入站类型
监听器入站与协议入站;TUN 接管的系统流量沿用同一套分流规则。
- HTTP
- SOCKS5
- Mixed
- TUN
- Redirect
- TPROXY
- Tunnel
- Shadowsocks
- VMess
- VLESS
- Trojan
- Hysteria 2
- TUIC(v4 / v5)
- AnyTLS
- Mieru
- Snell
- ShadowQUIC
- Sudoku
- TrustTunnel
来源:https://github.com/MetaCubeX/mihomo/blob/0455d0d28c4526937380505153e65a843d8612e8/docs/config.yaml
规则与 DNS
规则类型、规则集格式与 DNS 能力均来自官方配置文档的固定版本。
- DOMAIN 系列匹配
- GEOSITE
- GEOIP / IP-CIDR / IP-ASN
- RULE-SET:规则集支持 yaml / text / mrs,MRS 仅 domain 与 ipcidr
- SUB-RULE
- AND / OR / NOT 逻辑规则
- 进程匹配
- Fake-IP
- DoH / DoT / DoQ
- nameserver-policy
- hosts 映射
来源:https://github.com/MetaCubeX/mihomo/blob/0455d0d28c4526937380505153e65a843d8612e8/docs/config.yaml
平台与安装形态
单二进制压缩包分发;v1.19.34 发行页的资产列表覆盖多个操作系统与架构,以发行页资产为准。
- Windows
- macOS
- Linux
- Android
- FreeBSD
来源:https://github.com/MetaCubeX/mihomo/releases/tag/v1.19.34
发布分支说明
官方在同一仓库维护 Alpha 开发分支,先行合入新特性与修复,构建节奏快于稳定版;本页稳定版本记录不包含 Alpha 构建。
来源:https://github.com/MetaCubeX/mihomo/tree/Alpha
03 · 维护者与生态
- dreamacro:上游 Clash 创始作者;证据
- wwqgtxx:Mihomo 核心贡献者;证据
- tokenpls:OpenVPN 修复贡献者;证据
- pharosvip:ChaCha20 相关依赖更新贡献者;证据
生态项目
- metacubexd(dashboard):MetaCubeX 官方面板,mihomo README 明确其对本项目的一级支持。;来源
- Yacd-meta(dashboard):MetaCubeX 组织维护的 Yacd 面板分支。;来源
- zashboard(dashboard):通过 Clash API 连接的第三方面板,README 以 mihomo 配置为例。;来源
04 · 发展纪事
历史记录 ID:clash-public-release、mihomo-repo-earliest-release、clash-repositories-change、mihomo-rename、mihomo-1-18-release、mihomo-v1-19-0-release
05 · 来源与边界
本页依据截至 2026-11-13 的官方仓库、官方文档和发行记录整理。内核页面保留原有 /cores/mihomo 页面;本 Wiki 只提供独立的百科阅读入口。