Xray panel supporting multi-protocol multi-user expire day & traffic & IP limit (Vmess, Vless, Trojan, ShadowSocks, Wireguard, Hysteria, Tunnel, Mixed, HTTP, Tun) https://t.me/XrayUI
Find a file
MHSanaei d8aedcdde4
fix(inbounds): bulk-delete keeps last client to satisfy backend constraint
DelClient rejects the removal that would leave an inbound with zero
clients (the constraint exists because Xray protocols need at least
one client to keep the inbound functional). The bulk-delete flow
fired one DelClient call per picked client in a loop, so picking
every client meant the final iteration always errored out with
"no client remained in Inbound" and surfaced as a red toast even
though N-1 deletions had already gone through.

Now confirmBulkDelete detects the "all selected" case up front,
drops the last client from the request, and surfaces the partial
operation in the confirm dialog ("N-1 / N — last selected will
remain. Delete the inbound to remove all."). The pre-existing
single-row delete path and partial-selection bulk delete paths are
untouched. If the only client in the inbound is selected, a
Modal.warning explains the constraint instead of asking for confirm.
2026-05-11 10:22:52 +02:00
.github fix(docker): pin frontend stage to BUILDPLATFORM and drop removed buildx input 2026-05-10 17:22:15 +02:00
.vscode DevTools 2025-10-02 01:47:12 +02:00
config v3.0.0 2026-05-10 17:15:48 +02:00
database feat(nodes): traffic-writer queue, full-mirror sync, WS event fixes 2026-05-10 16:25:23 +02:00
frontend fix(inbounds): bulk-delete keeps last client to satisfy backend constraint 2026-05-11 10:22:52 +02:00
logger v3 2026-05-10 02:13:42 +02:00
media donate: nowpayments 2025-09-18 20:14:10 +02:00
sub chore: fix remarks shadowrocket subscription (#4247) 2026-05-11 08:24:22 +02:00
util v3 2026-05-10 02:13:42 +02:00
web feat(xray/nord): searchable server list + colored load tag, surface API errors 2026-05-11 10:06:01 +02:00
windows_files Update OpenSSL installer to version 3.6.0 2026-01-05 18:49:30 +01:00
xray Fix overly permissive file permissions (os.ModePerm) (#4207) 2026-05-10 14:47:28 +02:00
.env.example fix: display of outbound traffic (#3604) 2025-12-23 15:43:25 +01:00
.gitignore feat(nodes): traffic-writer queue, full-mirror sync, WS event fixes 2026-05-10 16:25:23 +02:00
CONTRIBUTING.md fix: display of outbound traffic (#3604) 2025-12-23 15:43:25 +01:00
docker-compose.yml fix: enhance WebSocket stability, resolve XHTTP configurations and fix UI loading shifts (#3997) 2026-04-19 21:01:00 +02:00
DockerEntrypoint.sh fix(fail2ban): escape % in 3x-ipl action date format (#4218) 2026-05-10 19:26:21 +02:00
Dockerfile fix(docker): pin frontend stage to BUILDPLATFORM and drop removed buildx input 2026-05-10 17:22:15 +02:00
DockerInit.sh Revert "Xray Core v26.5.3" buggy version(vless reverse doesn't work) 2026-05-06 08:52:36 +02:00
go.mod v3 2026-05-10 02:13:42 +02:00
go.sum Bump Go to 1.26.3 2026-05-08 00:19:05 +02:00
install.sh feat(install): add skip-SSL option for reverse-proxy / SSH-tunnel setups 2026-05-11 02:46:47 +02:00
LICENSE 3x-ui 2023-02-09 22:48:06 +03:30
main.go v3 2026-05-10 02:13:42 +02:00
README.ar_EG.md feat(nodes): traffic-writer queue, full-mirror sync, WS event fixes 2026-05-10 16:25:23 +02:00
README.es_ES.md feat(nodes): traffic-writer queue, full-mirror sync, WS event fixes 2026-05-10 16:25:23 +02:00
README.fa_IR.md feat(nodes): traffic-writer queue, full-mirror sync, WS event fixes 2026-05-10 16:25:23 +02:00
README.md feat(nodes): traffic-writer queue, full-mirror sync, WS event fixes 2026-05-10 16:25:23 +02:00
README.ru_RU.md feat(nodes): traffic-writer queue, full-mirror sync, WS event fixes 2026-05-10 16:25:23 +02:00
README.zh_CN.md feat(nodes): traffic-writer queue, full-mirror sync, WS event fixes 2026-05-10 16:25:23 +02:00
update.sh fix(scripts): harden server-IP detection with multi-provider + manual fallback 2026-05-08 00:51:28 +02:00
x-ui.rc fix(alpine): restart_xray uses rc-service; OpenRC reload reads pidfile contents 2026-05-11 09:05:36 +02:00
x-ui.service.arch fix(arch): correct x-ui service path (#4213) 2026-05-10 17:17:33 +02:00
x-ui.service.debian [feat] restart xray-core from cli #3825 2026-02-20 00:03:16 +01:00
x-ui.service.rhel [feat] restart xray-core from cli #3825 2026-02-20 00:03:16 +01:00
x-ui.sh fix(alpine): restart_xray uses rc-service; OpenRC reload reads pidfile contents 2026-05-11 09:05:36 +02:00

English | فارسی | العربية | 中文 | Español | Русский

3x-ui

Release Build GO Version Downloads License Go Reference Go Report Card

3X-UI — advanced, open-source web-based control panel designed for managing Xray-core server. It offers a user-friendly interface for configuring and monitoring various VPN and proxy protocols.

Important

This project is only for personal usage, please do not use it for illegal purposes, and please do not use it in a production environment.

As an enhanced fork of the original X-UI project, 3X-UI provides improved stability, broader protocol support, and additional features.

Quick Start

bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)

For full documentation, please visit the project Wiki.

A Special Thanks to

Acknowledgment

  • Iran v2ray rules (License: GPL-3.0): Enhanced v2ray/xray and v2ray/xray-clients routing rules with built-in Iranian domains and a focus on security and adblocking.
  • Russia v2ray rules (License: GPL-3.0): This repository contains automatically updated V2Ray routing rules based on data on blocked domains and addresses in Russia.

Support project

If this project is helpful to you, you may wish to give it a🌟

Buy Me A Coffee
Crypto donation button by NOWPayments

Stargazers over Time

Stargazers over time