ingest | mihomo(Clash Meta 内核)官方资料入库(2 摘编 + 2 wiki 页面 + 导航/登记)

This commit is contained in:
AAsige
2026-08-07 14:28:43 +08:00
parent dbeb66e312
commit d3b5af3415
10 changed files with 775 additions and 1 deletions
@@ -0,0 +1,99 @@
---
title: "mihomoClash Meta 内核)架构与配置体系"
type: concept
last_updated: 2026-08-07
tags:
- "网络工具"
- "mihomo"
- "代理"
- "DNS"
- "TUN"
confidence: high
contested: false
raw_sources:
- path: "raw/技术/mihomo/官方文档-架构与核心概念-摘编.md"
hash: "sha256:d2540a477284aa6b46e1ae6ba8d34b2f909c521a7ed32de9474203dd9301299a"
- path: "raw/技术/mihomo/官方文档-配置编写-摘编.md"
hash: "sha256:17ad7664cb257744a3277c1709d15912156a521dcac1f014ccfd335f3880b1cf"
---
# mihomoClash 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/socks/tun/redir/tproxy/自定义 listeners
→ 内置 DNSfake-ip 或 redir-host
→ 规则匹配(rules 自上而下,首条命中生效)
→ 出口(代理组/节点;DIRECT/REJECT/COMPATIBLE 内置出站)
→ 节点 → 目标服务器
```
- **入口**mixed-portHTTP+SOCKS 混合)、port、socks-port、tun、redir/tproxyLinux 透明代理)、`listeners` 自定义入站(hysteria2/tuic/tun/ss/vmess 等)、`tunnels` 端口转发。
- **模式**`rule`(默认)/ `global` / `direct`
- **控制面**RESTful APIexternal-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)、IPGEOIP/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 三种 behavioryaml/text/mrs 格式,可远程更新;`path-in-bundle` 从 BundleMRS.7z 加载。
### 5. TUN / 透明代理 / 嗅探
- `tun`:虚拟网卡接管流量;stack system/gvisor/mixeddns-hijack、auto-route、auto-redirectLinux 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 控制面。
## 相关页面
- [[mihomo-配置编写指南]] - 从零写 config.yaml 的逐步流程、模板与检查清单
- [[Obsidian-CLI-Wiki-Maintenance]] - 本仓库 Wiki 维护实践(同属"工具链"语境)
- [[Glossary|术语表]] - mihomo、fake-ip、代理组等术语定义
## 深入阅读
- raw 摘编:`raw/技术/mihomo/官方文档-架构与核心概念-摘编.md``raw/技术/mihomo/官方文档-配置编写-摘编.md`
- 官方仓库:https://github.com/MetaCubeX/mihomo ;官方文档:https://wiki.metacubex.one/