Files
my_wiki/wiki/practices/mihomo-配置编写指南.md
T

5.4 KiB
Raw Blame History

title, type, last_updated, tags, confidence, contested, raw_sources
title type last_updated tags confidence contested raw_sources
mihomo 配置编写指南 practice 2026-08-07
网络工具
mihomo
config.yaml
代理配置
high false
path hash
raw/技术/mihomo/官方文档-配置编写-摘编.md sha256:17ad7664cb257744a3277c1709d15912156a521dcac1f014ccfd335f3880b1cf
path hash
raw/技术/mihomo/官方文档-架构与核心概念-摘编.md sha256:d2540a477284aa6b46e1ae6ba8d34b2f909c521a7ed32de9474203dd9301299a

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 步:配 DNSfake-ip + 防污染)

按摘编第 6 节模板:default-nameserver(纯 IP)、nameserver(国内 DoH)、fallback(境外 TLS DoH)、fallback-filtergeoip 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: 300expected-status: 204

第 6 步:写规则

自上而下:广告/隐私 reject → 代理规则集(RULE-SET,proxy,PROXY)→ 国内直连(GEOSITE,cn,DIRECTGEOIP,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 通过;实际启动后分流验证通过

常见坑(高发错误)

  1. 规则顺序错误 → 分流错乱(最常见)。
  2. fake-ip 未过滤内网域名 → TUN 下访问不了 NAS/路由器。
  3. 订阅节点域名解析污染 → 忘配 proxy-server-nameserver
  4. url-test/fallback 组不测 use 引入的节点 → 集合节点需在 provider 配 health-check。
  5. rule-provider behavior 与文件格式不匹配 → 加载失败。
  6. 对外暴露代理/API 无认证 → 被滥用。
  7. 直接复制官方示例占位符 → 无法连接。

相关页面

深入阅读