满速网络客户端下载

Mihomo 配置文件怎么生成?单节点、订阅与组合订阅教程

更新于 2026-10-27 · man.christmas

简答:如果你只有一个节点参数,使用单节点 YAML 模板;如果已有订阅链接,优先使用 proxy-providers;如果要合并多个订阅,使用组合订阅或配置管理工具;如果还要保留自己的规则和 DNS,则用覆写模板。生成后不要只看编辑器提示,必须保存、运行 mihomo -t 校验、重新载入并检查日志和实际业务。

定义:Mihomo 配置文件是用 YAML 描述监听端口、节点、代理组、DNS、TUN 和路由规则的文本文件,常见文件名为 config.yaml,但实际读取路径由启动参数、配置目录或客户端决定。

先选生成方式:你应该用哪一种

搜索“mihomo 配置文件生成”时,最容易遇到的问题不是不会写 YAML,而是不清楚自己应该生成哪一类文件。先按输入材料选择路径:只有服务器和认证参数,就生成单节点配置;只有订阅地址,就让 Mihomo 读取 proxy-providers;有多个订阅来源,就先做组合订阅;既要自动更新节点,又要保留自己的代理组、规则和 DNS,就把节点来源与个人设置分开。

四种生成方式对比
你的情况推荐方式生成结果注意事项
只有一个节点参数手写最小 YAMLproxies、proxy-groups、rules协议字段必须与实际节点一致
有一条订阅链接proxy-providers运行时读取节点集合不要把带凭据的订阅地址公开
有多个订阅或节点来源组合订阅合并后的节点集合或配置检查重复名称、失败来源和协议兼容性
要保留自定义规则订阅加覆写模板节点自动更新,个人字段独立维护不要长期直接修改自动生成结果

官方配置文档将 Mihomo 配置拆分为通用配置、入站、出站节点、DNS、代理组和路由规则等部分,可先查看Mihomo 配置文档。如果你使用配置管理工具,Sub-Store 官方文档列出了订阅转换、多个订阅合并以及 Mihomo 配置文件输出能力,适合不想从头拼接 YAML 的用户,可参考Sub-Store 项目说明。

安全边界:订阅链接可能包含账户标识或访问凭据。输入前先检查 URL 是否带有 token、用户名或长期有效参数;优先使用自己可控的本地环境。若完整订阅地址已经公开,应联系提供方更换或撤销,而不是只删除网页或聊天记录。

单节点生成:从最小 YAML 开始

单节点适合你已经知道服务器地址、端口、协议和认证参数的情况。下面使用 Shadowsocks 结构演示字段关系,地址、密码和名称都是占位符,不能直接当作可用节点。

带注释版:

mode: rule
log-level: info
mixed-port: 7890
allow-lan: false

proxies:
- name: "我的节点"
type: ss
server: example.invalid
port: 443
cipher: aes-128-gcm
password: "请替换为真实密码"
udp: true

proxy-groups:
- name: "默认代理"
type: select
proxies:
- "我的节点"
- DIRECT

rules:
- DOMAIN-SUFFIX,example.com,默认代理
- MATCH,DIRECT

无注释版:

mode: rule
log-level: info
mixed-port: 7890
allow-lan: false
proxies:
- name: "我的节点"
type: ss
server: example.invalid
port: 443
cipher: aes-128-gcm
password: "请替换为真实密码"
udp: true
proxy-groups:
- name: "默认代理"
type: select
proxies: ["我的节点", DIRECT]
rules:
- DOMAIN-SUFFIX,example.com,默认代理
- MATCH,DIRECT

官方文档列出的常见基础字段包括唯一的 name、节点类型 type、服务器 server 和端口 port,但这只是常见基础结构,不代表所有协议只需要这些字段。不同协议还可能需要 UUID、密码、TLS、传输层、Reality 或 UDP 参数,字段应以当前 Mihomo 文档为准,可查看出站节点配置。

  1. 复制模板并另存为独立文件,例如 config.yaml。
  2. 替换 server、port、认证字段和节点名称。
  3. 确认代理组中的节点名称与 proxies 完全一致。
  4. 确认规则最后一列引用的是已存在的代理组。
  5. 保存后执行配置校验,再交给客户端重新载入。

常见协议字段怎么填:不要只改 type

高级协议不能把上面的 type: ss 改成其他名称就结束。至少要根据协议检查以下字段;实际可用字段和兼容范围仍取决于当前内核版本以及服务端参数。

