mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2025-07-01 12:32:09 +00:00
add service function to search data files
This commit is contained in:
parent
95e006963c
commit
cf7d50617b
1 changed files with 27 additions and 0 deletions
|
@ -1,10 +1,12 @@
|
||||||
package service
|
package service
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"bufio"
|
||||||
_ "embed"
|
_ "embed"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"os"
|
||||||
"reflect"
|
"reflect"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
|
@ -16,6 +18,7 @@ import (
|
||||||
"x-ui/util/random"
|
"x-ui/util/random"
|
||||||
"x-ui/util/reflect_util"
|
"x-ui/util/reflect_util"
|
||||||
"x-ui/web/entity"
|
"x-ui/web/entity"
|
||||||
|
"x-ui/xray"
|
||||||
)
|
)
|
||||||
|
|
||||||
//go:embed config.json
|
//go:embed config.json
|
||||||
|
@ -351,3 +354,27 @@ func (s *SettingService) UpdateAllSetting(allSetting *entity.AllSetting) error {
|
||||||
}
|
}
|
||||||
return common.Combine(errs...)
|
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
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue