Repository navigation
Migrating from 3x ui.zh_CN
RomanovCaesar edited this page Oct 23, 2026
·
3 revisions
m-ui 可以一步导入整个 3x-ui 面板,也可以导入普通的 Xray 配置。打开仪表盘,在管理卡片里点导入。导入程序把 Xray 的入站、出站和路由规则转换成 Mihomo 的 listener、proxy 和规则,加进面板。导入功能从 v0.3.0 起提供。
| 文件 | 从哪里拿 | 能保留的内容 |
|---|---|---|
x-ui.db(推荐) |
3x-ui 系统状态 → 备份 → 备份,或者从服务器复制 /etc/x-ui/x-ui.db
|
入站;每个客户端的流量限额、到期时间(包括"首次使用后 N 天")、启用状态、备注和已用流量;订阅 ID;客户端的流量重置周期和到期自动续期(reset、resetDay、resetWeekday、resetMax);入站的限额、到期时间、重置周期和每月重置日;Xray 模板里的出站和路由规则 |
config.json |
3x-ui 系统状态 → 配置 → 下载,或者复制 /usr/local/x-ui/bin/config.json
|
入站和客户端凭据、出站、路由规则 |
也可以直接在窗口里粘贴 JSON:完整的 Xray 配置、单个入站对象或入站数组都行。
config.json 是 3x-ui 交给 Xray 运行的配置,只带 Xray 需要的东西:被禁用和流量耗尽的客户端不在里面,限额、到期时间和流量也没有。能用 x-ui.db 就用 x-ui.db。
支持的版本:3x-ui v2.9.3 到 v3.10.2(撰写时的最新版)。两种数据库结构都能读:2.x 把客户端存在入站的 settings JSON 里,3.1 起改成独立的 clients 和 client_inbounds 表。3x-ui 3.x 用 PostgreSQL 存数据的安装没有 x-ui.db,请导入 config.json。
导入只增加内容,面板里已有的东西不会被修改或删除。
- 端口冲突: 导入的入站端口已经被面板里的入站(或面板自己)占用时,保留已有的入站,跳过导入的那个。
-
名称冲突: 入站或出站重名时,导入的那个加上
-xray后缀(再重名就是-xray-2,以此类推)。 -
路由规则: 导入的规则插在最后的
MATCH之前;和已有规则完全相同的会跳过。 - 订阅: 3x-ui 的订阅 ID 会成为客户端在 m-ui 里的用户名和订阅 token,原来的订阅链接 token 不变,只需要把面板地址和订阅路径换成 m-ui 的。
导入完成后,窗口会显示入站、客户端、出站和规则各导入、跳过了多少,并列出需要注意的地方。点下载转换日志可以看完整报告;窗口和日志都使用面板当前的语言。导入的设置在重启 Mihomo 后生效。
| Xray / 3x-ui | m-ui 里的 Mihomo |
|---|---|
| VLESS、VMess、Trojan 入站,传输为 TCP(raw)、WebSocket、gRPC;VLESS 还支持 XHTTP,VMess 还支持 mKCP;TLS 或 Reality | 同类型的 listener |
| 只有一个用户的 Shadowsocks 入站 |
shadowsocks listener |
| SOCKS、HTTP、Mixed 入站 | 带相同账号的 listener |
| Hysteria(v2)入站,包括 Salamander 混淆 |
hysteria2 listener |
| TUIC 入站(3x-ui 3.8+) |
tuic listener |
freedom / blackhole 出站 |
DIRECT / REJECT
|
| VLESS、VMess、Trojan、Shadowsocks、SOCKS、HTTP、Hysteria2、WireGuard 出站 | proxy;proxySettings / dialerProxy 转成 dialer-proxy
|
| 负载均衡器 |
url-test(leastPing、leastLoad)或 load-balance 策略组 |
规则条件 domain、ip、port、sourcePort、localPort、network、source、inboundTag、user
|
DOMAIN*、GEOSITE、IP-CIDR、GEOIP、DST-PORT、SRC-PORT、IN-PORT、NETWORK、SRC-IP-CIDR、IN-NAME、IN-USER
|
| 带多个条件的规则 | 一条 AND 规则 |
下面这些会被跳过或丢弃,转换日志里每一条都写明了原因:
- 多用户的 Shadowsocks 入站,包括每个用户单独密钥的 Shadowsocks 2022。Mihomo 的 listener 一个端口只接受一个 Shadowsocks 用户。
- 带 HTTP 头伪装的 TCP 入站、HTTPUpgrade 入站、WireGuard 入站、tunnel(dokodemo-door)和 TUN 入站。
- 在 Xray 之外运行的 3x-ui 附加协议,如 MTProto、AmneziaWG、MASQUE;以及运行在远程 3x-ui 节点上的入站。
- 回落(fallbacks)。回落的目标入站会在它自己的端口上单独导入。
- 客户端 IP 限制(
limitIp)。 - Mihomo 无法匹配的路由条件,如
protocol(BitTorrent 嗅探)和attrs。一条规则只有部分条件能转换时,丢掉的部分会记在日志里。 - DNS 和 loopback 出站。
以文件路径给出的 TLS 证书会按路径导入。如果日志提示证书文件不存在,请在重启 Mihomo 之前把它复制到 m-ui 服务器的同一路径,或者编辑这个入站。
- 在新服务器上安装 m-ui,或者在同一台服务器上先停掉 3x-ui,让端口空出来。
- 同一个文件导入一次就够了。再导入一次时,所有入站都会因为端口被占用而跳过,出站则会多出一批改了名的副本。
- 导入后看一下 Mihomo 设置 → Routing Rules。Xray 把没有匹配到规则的流量交给第一个出站,而 m-ui 保留自己最后的
MATCH规则。