-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Filipp Sanachev edited this page Jul 5, 2026
·
2 revisions
A web admin panel for the mieru proxy server
(mita), in the spirit of 3x-ui for Xray. Manage users, ports, routing, and
share links from the browser. English and Russian UI.
Single Go binary with the Vue SPA embedded, shipped as one Docker image that
bundles and supervises mita.
git clone https://github.com/FJCrux/mieru-web-ui
cd mieru-web-ui
cp .env.example .env # edit as needed
docker compose up -d # pulls ghcr.io/fjcrux/mieru-web-ui:latest
docker compose logs | grep -A4 "Panel admin" # generated password on first runThe default compose publishes the panel on 127.0.0.1:8686; reach it via an
SSH tunnel or a reverse proxy. For a production setup with a domain, use
docker-compose.nginx.yml — see Reverse proxy and TLS.
- Settings: set the Public host (address clients connect to) and, behind a proxy, the Panel URL.
-
Network: add a port binding (open it in your firewall /
PROXY_PORTS). - Users: add a user; the proxy starts once there's a user and a port.
- Users → Share: hand out the link or QR.
- How it works — the moving parts: container, ports, paths, request flow.
- Reverse proxy and TLS — dockerized nginx (bundled compose), an existing proxy, host nginx, or built-in TLS.
- Hardening — secret base path, Host validation, crawler blocking, lockdown.
- Outbound routing and GeoIP — route by domain, CIDR, or GeoIP category.
- Advanced mieru tuning — traffic obfuscation, DNS, mandatory user hint.
- Chaining two panels — route one server's egress through another.
- Sharing client configs — links, QR codes, expiring share pages.
- Metrics — OpenTelemetry (OTLP) and Prometheus.
- Split deployment — panel and proxy on separate hosts.
The UI ships in English and Russian. Adding a language is a single JSON file in
web/src/locales
— contributions welcome.
Serve the panel over TLS, keep the /data volume private, and treat share
links as secrets. See
SECURITY.md.