From 23077362b1e35988fafe64f15691f848d4e2cd30 Mon Sep 17 00:00:00 2001
From: fL1pSt3r <fils.der@gmail.com>
Date: Sun, 15 Jun 2025 22:07:38 +0300
Subject: [PATCH] converted email addresses to lowercase for compatibility with
 VLESS and Trojan protocol with inbounduser api

---
 proxy/trojan/validator.go | 1 +
 proxy/vless/validator.go  | 1 +
 2 files changed, 2 insertions(+)

diff --git a/proxy/trojan/validator.go b/proxy/trojan/validator.go
index bfe53812..7841a249 100644
--- a/proxy/trojan/validator.go
+++ b/proxy/trojan/validator.go
@@ -53,6 +53,7 @@ func (v *Validator) Get(hash string) *protocol.MemoryUser {
 
 // Get a trojan user with hashed key, nil if user doesn't exist.
 func (v *Validator) GetByEmail(email string) *protocol.MemoryUser {
+	email = strings.ToLower(email)
 	u, _ := v.email.Load(email)
 	if u != nil {
 		return u.(*protocol.MemoryUser)
diff --git a/proxy/vless/validator.go b/proxy/vless/validator.go
index ddac6cbb..d1356c5f 100644
--- a/proxy/vless/validator.go
+++ b/proxy/vless/validator.go
@@ -63,6 +63,7 @@ func (v *MemoryValidator) Get(id uuid.UUID) *protocol.MemoryUser {
 
 // Get a VLESS user with email, nil if user doesn't exist.
 func (v *MemoryValidator) GetByEmail(email string) *protocol.MemoryUser {
+	email = strings.ToLower(email)
 	u, _ := v.email.Load(email)
 	if u != nil {
 		return u.(*protocol.MemoryUser)