5.4 KiB
5.4 KiB
title, type, last_updated, tags, confidence, contested, raw_sources
| title | type | last_updated | tags | confidence | contested | raw_sources | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| mihomo 配置编写指南 | practice | 2026-08-07 |
|
high | false |
|
mihomo 配置编写指南
页面定位
本页是实践页:给出从零编写 mihomo config.yaml 的逐步流程、最小可用模板与逐条检查清单,用于"帮用户写配置"这类任务。机制原理见 mihomo-内核与配置体系;字段级细节与全部节点写法见 raw/技术/mihomo/ 摘编。
编写目标
产出一份可运行、分流正确、防污染、易维护的 mihomo 配置。适用场景:客户端(Windows/macOS/Linux 桌面)代理、路由器/网关透明代理、局域网共享代理。
编写流程(分步)
第 1 步:确定需求
- 使用形态:桌面客户端(用不用 TUN?)、局域网共享(allow-lan)、路由器(tproxy + iptables)。
- 节点来源:订阅(机场/自建订阅 URL)、手写节点(自建 ss/vless/trojan/hysteria2 等)。
- 分流诉求:代理境外(默认)、直连国内、广告拦截(reject 规则集)、特定域名/进程指定出口。
第 2 步:搭全局骨架
mixed-port: 7890
allow-lan: false # 局域网共享时 true,并考虑 authentication
mode: rule
log-level: info
ipv6: true
external-controller: 127.0.0.1:9090
secret: "替换为随机串" # 绑 0.0.0.0 时必设
profile:
store-selected: true
store-fake-ip: true
第 3 步:配 DNS(fake-ip + 防污染)
按摘编第 6 节模板:default-nameserver(纯 IP)、nameserver(国内 DoH)、fallback(境外 TLS DoH)、fallback-filter(geoip CN)、fake-ip-filter(内网域名)。节点为域名时加 proxy-server-nameserver。
第 4 步:填节点(proxies)或订阅(proxy-providers)
- 有订阅:
proxy-providers一段即可(type http + url + interval + health-check + override.udp: true)。 - 手写节点:按类型填
type/server/port+ 协议专属字段(ss 的 cipher/password、vmess 的 uuid/alterId、vless-reality 的 flow/servername/reality-opts、hysteria2 的 password/up/down 等),确认udp: true(游戏等场景)。 - 节点域名解析:配
proxy-server-nameserver。
第 5 步:建代理组
select组「PROXY」(默认选中 url-test 组或具体节点)+url-test组「auto」(自动选优)+ 可选 fallback / load-balance 组。- 健康检查
url: "https://www.gstatic.com/generate_204"、interval: 300、expected-status: 204。
第 6 步:写规则
自上而下:广告/隐私 reject → 代理规则集(RULE-SET,proxy,PROXY)→ 国内直连(GEOSITE,cn,DIRECT;GEOIP,CN,DIRECT,no-resolve)→ MATCH,PROXY 兜底。注意 MATCH 必须在最后。
第 7 步:可选增强
- TUN(桌面客户端):
tun: {enable: true, stack: mixed, dns-hijack: ["0.0.0.0:53"], auto-route: true, auto-detect-interface: true};内网域名务必进 fake-ip-filter。 - 路由器透明代理:
tproxy-port+iptables.enable;或 tun + auto-redirect。 - Web 面板:
external-ui指向 metacubexd 目录。
第 8 步:验证
mihomo -t -f config.yaml # 语法与结构校验
mihomo -d . -f config.yaml # 实际启动(或 -d 指定 HomeDir)
# 启动后:面板/API 检查节点延迟、规则命中;curl -x http://127.0.0.1:7890 https://www.google.com 验证代理
检查清单(写完逐条过)
- YAML 缩进正确;含特殊字符的节点名/密码已加引号
- 每个节点 name 唯一;组引用名称与节点名一致
MATCH在规则最底部;GEOIP,CN,DIRECT 之前有代理规则集兜境外域名fake-ip-filter覆盖*.lan、*.local及内网管理域名- 节点为域名时已配
proxy-server-nameserver - 需要 UDP 的场景节点
udp: true,组未disable-udp - allow-lan/API 对外时已配认证或 secret
- provider path 在 HomeDir 内(或已设 SAFE_PATHS)
- 无废弃字段(
sniffing、组内interface-name/routing-mark、全局client-fingerprint) mihomo -t通过;实际启动后分流验证通过
常见坑(高发错误)
- 规则顺序错误 → 分流错乱(最常见)。
- fake-ip 未过滤内网域名 → TUN 下访问不了 NAS/路由器。
- 订阅节点域名解析污染 → 忘配
proxy-server-nameserver。 - url-test/fallback 组不测
use引入的节点 → 集合节点需在 provider 配 health-check。 - rule-provider behavior 与文件格式不匹配 → 加载失败。
- 对外暴露代理/API 无认证 → 被滥用。
- 直接复制官方示例占位符 → 无法连接。
相关页面
- mihomo-内核与配置体系 - 架构与核心机制
- Glossary - mihomo、fake-ip、代理组等术语
- Obsidian-CLI-Wiki-Maintenance - 本仓库 Wiki 维护实践
深入阅读
- raw 摘编:
raw/技术/mihomo/官方文档-配置编写-摘编.md(字段级参考 + 模板) - 官方文档:https://wiki.metacubex.one/ ;官方示例:https://github.com/MetaCubeX/mihomo/blob/Alpha/docs/config.yaml