mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2025-03-01 01:20:49 +03:00
Add iran.dat when updating xray (#870)
we can download iran.dat, because it's one of the required files in our settings
This commit is contained in:
parent
22cf278ce2
commit
24eb36715a
@ -254,7 +254,6 @@ func (s *ServerService) GetXrayVersions() ([]string, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (s *ServerService) StopXrayService() (string error) {
|
func (s *ServerService) StopXrayService() (string error) {
|
||||||
|
|
||||||
err := s.xrayService.StopXray()
|
err := s.xrayService.StopXray()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("stop xray failed:", err)
|
logger.Error("stop xray failed:", err)
|
||||||
@ -265,7 +264,6 @@ func (s *ServerService) StopXrayService() (string error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (s *ServerService) RestartXrayService() (string error) {
|
func (s *ServerService) RestartXrayService() (string error) {
|
||||||
|
|
||||||
s.xrayService.StopXray()
|
s.xrayService.StopXray()
|
||||||
defer func() {
|
defer func() {
|
||||||
err := s.xrayService.RestartXray(true)
|
err := s.xrayService.RestartXray(true)
|
||||||
@ -363,17 +361,47 @@ func (s *ServerService) UpdateXray(version string) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
err = copyZipFile("xray", xray.GetBinaryPath())
|
downloadFile := func(fileName string, url string) error {
|
||||||
if err != nil {
|
os.Remove(fileName)
|
||||||
|
file, err := os.OpenFile(fileName, os.O_CREATE|os.O_RDWR|os.O_TRUNC, fs.ModePerm)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
defer file.Close()
|
||||||
|
resp, err := http.Get(url)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
defer resp.Body.Close()
|
||||||
|
if resp.StatusCode != http.StatusOK {
|
||||||
|
return fmt.Errorf("download file failed: %s", resp.Status)
|
||||||
|
}
|
||||||
|
_, err = io.Copy(file, resp.Body)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
err = copyZipFile("geosite.dat", xray.GetGeositePath())
|
|
||||||
if err != nil {
|
copyFiles := map[string]string{
|
||||||
return err
|
"xray": xray.GetBinaryPath(),
|
||||||
|
"geosite.dat": xray.GetGeositePath(),
|
||||||
|
"geoip.dat": xray.GetGeoipPath(),
|
||||||
}
|
}
|
||||||
err = copyZipFile("geoip.dat", xray.GetGeoipPath())
|
|
||||||
if err != nil {
|
downloadFiles := map[string]string{
|
||||||
return err
|
xray.GetIranPath(): "https://github.com/MasterKia/iran-hosted-domains/releases/latest/download/iran.dat",
|
||||||
|
}
|
||||||
|
|
||||||
|
for fileName, filePath := range copyFiles {
|
||||||
|
err := copyZipFile(fileName, filePath)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for fileName, filePath := range downloadFiles {
|
||||||
|
err := downloadFile(fileName, filePath)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
|
@ -13,6 +13,7 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"sync"
|
"sync"
|
||||||
"syscall"
|
"syscall"
|
||||||
|
|
||||||
"x-ui/config"
|
"x-ui/config"
|
||||||
"x-ui/logger"
|
"x-ui/logger"
|
||||||
"x-ui/util/common"
|
"x-ui/util/common"
|
||||||
@ -40,6 +41,10 @@ func GetGeoipPath() string {
|
|||||||
return config.GetBinFolderPath() + "/geoip.dat"
|
return config.GetBinFolderPath() + "/geoip.dat"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func GetIranPath() string {
|
||||||
|
return config.GetBinFolderPath() + "/iran.dat"
|
||||||
|
}
|
||||||
|
|
||||||
func GetIPLimitLogPath() string {
|
func GetIPLimitLogPath() string {
|
||||||
return config.GetLogFolder() + "/3xipl.log"
|
return config.GetLogFolder() + "/3xipl.log"
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user