Articles
Technical write-ups on how m-ui is built: embedded sing-box, hot reload, multi-server sync, lines, quotas, backups.
- How config validation and rollback work in m-ui · 2026-09-29
Four layers between a click in the panel and a running sing-box: field checks, port probes, the core's own parser inside the transaction, and rollback on a failed start.
- What a Line means in m-ui, and why it replaces inbound / outbound / routing tables · 2026-09-23
The single record m-ui manages instead of three config tables, and how it turns into a sing-box configuration on every server.
- Why m-ui embeds sing-box instead of managing an external process · 2026-09-05
What running sing-box inside the panel process buys — in-process user tables, exact counters, the same parser for validation — and how m-ui pays for it with reload tiers and rollback.
- How m-ui hot-reloads users without restarting every connection · 2026-09-05
Three reload tiers chosen by what changed: swap the user table, swap outbounds, or restart with rollback — and why disabling a user also closes their connections.
- How m-ui keeps many servers in sync from one master · 2026-09-05
A hashed snapshot every 5 seconds, idempotent apply on nodes, concurrent per-node sync, monotonic counters with cursors, online-IP exchange for device limits, and what happens during outages.