{"full_name":"MHSanaei/3x-ui","owner":"MHSanaei","name":"3x-ui","url":"https://github.com/MHSanaei/3x-ui","description":"Supporting multi-protocol multi-user(Vmess, Vless, Trojan, ShadowSocks, Wireguard, Hysteria, Tunnel, Mixed, HTTP, Tun, MTProto، AmneziaWG) ","homepage":"https://docs.sanaei.dev/","topics":[],"language":"Go","license":"GPL-3.0","avatar":"https://avatars.githubusercontent.com/u/33454419?u=40e31b0635bd78e6e67a6e572fa328739648c9ec&v=4","created_at":"2023-02-09T19:16:57Z","pushed_at":"2026-11-06T17:58:20Z","metrics":{"stars":49649,"forks":12703,"watchers":297,"issues":4652,"prs":2006,"releases":131,"issues_open":null,"issues_closed":null,"prs_open":null,"prs_closed":null,"prs_merged":null,"discussions":0},"growth":{"day":{"stars":64,"forks":7,"base_day":"2026-11-09"}},"history":{"dates":["2026-11-09","2026-11-10"],"stars":[49585,49649],"forks":[12696,12703],"watchers":[297,297],"issues_open":[null,null],"prs_open":[null,null]},"boards":{},"same_owner":[],"issues":[{"number":6973,"title":"[Bug]: AWG outbound intermittently gets no handshake reply after panel or OS restart (DNS \"no answer after 3 attempts\")","comments":21,"created_at":"2026-10-27T04:36:32Z"},{"number":6943,"title":"[Bug]: Telegram Bot fails to display interactive menu after /start in v3.11.0","comments":12,"created_at":"2026-10-26T07:59:00Z"},{"number":6541,"title":"[Question]: How to reduce master-node sync bandwidth and CPU with ~100 nodes","comments":11,"created_at":"2026-09-15T07:44:59Z"},{"number":5889,"title":"[Feature]: Custom Clash/Mihomo subscription profiles with proxy-groups, rule-providers and rules","comments":10,"created_at":"2026-07-10T05:52:39Z"},{"number":7078,"title":"[Question]: using 3x-ui to connect to office resources (smb)","comments":9,"created_at":"2026-11-05T09:49:52Z"},{"number":6727,"title":"[Bug]: Reality inbound fails on Ubuntu 24 but works on Debian 12 (3x-ui 3.9.0, Min Client Ver 1.0.0)","comments":9,"created_at":"2026-10-04T00:15:29Z"},{"number":6658,"title":"Feature Request: Native MCP Server for AI-driven 3x-ui Management","comments":9,"created_at":"2026-09-26T12:02:53Z"},{"number":6014,"title":"[Feature]: Automatic rotation of Reality short IDs","comments":9,"created_at":"2026-07-17T10:30:39Z"}],"discussions":[],"latest_release":{"name":"v3.11.0","tag":"v3.11.0","published_at":"2026-10-25T19:09:16Z","body":"## 🚀 Xray-core v26.10.21, Kernel AmneziaWG, Per-Client Hosts & a Rebuilt Telegram Bot\r\n\r\n- 🔐 **Security hardening** — Fresh databases get a random first user, generated WireGuard/AmneziaWG configs are checked line by line, and client IPs behind a proxy can no longer be spoofed.\r\n- ⚙️ **Xray-core v26.10.21** — The panel follows the new core's XDRIVE and Lua-script rules and adds the finalmask source-IP filter, Lua noise scripts and XDNS over DoH.\r\n- 🚄 **Kernel AmneziaWG** — An opt-in Linux kernel datapath per inbound, plus much faster uploads on the embedded datapath.\r\n- 🎯 **Smarter hosts** — Bind host rules to individual clients, give a host a pool of SNIs, expand CIDR ranges into random IPs, and order hosts across inbounds.\r\n- 🤖 **Telegram bot rebuilt** — One live screen per chat edited in place, inline search for long lists, and admin notifications routed to a forum topic.\r\n- 🔗 **Cipher suites in share links** — Links carry `cs` and pin the fingerprint so it takes effect, with presets in the editor.\r\n- 📈 **Large-install performance** — Cached subscription bodies, indexed token and Telegram lookups, a pooled gRPC connection and far fewer redundant database writes.\r\n- 🐳 **Docker on ARM and 386** — The `linux/386`, `arm/v6` and `arm/v7` images now ship the right Xray and MTProto binaries.\r\n\r\n---\r\n\r\n### 🔐 Security\r\n- A new database's first panel user gets a random username and password printed to the server log, not a fixed default pair ([`1df8ab29`](https://github.com/MHSanaei/3x-ui/commit/1df8ab29))\r\n- WireGuard and AmneziaWG `.conf` files from the subscription service, clients page, inbound modal and subscription page are built line by line and render nothing when a value holds a control character. Imported `vpn://` profiles that carry wg-quick hook directives are refused, and client `allowedIPs` are validated on every save ([`0faad4f4`](https://github.com/MHSanaei/3x-ui/commit/0faad4f4))\r\n- The client address behind a trusted proxy comes from the proxy end of `X-Forwarded-For`, and a client-supplied `X-Real-IP` is no longer believed. The documented Caddyfile and the docs reverse-proxy generator now overwrite it ([`d50c419e`](https://github.com/MHSanaei/3x-ui/commit/d50c419e))\r\n\r\n### 🆕 New\r\n- AmneziaWG inbounds can run on an opt-in Linux kernel datapath. It runs NAT-only, with host preflight checks, a bundled installer pinned to verified module commits, and accounting that survives restarts. It never goes through awg-quick, and the master refuses to push kernel mode to nodes that predate it ([#6877](https://github.com/MHSanaei/3x-ui/pull/6877)) @YoungReckless4\r\n- AmneziaWG clients accept a randomised persistent-keepalive range such as `15-25` in `.conf` and `vpn://` profiles ([#6881](https://github.com/MHSanaei/3x-ui/pull/6881)) @YoungReckless4\r\n- The Telegram bot keeps one live screen per chat and edits it in place. The menu is grouped into Server, Clients, Traffic and Maintenance, long lists open through inline search, QR codes arrive as one sheet, and repeated notices collapse into one ([#6760](https://github.com/MHSanaei/3x-ui/pull/6760)) @DIMFLIX\r\n- Admin notifications can go to a forum topic with `chatId:topicId` ([#6879](https://github.com/MHSanaei/3x-ui/pull/6879)) @gr219\r\n- A client can be bound to specific host rules, so its raw, JSON and Clash subscriptions render only those hosts ([#6620](https://github.com/MHSanaei/3x-ui/pull/6620)) @NethminaYasas\r\n- A host can hold a pool of SNIs, picked at random per config or once per subscription fetch for the whole host group ([#6923](https://github.com/MHSanaei/3x-ui/pull/6923)) @Pejman-Yousefi-Official\r\n- A host address can be a CIDR range, expanded into up to 100 unique random IPs per subscription fetch and in panel previews and tunnel exports ([#6784](https://github.com/MHSanaei/3x-ui/pull/6784)) @Pejman-Yousefi-Official\r\n- Hosts can be reordered by drag-and-drop, and an opt-in setting makes every subscription format follow the Hosts page order across inbounds ([#6895](h"},"readme":true,"readme_zh":true,"news":[],"stale":false,"snapshot_at":"2026-11-10T09:35:25Z","history_start":"2026-09-06"}