From bc56e637376142c370c31b17558fc3778a863bd2 Mon Sep 17 00:00:00 2001 From: MHSanaei Date: Fri, 17 Mar 2023 01:31:14 +0330 Subject: pack1 --- web/service/inbound.go | 17 ++++++++++------- web/service/server.go | 24 ++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 7 deletions(-) (limited to 'web/service') diff --git a/web/service/inbound.go b/web/service/inbound.go index 450c77f0..b3f3265b 100644 --- a/web/service/inbound.go +++ b/web/service/inbound.go @@ -275,15 +275,18 @@ func (s *InboundService) AddClientTraffic(traffics []*xray.ClientTraffic) (err e for _, traffic := range traffics { inbound := &model.Inbound{} - - err := txInbound.Where("settings like ?", "%"+traffic.Email+"%").First(inbound).Error - traffic.InboundId = inbound.Id + client := &xray.ClientTraffic{} + err := tx.Where("email = ?", traffic.Email).First(client).Error if err != nil { if err == gorm.ErrRecordNotFound { - // delete removed client record - clientErr := s.DelClientStat(tx, traffic.Email) - logger.Warning(err, traffic.Email, clientErr) - + logger.Warning(err, traffic.Email) + } + continue + } + err = txInbound.Where("id=?", client.InboundId).First(inbound).Error + if err != nil { + if err == gorm.ErrRecordNotFound { + logger.Warning(err, traffic.Email) } continue } diff --git a/web/service/server.go b/web/service/server.go index d12c8e27..31716b9f 100644 --- a/web/service/server.go +++ b/web/service/server.go @@ -198,6 +198,30 @@ func (s *ServerService) GetXrayVersions() ([]string, error) { return versions, nil } +func (s *ServerService) StopXrayService() (string error) { + + err := s.xrayService.StopXray() + if err != nil { + logger.Error("stop xray failed:", err) + return err + } + + return nil +} + +func (s *ServerService) RestartXrayService() (string error) { + + s.xrayService.StopXray() + defer func() { + err := s.xrayService.RestartXray(true) + if err != nil { + logger.Error("start xray failed:", err) + } + }() + + return nil +} + func (s *ServerService) downloadXRay(version string) (string, error) { osName := runtime.GOOS arch := runtime.GOARCH -- cgit v1.2.3