title, type, last_updated, tags, confidence, contested, raw_sources
| title |
type |
last_updated |
tags |
confidence |
contested |
raw_sources |
| mihomo(Clash Meta 内核)架构与配置体系 |
concept |
2026-08-07 |
|
high |
false |
| path |
hash |
| raw/技术/mihomo/官方文档-架构与核心概念-摘编.md |
sha256:d2540a477284aa6b46e1ae6ba8d34b2f909c521a7ed32de9474203dd9301299a |
|
| path |
hash |
| raw/技术/mihomo/官方文档-配置编写-摘编.md |
sha256:17ad7664cb257744a3277c1709d15912156a521dcac1f014ccfd335f3880b1cf |
|
|
mihomo(Clash Meta 内核)架构与配置体系
页面定位
本页解释 mihomo 内核是什么、它的分层架构与核心机制(DNS 防污染、规则路由、健康检查、提供者机制),是理解代理工具工作原理的总览概念页。实际写配置的逐步流程见 mihomo-配置编写指南;字段级细节与模板见 raw/技术/mihomo/ 两份摘编。
定义与项目背景
- mihomo(曾用名 Clash Meta)是原 Dreamacro/clash 的二次开发代理内核,Go 语言实现;默认分支
Meta(稳定)、Alpha(开发)。
- 兼容原版 Clash 全部特性,并吸收 sing-box、v2ray-core 等项目的实现;官方文档站 wiki.metacubex.one(中文,社区称"虚空终端")。
- 许可 GPL-3.0,附加条款:与 MetaCubeX 无关的下游项目不得在名称中使用 "mihomo"。
- 配套面板 metacubexd;客户端(Clash Verge Rev、CMFA 等)内嵌本内核。
- 构建要求 Go 1.20+;gvisor tun 栈需
-tags with_gvisor 编译。
分层架构
- 入口:mixed-port(HTTP+SOCKS 混合)、port、socks-port、tun、redir/tproxy(Linux 透明代理)、
listeners 自定义入站(hysteria2/tuic/tun/ss/vmess 等)、tunnels 端口转发。
- 模式:
rule(默认)/ global / direct。
- 控制面:RESTful API(external-controller + secret + 可选 TLS/Unix socket/namedpipe),
external-ui 挂 Web 面板;可外置 DoH 服务器。
核心机制
1. DNS 防污染(fake-ip + fallback)
enhanced-mode: fake-ip 时 DNS 返回 fake-ip 池(默认 198.18.0.1/16)的虚拟 IP,内核内部维护 域名→fake-ip 映射,实际建连按域名规则转发——客户端不接触真实解析结果,天然规避 DNS 污染;配合 TUN 可接管全部系统流量。
redir-host 模式返回真实 IP。
- 防污染工作流:
nameserver(国内 DNS)解析 → fallback-filter 判断结果非 CN 时改用 fallback(境外可信 DNS);nameserver-policy 按域名/geosite 精确指定解析器;proxy-server-nameserver 专门解析节点域名,避免"鸡蛋问题"。
2. 规则路由
- 规则自上而下首条命中;类型覆盖域名(DOMAIN/SUFFIX/KEYWORD/WILDCARD/REGEX/GEOSITE)、IP(GEOIP/IP-CIDR/IP-ASN/SRC-)、端口、入站(IN-)、进程(PROCESS-*)、UID、网络类型、逻辑组合(AND/OR/NOT/SUB-RULE)与 RULE-SET。
- 目标 IP 类规则可用
no-resolve 跳过 DNS 解析。
- GEOIP/GEOSITE 数据来自 meta-rules-dat,可
geox-url 自定义下载并自动更新。
3. 代理组与健康检查
select 手动选择、url-test 按延迟选最优、fallback 按健康顺序优先、load-balance 负载均衡。
- 健康检查:
url(如 gstatic generate_204)+ interval + timeout + expected-status;lazy: true 时未选中不测试。url 只测 proxies 字段的节点,use 引入的集合节点在 provider 内单独配 health-check。
4. 提供者机制(解耦配置)
proxy-providers:http/file/inline 三种来源加载节点,支持间隔更新、经代理下载、age 加密订阅、override 覆写(字段覆盖 + yq v4 风格 override-expr 表达式)、filter 筛选。
rule-providers:domain/ipcidr/classical 三种 behavior,yaml/text/mrs 格式,可远程更新;path-in-bundle 从 BundleMRS.7z 加载。
5. TUN / 透明代理 / 嗅探
tun:虚拟网卡接管流量;stack system/gvisor/mixed;dns-hijack、auto-route、auto-redirect(Linux iptables)、strict-route 防泄漏;支持接口/UID/MAC/Android 应用级过滤。
sniffer:对纯 IP/redir-host 流量嗅探 TLS/HTTP/QUIC 还原域名,使无域名流量也能走域名规则。
证据与不确定性
- 本页基于官方 README、官方文档与官方 config.yaml 示例(2026-08-07 抓取),字段定义可直接作为编写依据。
- 项目迭代快:文档已标注若干废弃字段(如
sniffing/port-whitelist、组内 interface-name/routing-mark、全局 client-fingerprint、fallback-filter.geosite),新配置应使用新写法。
- 官方示例中的服务器/密码/密钥均为占位符,不可直接使用。
失效条件与风险
- fake-ip 模式下内网/局域网域名(
*.lan、*.local、设备管理页)未加 fake-ip-filter 将无法访问。
- 节点为域名但未配
proxy-server-nameserver 时可能解析失败。
- 规则顺序错误(如 MATCH 提前、GEOIP,CN 置于代理规则之前)导致分流错误。
- 对外监听(allow-lan / API 绑 0.0.0.0)无认证会暴露代理与 API 控制面。
相关页面
深入阅读