# 3x-ui

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-proxy|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
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.
