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:
authorHo3ein <ho3ein.sanaei@gmail.com>2023-05-13 12:48:36 +0300
committerGitHub <noreply@github.com>2023-05-13 12:48:36 +0300
commit5468069befd602a7ae51deb5b76150ee16d426d6 (patch)
treea41b4492b37e52e033b2f4e027da05ce8893ae50 /web/service
parent3bec9ee2737d0a8c49f4d705f1d8c8925bb8a2a8 (diff)
parent0cce35784eb2ab8ce42e88bdf63e0284254d2e14 (diff)
Merge pull request #420 from hamid-gh98/main
[fix] russia domains in settings and More....
Diffstat (limited to 'web/service')
-rw-r--r--web/service/server.go4
-rw-r--r--web/service/setting.go27
-rw-r--r--web/service/sub.go4
3 files changed, 31 insertions, 4 deletions
diff --git a/web/service/server.go b/web/service/server.go
index d8a2239b..d0ca6e21 100644
--- a/web/service/server.go
+++ b/web/service/server.go
@@ -179,7 +179,7 @@ func (s *ServerService) GetStatus(lastStatus *Status) *Status {
}
func (s *ServerService) GetXrayVersions() ([]string, error) {
- url := "https://api.github.com/repos/mhsanaei/Xray-core/releases"
+ url := "https://api.github.com/repos/MHSanaei/Xray-core/releases"
resp, err := http.Get(url)
if err != nil {
return nil, err
@@ -246,7 +246,7 @@ func (s *ServerService) downloadXRay(version string) (string, error) {
}
fileName := fmt.Sprintf("Xray-%s-%s.zip", osName, arch)
- url := fmt.Sprintf("https://github.com/mhsanaei/Xray-core/releases/download/%s/%s", version, fileName)
+ url := fmt.Sprintf("https://github.com/MHSanaei/Xray-core/releases/download/%s/%s", version, fileName)
resp, err := http.Get(url)
if err != nil {
return "", err
diff --git a/web/service/setting.go b/web/service/setting.go
index d3072252..6635bf48 100644
--- a/web/service/setting.go
+++ b/web/service/setting.go
@@ -1,10 +1,12 @@
package service
import (
+ "bufio"
_ "embed"
"encoding/json"
"errors"
"fmt"
+ "os"
"reflect"
"strconv"
"strings"
@@ -16,6 +18,7 @@ import (
"x-ui/util/random"
"x-ui/util/reflect_util"
"x-ui/web/entity"
+ "x-ui/xray"
)
//go:embed config.json
@@ -351,3 +354,27 @@ func (s *SettingService) UpdateAllSetting(allSetting *entity.AllSetting) error {
}
return common.Combine(errs...)
}
+
+func (s *SettingService) SearchDatafiles(query string) (bool, error) {
+ // Open the file for reading
+ file, err := os.Open(xray.GetGeositePath())
+ if err != nil {
+ return false, common.NewErrorf("Error opening geosite.dat: %v", err)
+ }
+ defer file.Close()
+
+ // Create a scanner to read the file line-by-line
+ scanner := bufio.NewScanner(file)
+ for scanner.Scan() {
+ line := scanner.Text()
+ if strings.Contains(strings.ToLower(line), strings.ToLower(query)) {
+ return true, nil
+ }
+ }
+
+ err = scanner.Err()
+ if err != nil {
+ return false, common.NewErrorf("Error while scanning geosite.dat: %v", err)
+ }
+ return false, nil
+}
diff --git a/web/service/sub.go b/web/service/sub.go
index 9a86c3eb..bc34366f 100644
--- a/web/service/sub.go
+++ b/web/service/sub.go
@@ -38,7 +38,7 @@ func (s *SubService) GetSubs(subId string, host string) ([]string, string, error
continue
}
for _, client := range clients {
- if client.SubID == subId {
+ if client.Enable && client.SubID == subId {
link := s.getLink(inbound, client.Email)
result = append(result, link)
clientTraffics = append(clientTraffics, s.getClientTraffics(inbound.ClientStats, client.Email))
@@ -73,7 +73,7 @@ func (s *SubService) GetSubs(subId string, host string) ([]string, string, error
func (s *SubService) getInboundsBySubId(subId string) ([]*model.Inbound, error) {
db := database.GetDB()
var inbounds []*model.Inbound
- err := db.Model(model.Inbound{}).Preload("ClientStats").Where("settings like ?", fmt.Sprintf(`%%"subId": "%s"%%`, subId)).Find(&inbounds).Error
+ err := db.Model(model.Inbound{}).Preload("ClientStats").Where("settings like ? and enable = ?", fmt.Sprintf(`%%"subId": "%s"%%`, subId), true).Find(&inbounds).Error
if err != nil && err != gorm.ErrRecordNotFound {
return nil, err
}