Identify the scenario first, then follow the checks in order. Jump to the linked download, subscription or configuration page when the issue becomes specific.
Separate Dashboard From Core
MetaCubeXD shows traffic, proxy groups, connections, rules, logs and profile state. It does not perform proxy routing by itself; Mihomo still handles the runtime behavior.
Connection Check Order
- Confirm Mihomo is running and the profile contains external-controller.
- Confirm the controller port is not blocked by firewall, Docker networking or system permission.
- If a secret is configured, enter the same secret in the dashboard.
- Use 127.0.0.1 for local access; for LAN access, confirm the controller is not bound only to localhost.
- For reverse proxy or cross-origin access, check CORS, HTTPS and path forwarding only after the basic controller works.
Minimal Controller Example
external-controller: 127.0.0.1:9090
secret: "change-this-secret"Do not expose an unauthenticated controller to the public internet. The controller can read runtime state and change behavior.
Docker Notes
Common Docker issues include missing port mapping, network_mode mismatches and wrong mounted profile paths. Check Mihomo logs on the host before debugging the dashboard UI.
Access Safety
- The external controller can switch nodes, read connections and update runtime settings.
- Keep the secret out of screenshots and public repositories.
- For shared dashboards, decide who can edit profiles or proxy groups.