e40554a7d53190d0b0f7d886c262685335f9aac8
AddInboundClient and UpdateInboundClient previously accepted an empty Email field for every protocol except shadowsocks (where email doubles as the client ID). Empty emails break downstream features that key off email — IP-limit logging, traffic stats, client-online tracking, subscription remarks. Reject empty/whitespace-only emails at the service layer so the API surface (POST /panel/api/inbounds/addClient and /updateClient/:id) returns a clear error instead of persisting an unidentifiable client. Also drop the stale `len(Email) > 0` guard in UpdateInboundClient that became dead code once empty emails are rejected.
English | فارسی | العربية | 中文 | Español | Русский
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🌟
