m-ui 和其它面板的对比
在 sing-box 与 Xray 面板之间选型时,这页列出各项目自己怎么说。以下事实于 2026-09-05 对照各项目 README 核对;README 没写的一律标 未知,不猜。
一句话版本
多数面板是配置驱动的:你编辑的入站、出站、路由规则一一对应内核的 JSON,面板重启或重载一个外部内核进程。m-ui 是线路驱动的:一条记录 —— 协议 + 端口 → 出口 —— 渲染成部署到的每台服务器的 sing-box 配置,内核跑在面板进程里,改动用能覆盖它的最小重载来应用。理念上的差别就这一句;表格里是它落到功能上的样子。
功能对照
| m-ui | 3x-ui | s-ui | Marzban | Hiddify-Manager | |
|---|---|---|---|---|---|
| 内核 | sing-box | Xray-core | sing-box | Xray-core | Xray 与 sing-box |
| 内核怎么跑 | 内嵌在面板二进制里 | 面板管理的外部进程 | 未知 | 外部进程(Xray 单独安装) | 未知 |
| 配置模型 | 线路(协议 + 端口 → 出口) | 入站 / 出站 / 路由 | 入站 / 出站 / 路由 | 入站(Xray 配置),按用户选协议 | 未知 |
| 改动不影响其他用户连接 | 是:改用户、改上游热换,只有改线路才重启 | 未知 | 未知 | 未知 | 未知 |
| 保存前校验、起不来回滚 | 是(sing-box 干跑 + 回滚) | 未知 | 未知 | 未知 | 未知 |
| 一个面板管多台服务器 | 主 / 副机:每 5 秒推送,配额与设备数集中判定 | 是:管理多台服务器,把入站克隆到其它节点 | 未知 | 是:Marzban-node | 未知 |
| 订阅格式 | 通用链接、Clash / Mihomo、sing-box JSON;落地页 | Raw、JSON、Clash;自定义页面模板 | 链接、JSON、Clash;外部链接 | V2ray 系、Clash、ClashMeta | 专用客户端 + 订阅 |
| 流量配额 / 到期 | 有 / 有,周期重置 | 有 / 有,续费周期 | 有 / 有 | 有 / 有,周期限额 | 有 / 有 |
| 设备数限制 | 按源 IP,跨所有服务器合计 | IP 限制与 HWID 限制 | 未知 | 未知 | 未知 |
| 按用户限速 | 有(上 / 下行) | 未知 | 未知 | 未知 | 未知 |
| 带独立面板的代理 | 有 | 未知 | 未知 | 未知 | 未知 |
| 部署 | 一个静态二进制 + SQLite | 二进制 + Xray,或 Docker | 二进制,或 Docker | Python 应用 + Xray,Docker | 安装脚本,Docker |
| 许可证 | GPL-3.0 | GPL-3.0 | GPL-3.0 | AGPL-3.0 | GPL-3.0 |
什么时候不该选 m-ui
- 你需要 Xray 独有的东西 —— Vision 之外的 XTLS 流控、XHTTP、WireGuard 或 TUN 入站。m-ui 只做 sing-box,没有这些。
- 你想要最大的社区和最多的第三方教程。3x-ui 领先了好几年;m-ui 很新,而且是一个人维护。
- 你习惯直接改内核 JSON。m-ui 刻意把它藏在线路后面;每条线路有一个"高级"JSON 字段,但路由表不归你编辑。
什么时候该选
- 你有不止一台服务器,希望用户、配额、设备数是一份,而不是每台一份。
- 你经常改用户,不想每次都让所有人重连。
- 你想要一个能直接复制、备份、更新的二进制,不想维护容器运行时或一个要对版本的独立内核。
- 你做分销:独立的代理面板,各自的额度、套餐和落地页文案。
迁移
m-ui 能导入兼容格式的旧面板数据库,保留端口、凭据与订阅路径,割接后既有客户端继续可用。它不声称兼容上表里的每一个面板 —— 先拿数据库副本跑一遍导入报告核对。见快速上手。
来源
核对于 2026-09-05。有误欢迎到 Discussions 指出 —— 目标是准确,不是赢下这张表。