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:
authorMHSanaei <ho3ein.sanaei@gmail.com>2023-03-17 02:05:08 +0300
committerGitHub <noreply@github.com>2023-03-17 02:05:08 +0300
commit688a68aba92759afda1e3d7355bf4f8d07e8d721 (patch)
treec79da826c4dc58ca6b024a419959ed3475599a10 /web/service
parenta3e562896178fadc3df5a921669e75824180ccf8 (diff)
parentbc56e637376142c370c31b17558fc3778a863bd2 (diff)
Merge pull request #25 from MHSanaei/dev
pack
Diffstat (limited to 'web/service')
-rw-r--r--web/service/inbound.go17
-rw-r--r--web/service/server.go24
2 files changed, 34 insertions, 7 deletions
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