常见协议的输入重点
协议通常需要核对的字段容易出错的地方
VLESSserver、port、uuid;TLS 时检查 servername、client-fingerprint;Reality 时检查 reality-opts.public-key 与 short-idUUID、SNI、Reality 公钥或 short-id 只要一项不匹配,就可能无法握手
Hysteria2server、port、认证密码;按服务端要求检查 obfs、obfs-password、sni、上下行带宽不要把 Hysteria 与 Hysteria2 字段混用,也不要擅自填写带宽数值
TUIC核对版本、服务器、端口、UUID、密码、TLS 和 UDP 相关字段TUIC v4/v5 的认证方式和字段不能混写
VLESS WebSocket除 VLESS 基础字段外,检查 network: ws、路径、Host、TLS 与 SNI路径、Host 和 SNI 必须与服务端配置一致

VLESS 官方字段示例包含 UUID、TLS、Reality 参数以及 network 传输层;Hysteria 文档则单独列出了认证、协议、上下行带宽和混淆等字段。可以分别查看VLESS 出站配置和Hysteria 出站配置。文档没有覆盖你所用客户端的某个转换入口时,不要自行推断字段名称,先用当前 Mihomo 二进制校验。

有订阅链接:用 proxy-providers 自动读取节点

如果你只有一条订阅链接,通常不需要把所有节点复制进 proxies。可以让 proxy-providers 负责拉取节点,再让代理组通过 use 引用这个节点集合:

mode: rule
log-level: info
mixed-port: 7890
allow-lan: false

proxy-providers:
my-subscription:
type: http
url: "https://example.invalid/subscription"
path: ./profiles/my-subscription.yaml
interval: 3600
health-check:
enable: true
url: https://www.gstatic.com/generate_204
interval: 300

proxy-groups:
- name: "订阅节点"
type: select
use:
- my-subscription
proxies:
- DIRECT

rules:
- DOMAIN-SUFFIX,example.com,订阅节点
- MATCH,DIRECT

这里的 URL 只是占位符。官方文档说明,代理提供者可以设置更新间隔、健康检查、筛选和节点名称覆写;代理组则可以用 use 引用代理集合,可查看proxy-providers 配置和代理组配置。

生成后的检查顺序是:确认订阅请求成功;确认 provider 文件实际写入;确认代理组通过 use 引用了正确名称;确认组内出现节点;最后再测试一个明确域名。若 provider 能更新但代理组为空,优先检查 use 名称、筛选条件和订阅返回格式。

多个订阅或节点来源:组合订阅与覆写模板

组合订阅适合同时管理多个订阅、多个本地节点或不同来源的节点。Sub-Store 官方说明支持收集多个订阅、格式转换和文件托管;其链接参数文档还区分了 sourceType=subscription、sourceType=collection、完整配置模式与仅把来源转换成 proxies 的模式,可参考Sub-Store 链接参数说明。

  1. 在工具中分别添加订阅来源或本地节点文件,不要先把真实订阅 URL 发到公共表单。
  2. 选择组合订阅或 collection 类型,确认每个来源名称清晰可辨。
  3. 选择 Mihomo 配置输出;如果只想生成节点列表,选择写入 proxies 的模式。
  4. 为输出配置增加代理组和规则,或将这些内容放入独立覆写模板。
  5. 预览输出结果,检查节点名称是否重复、是否存在空代理组以及是否混入不支持的协议。
  6. 下载或复制 YAML 后,用实际 Mihomo 内核进行校验,再导入客户端。

推荐的文件关系是“订阅或组合订阅负责节点,覆写模板负责代理组、规则、DNS 和命名”。这样更新节点时不会直接覆盖个人设置。官方代理提供者也支持对加载节点增加前缀、后缀、名称替换和部分字段覆写,但高级覆写语法应先确认当前版本支持范围。

敏感信息自查:不要把带 token 的输出链接写进公开仓库、截图或工单;不要把完整订阅链接当作普通示例贴出;如果必须排错,先遮盖域名后的身份参数,并在泄露后更换订阅。

生成后的校验闭环:语法、字段、运行时分开检查

“生成成功”不等于“配置可用”,至少要分三层检查:

三层校验与预期结果
层级检查方法预期结果失败后的下一步
YAML 语法mihomo -t -f ./config.yaml出现配置测试成功提示按报错行检查缩进、冒号、引号和列表
字段与引用查看启动日志、代理组和 provider 状态节点被读取,组内有可选节点检查协议字段、名称、use、筛选和版本支持
运行时连通性查看规则命中、DNS、端口和实际业务目标应用流量进入正确代理组区分节点认证、DNS、TUN、IPv6、端口冲突和业务故障

命令行环境中,在配置文件所在目录执行:

cp config.yaml config.yaml.bak
mihomo -t -f ./config.yaml

