sing-box 与 Mihomo 内核对比:配置格式与生态
两者都是规则分流的代理内核,区别主要在配置格式和围绕它们的客户端:sing-box 用 JSON,官方提供多平台图形客户端;Mihomo 用 YAML,许多 Clash 类客户端内置它。多数人其实是通过客户端间接选内核。
sing-box 对比 Mihomo,先要澄清一件事:它们是内核,不是你日常点开的 App。大多数人用的是围绕它们的客户端,选客户端的同时就间接选了内核。如果你正在判断到底该装哪一类东西,下面按配置格式、周边客户端和官方点名的限制三条线来对照。
先分清:内核和客户端不是一回事
| 层次 | 例子 | 你需要关心什么 |
|---|---|---|
| 内核 | sing-box、Mihomo | 配置格式、协议能力 |
| 图形客户端 | 内置 Mihomo 的 Clash 类客户端、sing-box 官方客户端 | 界面、平台、订阅导入 |
| 订阅 | 一串链接,返回节点或完整配置 | 返回的格式决定适合哪个内核 |
想了解内核概念,读 内核术语;两个内核各自的术语页是 Mihomo 内核 与 sing-box 内核。
sing-box 对比 Mihomo:核对得到的差别
| 维度 | sing-box | Mihomo |
|---|---|---|
| 定位 | 通用代理平台内核 | Go 写的规则分流代理内核,前身叫 Clash.Meta |
| 配置格式 | JSON | YAML |
| 订阅形态 | JSON 配置,可本地、iCloud 或以网址为更新源的远程配置 | YAML 的 proxies 列表、URI 链接列表或 Base64 编码的 URI 列表 |
| 平台 | Windows、macOS、Linux、Android、iOS、路由器 | Windows、macOS、Linux、Android、路由器;iOS 资料待核实 |
| 协议 | 官方资料确认 VMess、VLESS、REALITY、Trojan、Shadowsocks、Hysteria2、TUIC、WireGuard、AnyTLS;ShadowsocksR 已移除 | 官方文档确认含 ShadowsocksR 在内的上述协议 |
| 许可证 | GPL-3.0-or-later,附加条款:衍生作品不得使用该名称或暗示关联 | GPL-3.0,附加条款:非原团队的下游项目名称不得含 mihomo |
| TUN | 支持 | 支持 |
表里 iOS 一栏要读准:sing-box 的 iOS 只有官方图形客户端,没有独立内核;Mihomo 的官方发布资产里没有 iOS 二进制,文档的客户端页也没有 iOS,所以写“资料待核实”。鸿蒙两边都没有写明。
客户端生态:这才是两者最大的差异
sing-box:官方自己做客户端。 官方文档的客户端页列出了几类官方客户端:
- Android:sing-box for Android,渠道包括 Google Play、测试版、GitHub 发布页和 F-Droid;
- Apple 平台:iOS、macOS、tvOS 各有客户端,其中 App Store 渠道覆盖 iOS 与 tvOS,macOS 独立版通过 Homebrew Cask 或 GitHub 发布页获取,文档未提 Mac App Store;
- 桌面:Windows 与 Linux 的 sing-box for Desktop,从 GitHub 发布页获取。该仓库 README 仍写着“实验性”,与文档页和发布资产不一致,以文档页和发布资产为准。
Mihomo:由第三方客户端内置。 内核本身不带界面,Clash Verge Rev、FlClash、Clash Party 这类图形客户端内置它,路由器上的 OpenClash 也围绕它。各客户端的档案在 客户端档案 目录下,入口可以从 Clash Verge Rev 与 FlClash 对比 进。
于是选内核的现实含义是:想用官方一脉相承的多平台客户端,倾向 sing-box;想用社区里丰富的 Clash 类桌面客户端,倾向 Mihomo。
官方点名的限制,选之前先读
sing-box
- Apple 版需要非中国大陆区的 Apple 账户,测试版名额只给赞助者;
- Apple 版的 TUN 由系统扩展提供,auto_route、stack 等 tun 选项没有实现;按进程名分流仅个别版本可用;
- WireGuard 出站在较新版本起已弃用,应改用 endpoint 写法;ShadowsocksR 早已移除。
Mihomo
- AnyTLS 不支持与 Reality 组合,文档称以后也不会支持;
- 下游项目名称里不得带 mihomo 一词;
- README 的功能列表较旧,完整协议以文档站为准;
- 仓库陷阱:GitHub 默认分支展示的是一个无关项目的 README,真正的内核在 Meta 与 Alpha 分支,发布页正常。下载请走发布页,别在默认页面找内核。
怎么确认装的是正版、选的内核对
- 先到 GitHub 项目导航 找 sing-box、Mihomo 的官方入口,再进发布页下载,避免进到同名的无关仓库。
- 看订阅返回什么:把订阅输入 订阅解码工具 看格式,是 YAML 还是 JSON,一目了然。
- 对 sing-box,从 sing-box 配置教程 开始;对 Mihomo,从 Mihomo 配置教程 开始,Clash 一侧的配置语法见 Clash 配置文件教程。
- 配好后用 IP 与 DNS 检测导航 里的检测页确认出口,再逐个节点测试,别一次全打开。
- 节点连不上,先查协议组合:比如 Mihomo 里 AnyTLS 与 Reality 不能叠;协议矩阵在 协议矩阵。
什么情况选哪个内核
| 你的情况 | 倾向 | 依据 |
|---|---|---|
| 订阅返回 Mihomo YAML | Mihomo 系客户端 | 格式吻合 |
| 订阅返回 sing-box JSON | sing-box 客户端 | 格式吻合 |
| 想要官方统一的手机与电脑客户端 | sing-box | 官方提供多个平台客户端 |
| 想用现成的 Clash 类桌面客户端 | Mihomo | 许多客户端内置它 |
| 需要 ShadowsocksR | Mihomo | sing-box 已移除 |
| 要在路由器上用 | 两者都有资料 | 平台栏均标可用,具体方案另查路由器页 |
| 在苹果手机上用 | 先看 sing-box 官方客户端 | Mihomo 的 iOS 资料待核实 |
所以 sing-box 对比 Mihomo 的答案基本是顺着订阅走:格式对上了,内核就定了。
下一步:从订阅格式出发完成第一次连接
- 先确认订阅格式,再读对应配置教程。
- 想深入单个内核,读 sing-box 客户端档案 与 Mihomo 客户端档案。
- 对内核官方的说明,直接看 sing-box 官方文档 与 Mihomo 文档。
- 还要把 Mihomo 与另一个内核对照,看 Mihomo 与 Xray 对比。
这篇没有覆盖的
- 梯子岛没有两个内核的吞吐、延迟或内存对比数据,本文只讲格式、生态和官方注意事项。
- Mihomo 在苹果手机上的使用方式、两者在鸿蒙上的情况,官方资料都没有写明,这里保持资料待核实。
- 本文不教写完整配置,也不涉及服务端,配置入门请看站内教程。
本文引用的官方来源
- sing-box 官方文档(sing-box.sagernet.org)
- Mihomo(Clash Meta)文档(wiki.metacubex.one)
- sing-box 官方仓库(github.com)
- Mihomo 内核官方仓库(github.com)
以上链接均为官方页面,梯子岛在 2026-10-09 核对过;个别网站会拦截自动化访问,用浏览器直接打开即可。平台规则可能随时调整,以官方页面当前内容为准。
sing-box 对比 Mihomo常见问题
sing-box 和 Mihomo 的配置能互相转换吗?
两者的配置语法并不一致,一个是 JSON,一个是 YAML,官方文档也没有提供互转承诺。迁移时更稳的做法是按目标内核的文档逐项重写,或者让订阅服务按你选的内核格式返回,再把导入后的节点逐一测试。
Mihomo 仓库打开是一个无关的 Python 项目,是不是搞错了?
官方资料核对时发现,GitHub 默认分支展示的是遗留的无关内容,真正的内核在 Meta 与 Alpha 分支,发布页是正常的。下载内核请走发布页,查源码请切到 Meta 分支,不要被默认页面的简介和语言标签误导。
sing-box 在苹果设备上怎么用?
官方提供 Apple 平台的图形客户端,需要非中国大陆区的 Apple 账户,测试版名额只给赞助者。官方说明还指出,Apple 版的 TUN 由系统扩展提供,部分 tun 选项没有实现,按进程名分流只在个别版本可用,使用前请读官方客户端页。
Mihomo 能用 AnyTLS 加 REALITY 吗?
不能。官方文档说明 AnyTLS 不支持与 Reality 组合,并称以后也不会支持。想用 Reality,请改选 VMess、VLESS 或 Trojan 这几种协议,具体写法以内核文档为准。
我的订阅应该选哪个内核?
看订阅返回什么格式。返回 YAML 的 Mihomo 配置,用 Mihomo 系客户端最自然;返回 sing-box JSON 配置,用 sing-box 的客户端。拿不准就看订阅服务的说明,别凭空改格式,也别为了换内核去花钱买第二份订阅。
自己的客户端里已经内置了内核,还需要单独装吗?
通常不需要。图形客户端多半把内核打包在里面,你只管选择客户端即可。单独下载内核更适合路由器、服务器之外的特殊场景,普通用户直接用带界面的客户端更省事。
接着读
- 客户端 · sing-box 是什么?内核、官方客户端与各平台入口
- 客户端 · Mihomo 内核是什么?Clash Meta 内核与客户端的关系
- 教程 · sing-box 配置文件入门:JSON 结构与最小可用配置
- 教程 · Mihomo 内核配置要点:命令行使用与最小配置
- 教程 · Clash 配置文件怎么看?YAML 结构与常用字段讲解
- 术语 · Mihomo是什么意思