Mihomo 内核详解
现代 Clash.Meta 架构的继承者,重构规则系统、TUN 接管与 DNS 控制,为高性能网络代理而生。
Mihomo 是什么
从 Clash.Meta 分支演进而来,新一代开源代理内核
Mihomo 是 Clash.Meta 内核的直接延续与品牌重塑。它完整继承了 Meta 核心的所有高级特性——包括 Meta Rule、Sniffer、Script、GEOSITE 等,并在此基础上持续优化性能与协议兼容性。作为现代代理工具(如 Clash Verge Re、Clash Nyanpasu)的默认内核,Mihomo 以 Golang 编写,天然具备高并发处理能力,能在数百条规则与数十个节点之间快速匹配,同时保持极低的内存占用。
与早期的 Clash Premium 内核相比,Mihomo 最大的革新在于彻底的 模块化 与 动态更新 能力。Rule Provider 允许规则集独立于主配置文件远程加载、定时刷新;DNS 模块支持 Fake-IP、Redir-Host 双模式,并能配合 DoH/DoT 加密杜绝泄漏;TUN 模式则让整个操作系统层的流量都纳入管控。这使得 Mihomo 不再仅仅是一个简单的“代理转发器”,而是一套完整的 网络策略引擎。
Rule Provider 机制
远程规则集、自动更新与精细化分流管理
📡 远程规则动态加载
Mihomo 允许将规则独立于主配置,以 Rule Provider 形式从远程 URL 加载。支持 behavior: classical 与 behavior: ipcidr 两种匹配模式,覆盖域名、IP、GEOIP、GEOSITE 等维度。这意味着你可以直接使用社区维护的庞大规则库,而无需在本地维护冗长的 YAML 文件。
netflix:
type: http
behavior: classical
url: "https://example.com/netflix.yaml"
interval: 86400
🔄 自动更新与分流逻辑
通过 interval 参数(单位:秒)内核会在后台定时拉取最新规则集,确保流媒体、AI 服务等动态变化的域名始终保持正确分流。结合 GEOIP 与 GEOSITE 数据库,你可以轻松实现“所有境外网站走代理、国内直连”的经典策略,且无需手动维护数千条规则。
- GEOIP:根据 IP 地理位置分流(如 CN、US)
- GEOSITE:按网站类别分流(如哔哩哔哩、Netflix)
- 支持多 Provider 组合,优先级明确
TUN 模式深度解析
虚拟网卡、系统流量全接管与防泄漏配置
🌐 虚拟网卡如何工作
TUN 模式通过创建一张 虚拟网络接口(TUN device),在操作系统内核层面拦截所有 IP 数据包。当应用程序发送网络请求时,系统根据路由表将流量导向这张虚拟网卡,Mihomo 内核从中读取原始数据包,进行规则匹配、协议解析与代理转发。整个过程对应用完全透明,因此那些不支持系统代理设置的程序(如游戏、命令行工具、部分虚拟机)也能被无缝接管。
这与传统的系统代理(HTTP/SOCKS5)有本质区别:系统代理仅作用于支持代理协议的软件,而 TUN 是更底层的网络层接管。配合 DNS 劫持 功能,Mihomo 还能强制所有 DNS 查询走内核内置的加密通道(DoH/DoT),避免本地 DNS 泄漏或被篡改。
📦 UDP 转发支持
TUN 模式不仅处理 TCP 连接,也完美承载 UDP 数据报。这对于 QUIC、HTTP/3、在线游戏、语音通话 等 UDP 密集型应用至关重要。Mihomo 内部的 UDP 转发机制经过优化,能够维持连接状态,避免因 NAT 超时导致的断流。
🛡️ 防泄漏与路由控制
通过自定义路由规则,你可以精确控制哪些 IP 段走 TUN,哪些直连。同时开启 strict-route 可防止流量绕过虚拟网卡,实现真正意义上的全局管控,杜绝任何“偷偷直连”的可能。
DNS 系统详解
Fake-IP、Redir-Host、DoH/DoT 与防污染策略
🔍 双模式:Fake-IP 与 Redir-Host
Mihomo 提供两种 DNS 工作模式以适应不同场景。 Fake-IP 模式 下,内核为每个被代理的域名返回一个虚构的 IP 地址,并将后续请求通过规则匹配到对应节点。这种方式省去了本地 DNS 解析的延迟,特别适合规则分流场景。而 Redir-Host 模式 则更接近传统 DNS 行为,先将域名解析为真实 IP,再根据 IP 归属进行分流,兼容性更好,但速度略逊于 Fake-IP。
🔐 DoH / DoT 加密查询
支持 DNS over HTTPS 与 DNS over TLS,将 DNS 请求加密传输,彻底杜绝运营商或中间人的 DNS 污染与窥探。你可以配置多个上游加密 DNS 服务器,并设定故障转移策略。
🧩 DNS 分流与污染处理
通过 nameserver-policy 可按域名后缀指定不同 DNS 服务器:国内域名用阿里 DNS 获得最快解析,国外域名走 Google DoH 确保准确性。同时内核内置了 DNS 劫持 与 缓存 机制,有效对抗 DNS 污染。
enable: true
enhanced-mode: fake-ip
nameserver:
- https://doh.pub/dns-query
fallback:
- tls://8.8.8.8:853
Script 与策略系统
Lua / JS 脚本支持,构建高度自定义的代理逻辑
📜 脚本扩展:Lua 与 JavaScript
Mihomo 内核支持通过 Lua 脚本 或 JavaScript (JS) 编写自定义逻辑,在规则匹配前或匹配后对请求进行修改。你可以实现复杂的 请求重定向、Header 修改、用户认证计算、动态节点选择 等功能。脚本运行在内核的轻量级沙箱中,既保证了安全性,又提供了极高的灵活性。对于高级用户而言,这相当于拥有了一个完全可编程的代理引擎。
Mihomo 与传统 Clash 区别
从 Clash Premium 到 Mihomo,内核发生了哪些变化
| 特性 | 传统 Clash (Premium) | Mihomo (Clash.Meta) |
|---|---|---|
| 规则系统 | Domain-Suffix / IP-CIDR 等基础规则 | 新增 Meta Rule、Rule Provider、GEOSITE 支持 |
| DNS 模式 | Redir-Host 为主 | Fake-IP / Redir-Host 双模式,DoH/DoT |
| TUN 模式 | 支持但功能较基础 | 增强 TUN,UDP 转发优化,strict-route |
| 脚本支持 | 有限支持 | 完整 Lua / JS 脚本引擎 |
| 协议兼容 | SS / VMess / Trojan | 新增 TUIC、Hysteria、WireGuard 等 |
| 性能与维护 | 更新缓慢 | 社区活跃,持续优化内存与并发 |
继续探索代理生态
深入了解客户端应用、规则配置与部署指南