Mihomo 配置能直接导入 sing-box 吗?机场订阅格式兼容指南
Mihomo 的机场配置不能只改扩展名,就当成 sing-box 配置导入。能否跨客户端使用,要分别检查订阅返回内容、节点协议、配置结构和实际运行版本。节点信息相同,也不代表 DNS、规则和本地入口会自动等价迁移。
本文适合换客户端后出现解析错误,或导入成功但连接行为与原软件不同的情况。下面说明判断方法,不推荐陌生在线转换服务,也不提供包含真实账号的配置示例。
作者:小六|资料核对日期:2026年10月6日
先分清订阅地址、节点信息与完整配置
订阅地址是获取内容的入口,本身不能说明内容适用于哪个客户端。服务方可能提供多个适配入口,应从其账户页面和说明中确认,而不是根据网址末尾猜格式。
节点信息主要描述如何连接服务器;完整配置还可能包含本地入口、DNS、策略组与路由规则。只导入节点列表,不能假定原来的完整分流也一起存在。
客户端界面上的“导入订阅”,也可能包含它自己的解析或转换逻辑。因此,需要查看具体软件支持的输入,不能只根据它使用了哪一种内核做判断。
YAML 和 JSON 的差别,还不止外观
Mihomo 文档说明其配置使用 YAML,并介绍大小写、缩进和对象结构;sing-box 文档则说明其配置使用 JSON,包含 inbounds、outbounds、route 等部分。见 Mihomo 语法说明与 sing-box 配置说明。
两者的差异不仅是冒号、括号或文件扩展名,字段结构与含义也需要对应。YAML 本身能够容纳 JSON 写法,因此“换成 JSON 外观”也不是跨内核兼容的证明。
| 检查层次 | 需要回答的问题 |
|---|---|
| 返回内容 | 是节点信息、完整配置,还是提示网页? |
| 输入支持 | 客户端接受哪种导入方式? |
| 节点协议 | 实际内核是否支持对应协议与所需功能? |
| 配置结构 | 字段、引用和规则是否属于目标内核? |
| 运行行为 | DNS、入口与分流是否符合预期? |
如果只改文件后缀后错误变了,不代表转换已经完成,仍要逐层核对。
一个混合入口,就能看出字段结构不同
Mihomo 可以用顶层 mixed-port 设置混合代理端口;sing-box 的混合入口则作为一项 type 为 mixed 的入站,并使用相应监听字段。见 Mihomo 端口文档与 sing-box Mixed 文档。
这里是在比较结构,不是给出可直接运行的配置。端口以外还需要核对其他必需设置,不能复制几个字段就认为整个客户端已经可用。
同样,某个节点能够连接,不代表规则组名称、DNS 路由或平台权限也已经迁移。更换客户端后,应把这些行为分别验证。
Base64 解码,为什么不等于转换配置?
Base64 是一种数据编码方式,定义见 IETF 的 RFC 4648。它处理的是数据如何表示,不能替代目标客户端的配置结构。
据此可以判断:如果内容原本只包含节点信息,解码后仍要看它是什么信息,不会因此自动生成完整 DNS 与路由规则。不要把“能读到内容”和“已转换成目标配置”当成同一个阶段。
编码内容也可能包含认证信息。需要确认内容时,只在自己控制的环境中查看,分享错误时不必附上完整原文。
按这个顺序迁移,比较容易发现问题
先保留原客户端的可用配置和个人规则,记下客户端、内核及当前版本。接着确认服务方是否有对应目标客户端的入口;有明确适配方式时,优先按其说明导入。
如果需要转换,应了解它转换哪些部分,以及哪些功能需要另外处理。一次只验证一个可用节点,再检查本地入口、DNS 与分流,不要一边迁移一边大幅改原来的行为。
适配说明没有涵盖的字段,不应为了消除错误就直接删除。尤其是认证、TLS 和传输设置,要对照目标内核与服务方要求核对,不用猜测值填空。
配置检查通过,是否说明一切正常?
不能。sing-box 官方提供 sing-box check 配置检查方式;检查通过可以作为配置层面的线索,但不能替代远端连接、目标访问和规则命中的验证。
还要让文档与实际安装版本对应。官方 JSON Schema 说明提供了按已安装构建生成匹配结构的方式;相关命令是否可用,需要看自己的版本,而不是照搬最新页面全部字段。
迁移后用少量固定目标检查预期出口和 DNS 行为,再逐步恢复日常使用。个人规则的保留可参考本站的订阅更新与自定义规则说明,具体入口仍需按目标客户端确认。
如果失败发生在下载阶段,应另看订阅更新错误排查。想交流兼容性判断,可以提供客户端与内核版本、输入类型和脱敏后的错误字段:Telegram 联系我