Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/MHSanaei/3x-ui.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Movaghari <52345697+mohammadmovaghari@users.noreply.github.com>2023-04-12 16:29:17 +0300
committerGitHub <noreply@github.com>2023-04-12 16:29:17 +0300
commitc575425292e2c4c690728174e42a6f34963394c2 (patch)
treec9b033457baa55a98cea23a8769645f8f3dbd476 /web/service/xray.go
parent63f71e527ceddc724e0bd2893c4946b01f3a5f6c (diff)
parent82b2809fccb6a131b4f84e2ca236f8bea567beae (diff)
Merge branch 'MHSanaei:main' into main
Diffstat (limited to 'web/service/xray.go')
-rw-r--r--web/service/xray.go27
1 files changed, 24 insertions, 3 deletions
diff --git a/web/service/xray.go b/web/service/xray.go
index d9e65f8d..6e63d2d1 100644
--- a/web/service/xray.go
+++ b/web/service/xray.go
@@ -84,15 +84,16 @@ func (s *XrayService) GetXrayConfig() (*xray.Config, error) {
clients, ok := settings["clients"].([]interface{})
if ok {
// check users active or not
-
clientStats := inbound.ClientStats
for _, clientTraffic := range clientStats {
+ indexDecrease := 0
for index, client := range clients {
c := client.(map[string]interface{})
if c["email"] == clientTraffic.Email {
if !clientTraffic.Enable {
- clients = RemoveIndex(clients, index)
+ clients = RemoveIndex(clients, index-indexDecrease)
+ indexDecrease++
logger.Info("Remove Inbound User", c["email"], "due the expire or traffic limit")
}
@@ -101,7 +102,27 @@ func (s *XrayService) GetXrayConfig() (*xray.Config, error) {
}
}
- settings["clients"] = clients
+
+ // clear client config for additional parameters
+ var final_clients []interface{}
+ for _, client := range clients {
+
+ c := client.(map[string]interface{})
+
+ if c["enable"] != nil {
+ if enable, ok := c["enable"].(bool); ok && !enable {
+ continue
+ }
+ }
+ for key := range c {
+ if key != "email" && key != "id" && key != "password" && key != "flow" && key != "alterId" {
+ delete(c, key)
+ }
+ }
+ final_clients = append(final_clients, interface{}(c))
+ }
+
+ settings["clients"] = final_clients
modifiedSettings, err := json.Marshal(settings)
if err != nil {
return nil, err