3x-ui
- title
- 3x-ui
- type
- toolbox
- summary
- Web panel for running an Xray-core proxy server with per-client quotas and subscription links
- tags
- golang, networking, proxy, vpn, xray
- language
- Go
- license
- GPL-3.0
- created
- 2026-04-06
- updated
- 2026-04-09
Web-based control panel for managing an Xray-core proxy server. You get a dashboard where you can create inbounds (listener endpoints for various proxy protocols), manage users, set traffic quotas and expiration dates, and monitor usage โ all through a browser.
Supported protocols: VMess, VLESS, Trojan, ShadowSocks, WireGuard, HTTP, and several tunnel modes. Each inbound can have its own TLS settings, transport layer (WebSocket, gRPC, HTTP/2), and access controls.
The main draw is multi-user management. You create client configs per inbound, each with their own UUID/password, and can set per-client traffic limits (e.g., 50 GB/month), expiration dates, and IP count restrictions. The panel generates subscription links in the standard vless-subscription-format that proxy clients can import directly โ point v2rayN, Hiddify, Happ, or similar apps at the link and they auto-configure.
The dashboard shows real-time stats: active connections, bandwidth usage per client, system load. There's also a Telegram bot integration for notifications (traffic warnings, expiry alerts) and remote management.
Installation is a one-liner on any Linux box:
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)
Also ships with Docker Compose configs. The install script sets up a systemd service, generates a self-signed cert, and drops you into a web panel on port 2053 by default.
Under the hood, 3x-ui is a Go web app that wraps Xray-core's JSON config. The panel writes Xray config files based on your UI choices and manages the Xray process lifecycle. The frontend is plain HTML/JS โ no framework, just server-rendered pages with some AJAX.
This is the server-side complement to client tools like mihomo: 3x-ui runs your proxy server and manages access, while mihomo (or v2rayN, Hiddify, etc.) runs on the client side and routes traffic through it. For routing rules that handle Russian-blocked domains and IPs, see russia-v2ray-rules-dat.
For a tutorial on setting up Xray manually without a panel, see xray-tutorial.
Repo: https://github.com/MHSanaei/3x-ui โ 33k stars, GPL-3.0. 102 releases, latest v2.8.11.