Mihomo 是什么:从 Clash Meta 到独立内核的演化
Mihomo 的前身是 Clash Meta,一个基于原始Clash内核的社区增强版本。随着原始Clash项目停止维护,Clash Meta 迅速成为事实上的标准内核,并在2024年正式更名为 Mihomo,标志着它从“分支”走向“独立演化”的全新阶段。
更名不仅仅是品牌升级,更伴随着大量协议增强:
- Vmess / Trojan / Hysteria2 完整支持
- WireGuard 出站集成
- HTTP/3 与 QUIC 传输层优化
- ECS (EDNS Client Subnet) 支持
- 规则集 (rule-set) 原生加载
- Sniffer 流量嗅探增强
Mihomo 继承了Clash的所有核心设计理念——规则驱动、YAML配置、多协议混合,同时大幅提升了性能和协议兼容性。如今,绝大多数Clash图形化客户端(Clash Verge Rev、ClashX Meta、Clash Meta for Android等)都搭载Mihomo内核,它是整个Clash生态的动力心脏。
💡 关键认知:当人们谈论“Clash”时,在2026年几乎等同于指代 Mihomo 内核。理解Mihomo的工作原理,就等于掌握了现代代理工具的核心。
TUN 模式原理:虚拟网卡与系统级流量接管
TUN模式是Mihomo最具突破性的能力之一。它通过创建虚拟网卡,在操作系统网络栈的第三层(IP层)拦截所有流量,将其导入Mihomo进行处理。这意味着无需逐个配置应用代理——从浏览器到Docker容器,从终端到游戏,所有网络请求自动纳入调度。
工作原理可以简化为三步:
- 虚拟网卡创建 — Mihomo 向系统注册一个TUN接口,获取一个虚拟IP段
- 路由表改写 — 修改系统路由表,将流量导向TUN接口
- 用户态处理 — Mihomo 从TUN接口读取IP数据包,进行规则匹配和代理转发
TUN模式对UDP和QUIC的完整支持至关重要。传统代理往往只处理TCP,而HTTP/3、WebRTC、在线游戏等大量依赖UDP的场景在TUN模式下被完整覆盖。QUIC流量的识别和转发也因此变得透明高效。
tun:
enable: true
stack: system
auto-route: true
auto-detect-interface: true
dns-hijack:
- any:53
上述配置开启了TUN模式,使用系统网络栈(system),自动配置路由和接口检测,并劫持所有DNS请求到Mihomo内置DNS模块——这是确保DNS不泄漏的关键一步。
返回配置学院:TUN模式配置指南 →
Sniffer 流量识别:在加密流量中发现真实目标
Sniffer(嗅探器)是Mihomo内核中一项精巧的设计。在TLS加密流量中,目标域名在握手阶段的SNI(Server Name Indication)字段中是明文的;在HTTP流量中,Host头同样暴露了访问的域名。Sniffer正是利用这些信息,在流量进入规则匹配之前,先恢复出真实的目标域名。
为什么需要Sniffer?因为TUN模式下,Mihomo接收到的只是IP数据包——它只知道目标IP,不知道域名。但规则匹配通常基于域名(如DOMAIN-SUFFIX,openai.com,Proxy)。如果没有域名信息,规则系统将无法工作。Sniffer解决了这个“IP到域名”的逆向还原问题。
Sniffer支持多种协议识别:
- TLS SNI — 从ClientHello中提取域名
- HTTP Host — 从HTTP请求头中提取
- QUIC SNI — 识别QUIC/HTTP3连接
启用Sniffer后,Mihomo可以在不解密流量的前提下,准确地将流量导向正确的策略组。这对于AI工具、流媒体等依赖域名规则分流的场景是不可或缺的。
🔍 技术细节:Sniffer并非“中间人攻击”——它只读取握手阶段的明文信息,不解密流量。域名恢复后,Mihomo使用该域名进行规则匹配,随后的代理连接与原目标服务器建立,数据完整性不受影响。
DNS 架构:fake-ip、ECS 与 fallback 的协同工作
Mihomo的DNS模块是整个网络调度系统的“情报中枢”。它不仅要保证解析结果准确,还要防止泄漏,同时为规则匹配提供域名信息。核心机制包括:
- fake-ip模式 — 为每个域名分配虚拟IP,将域名-IP映射存在内存中。流量到达时反查域名进行规则匹配,完全绕开本地DNS。
- ECS(EDNS Client Subnet) — 在DNS请求中携带客户端子网信息,帮助CDN返回最优节点。Mihomo支持自定义ECS或禁用ECS以保护隐私。
- fallback机制 — 当nameserver返回污染结果时,自动切换到fallback服务器重新查询。配合
fallback-filter的GeoIP判断,精准识别哪些域名需要fallback。
- GeoIP分流 — 根据IP地理位置数据库判断域名属于国内还是海外,分别使用不同的DNS服务器解析。
完整的DNS配置将nameserver(国内可信DNS)、fallback(海外加密DNS)、fallback-filter(分流条件)组合在一起,形成一套自动化的智能解析体系。
dns:
enable: true
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
nameserver:
- https://doh.pub/dns-query
fallback:
- https://dns.google/dns-query
fallback-filter:
geoip: true
geoip-code: CN
查看完整 DNS 防泄漏配置实例 →
性能优化:并发、缓存与规则集的最佳实践
Mihomo内核在性能方面提供了丰富的调优参数。合理配置可以显著提升高并发场景下的吞吐量,降低延迟。以下是几个关键优化方向:
- TCP并发连接 — 通过
profile配置调整全局并发数,避免瓶颈
- DNS缓存 — 启用
cache减少重复解析,提升响应速度
- 规则集 (rule-set) — 将规则从主配置文件分离为独立文件,支持按需加载和热更新,减少内存占用
- 连接复用 — 启用
keep-alive减少TLS握手开销
- UDP超时调整 — 针对QUIC和游戏场景优化超时参数
对于有大量并发连接需求的用户(如AI API高频调用、大文件传输),建议将profile模式设置为balanced或high,并根据设备内存适当调整缓存大小。
⚡ 实践建议:规则集(rule-set)的引入是Mihomo性能优化的里程碑。将数千条规则编译为二进制格式,加载速度从秒级降至毫秒级。推荐从社区维护的规则集仓库获取预编译版本,并通过rule-provider自动更新。
更多关于规则集和自动化更新的内容,请参考配置学院的订阅转换章节。
订阅转换与自动更新指南 →