如果使用配置目录,可按实际启动方式执行类似 mihomo -d /path/to/mihomo-config,然后查看启动日志。官方服务文档展示了用 -d 指定配置目录、重新载入服务和查看日志的方式,可参考Mihomo 服务启动文档。

  1. 编辑配置:先备份旧文件,并记录改动字段。
  2. 保存:确认使用空格缩进,不要混入 Tab。
  3. 校验:先运行 mihomo -t,解决语法和字段错误。
  4. 重新载入:在客户端执行重载、切换配置或重启内核。
  5. 查看日志:确认端口、provider、DNS、规则和节点初始化状态。
  6. 验证业务:测试具体域名或办公应用,不要只看客户端的“已连接”。

DNS 和 TUN 不建议一开始全部启用。DNS 的 Fake-IP、IPv6、DNS 劫持和规则匹配属于运行时行为,应根据实际客户端和系统验证。官方 DNS 文档列出了 fake-ip、real-ip、IPv6 和 nameserver-policy 等配置;TUN 文档也说明不同系统对 DNS 劫持和路由方式存在差异,可查看DNS 配置和TUN 配置。

版本兼容与导入前检查

Mihomo 内核、桌面客户端和配置生成工具并不一定同步支持所有字段。遇到“配置能生成但客户端启动失败”,按以下顺序排查:

  1. 确认客户端实际使用的内核名称和版本,不要只看客户端界面版本。
  2. 用该客户端附带或实际调用的 Mihomo 内核执行 -t,不要用另一台设备上的旧二进制代替。
  3. 删除最近加入的高级字段,先用基础节点、单一代理组和 MATCH 规则验证。
  4. 逐项恢复 TLS、Reality、WebSocket、DNS、TUN 或健康检查字段。
  5. 若订阅转换工具提示协议不支持,保留原始订阅并核对输出模式,不要把不完整节点强行写入配置。

规则按从上到下匹配,MATCH 通常放在最后;代理组名称、provider 名称和规则引用必须保持一致。官方路由规则文档明确说明规则按顺序匹配,可查看Mihomo 路由规则。

常见问题

Mihomo 配置文件一定要叫 config.yaml 吗?

不一定。config.yaml 只是常见文件名,实际读取哪份配置由启动参数、配置目录或客户端决定。关键是用实际运行的 Mihomo 内核校验同一份文件,并确认客户端重新载入的也是它。

只有订阅链接,没有节点参数,应该怎么生成?

优先使用 proxy-providers,或使用支持 Mihomo 输出的订阅管理工具。生成后检查 provider 是否更新、代理组是否通过 use 引用了它、组内是否出现节点,再运行 mihomo -t。

多个订阅怎么合并成一个 Mihomo 配置?

先在组合订阅工具中添加多个来源,选择 collection 或组合订阅,再选择 Mihomo 配置输出;随后检查重复节点名、空代理组、失败来源和不支持协议,最后用实际内核校验。

VLESS Reality、Hysteria2 或 WebSocket 可以自动生成吗?

可以由支持这些协议的转换工具或模板生成,但不能只修改 type 字段。VLESS Reality 至少要核对 UUID、TLS、SNI、Reality 公钥和 short-id;Hysteria2 要核对认证、端口、混淆和 TLS;WebSocket 还要核对路径、Host 和传输层。字段以当前 Mihomo 文档和服务端参数为准。

为什么生成的 YAML 看起来正确,Mihomo 仍然启动失败?

常见原因包括 Tab 缩进、代理组引用不存在、端口冲突、协议字段不完整、当前内核不支持某字段或订阅输出格式不兼容。先执行 mihomo -t,再看启动日志;不要只根据编辑器的语法高亮判断。

订阅更新后,自己写的规则为什么消失?

因为你直接修改了自动生成的完整结果。应把订阅或组合订阅作为节点来源,把代理组、规则、DNS 和命名放到覆写模板或独立配置中。每次更新后重新生成、备份并再次校验。

把订阅链接交给在线转换工具安全吗?

不能默认安全。订阅链接可能包含凭据,使用前应查看工具的处理方式和部署位置;优先选择自己可控的本地环境,不要公开分享完整 URL。若已经泄露,应尽快更换或撤销订阅。

相关阅读

参考资料

  1. Mihomo 官方配置文档
  2. Mihomo 出站节点与通用字段
  3. Mihomo VLESS 出站配置
  4. Mihomo Hysteria 出站配置
  5. Mihomo proxy-providers 配置
  6. Mihomo 代理组配置
  7. Mihomo 路由规则配置
  8. Mihomo DNS 配置
  9. Mihomo TUN 配置
  10. Sub-Store 项目说明
  11. Sub-Store 链接参数说明
  12. Mihomo 服务启动与配置目录文档