diff options
| author | MHSanaei <ho3ein.sanaei@gmail.com> | 2023-04-11 15:11:04 +0300 |
|---|---|---|
| committer | MHSanaei <ho3ein.sanaei@gmail.com> | 2023-04-11 15:11:04 +0300 |
| commit | 7412bf17a927df4715b65962de5f683dade83395 (patch) | |
| tree | 9a2ae08341c95ff8aa75c84c9b5c823cdb0c921a /web/service | |
| parent | 519f2b462ee3340c959c57f5f92319dc011833e6 (diff) | |
bug fix
Co-Authored-By: Alireza Ahmadi <alireza7@gmail.com>
Diffstat (limited to 'web/service')
| -rw-r--r-- | web/service/inbound.go | 22 | ||||
| -rw-r--r-- | web/service/server.go | 41 |
2 files changed, 53 insertions, 10 deletions
diff --git a/web/service/inbound.go b/web/service/inbound.go index 55d57997..74765ab3 100644 --- a/web/service/inbound.go +++ b/web/service/inbound.go @@ -454,19 +454,21 @@ func (s *InboundService) adjustTraffics(traffics []*xray.ClientTraffic) (full_tr continue } // get settings clients - settings := map[string][]model.Client{} + settings := map[string]interface{}{} json.Unmarshal([]byte(inbound.Settings), &settings) - clients := settings["clients"] + clients, ok := settings["clients"].([]model.Client) needUpdate := false - for client_index, client := range clients { - if traffic.Email == client.Email { - if client.ExpiryTime < 0 { - clients[client_index].ExpiryTime = (time.Now().Unix() * 1000) - client.ExpiryTime - needUpdate = true + if ok { + for client_index, client := range clients { + if traffic.Email == client.Email { + if client.ExpiryTime < 0 { + clients[client_index].ExpiryTime = (time.Now().Unix() * 1000) - client.ExpiryTime + needUpdate = true + } + client_traffic.ExpiryTime = client.ExpiryTime + client_traffic.Total = client.TotalGB + break } - client_traffic.ExpiryTime = client.ExpiryTime - client_traffic.Total = client.TotalGB - break } } diff --git a/web/service/server.go b/web/service/server.go index 91f9399a..c73fce57 100644 --- a/web/service/server.go +++ b/web/service/server.go @@ -13,6 +13,7 @@ import ( "runtime" "strings" "time" + "x-ui/config" "x-ui/logger" "x-ui/util/sys" "x-ui/xray" @@ -349,3 +350,43 @@ func (s *ServerService) GetLogs(count string) ([]string, error) { return lines, nil } + +func (s *ServerService) GetConfigJson() (interface{}, error) { + // Open the file for reading + file, err := os.Open(xray.GetConfigPath()) + if err != nil { + return nil, err + } + defer file.Close() + + // Read the file contents + fileContents, err := io.ReadAll(file) + if err != nil { + return nil, err + } + + var jsonData interface{} + err = json.Unmarshal(fileContents, &jsonData) + if err != nil { + return nil, err + } + + return jsonData, nil +} + +func (s *ServerService) GetDb() ([]byte, error) { + // Open the file for reading + file, err := os.Open(config.GetDBPath()) + if err != nil { + return nil, err + } + defer file.Close() + + // Read the file contents + fileContents, err := io.ReadAll(file) + if err != nil { + return nil, err + } + + return fileContents, nil +} |
