diff options
| author | MHSanaei <mc.sanaei@gmail.com> | 2023-02-18 15:37:32 +0300 |
|---|---|---|
| committer | MHSanaei <mc.sanaei@gmail.com> | 2023-02-18 15:37:32 +0300 |
| commit | b412df70f1b2e9f10b75e095a2329f10b48e01b5 (patch) | |
| tree | 9d69f34fc53ce9662996494718a7f6aabab0b648 /web/service/xray.go | |
| parent | fe9844b51b04bb924bb0e5444b493668c9df92a2 (diff) | |
update pack 2
Diffstat (limited to 'web/service/xray.go')
| -rw-r--r-- | web/service/xray.go | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/web/service/xray.go b/web/service/xray.go index 37fd3b05..33425c3c 100644 --- a/web/service/xray.go +++ b/web/service/xray.go @@ -6,6 +6,7 @@ import ( "sync" "x-ui/logger" "x-ui/xray" + "go.uber.org/atomic" ) @@ -50,6 +51,7 @@ func (s *XrayService) GetXrayVersion() string { } return p.GetVersion() } + func RemoveIndex(s []interface{}, index int) []interface{} { return append(s[:index], s[index+1:]...) } @@ -79,25 +81,24 @@ func (s *XrayService) GetXrayConfig() (*xray.Config, error) { // get settings clients settings := map[string]interface{}{} json.Unmarshal([]byte(inbound.Settings), &settings) - clients, ok := settings["clients"].([]interface{}) + clients, ok := settings["clients"].([]interface{}) if ok { // check users active or not clientStats := inbound.ClientStats for _, clientTraffic := range clientStats { - + for index, client := range clients { c := client.(map[string]interface{}) if c["email"] == clientTraffic.Email { - if ! clientTraffic.Enable { - clients = RemoveIndex(clients,index) - logger.Info("Remove Inbound User",c["email"] ,"due the expire or traffic limit") + if !clientTraffic.Enable { + clients = RemoveIndex(clients, index) + logger.Info("Remove Inbound User", c["email"], "due the expire or traffic limit") } } } - } settings["clients"] = clients @@ -105,7 +106,7 @@ func (s *XrayService) GetXrayConfig() (*xray.Config, error) { if err != nil { return nil, err } - + inbound.Settings = string(modifiedSettings) } inboundConfig := inbound.GenXrayInboundConfig() |
