mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2025-04-19 13:32:24 +00:00
Xray core buggy version removed
only v24.10.16 or newer and v1.8.24
This commit is contained in:
parent
e359b5c75e
commit
0e3691fdbd
1 changed files with 28 additions and 10 deletions
|
@ -248,28 +248,46 @@ func (s *ServerService) GetStatus(lastStatus *Status) *Status {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *ServerService) GetXrayVersions() ([]string, error) {
|
func (s *ServerService) GetXrayVersions() ([]string, error) {
|
||||||
url := "https://api.github.com/repos/XTLS/Xray-core/releases"
|
const (
|
||||||
resp, err := http.Get(url)
|
XrayURL = "https://api.github.com/repos/XTLS/Xray-core/releases"
|
||||||
|
bufferSize = 8192
|
||||||
|
)
|
||||||
|
|
||||||
|
resp, err := http.Get(XrayURL)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
defer resp.Body.Close()
|
defer resp.Body.Close()
|
||||||
buffer := bytes.NewBuffer(make([]byte, 8192))
|
|
||||||
|
buffer := bytes.NewBuffer(make([]byte, bufferSize))
|
||||||
buffer.Reset()
|
buffer.Reset()
|
||||||
_, err = buffer.ReadFrom(resp.Body)
|
if _, err := buffer.ReadFrom(resp.Body); err != nil {
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
releases := make([]Release, 0)
|
var releases []Release
|
||||||
err = json.Unmarshal(buffer.Bytes(), &releases)
|
if err := json.Unmarshal(buffer.Bytes(), &releases); err != nil {
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
var versions []string
|
var versions []string
|
||||||
for _, release := range releases {
|
for _, release := range releases {
|
||||||
if release.TagName >= "v1.7.5" {
|
tagVersion := strings.TrimPrefix(release.TagName, "v")
|
||||||
|
tagParts := strings.Split(tagVersion, ".")
|
||||||
|
if len(tagParts) != 3 {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
major, err1 := strconv.Atoi(tagParts[0])
|
||||||
|
minor, err2 := strconv.Atoi(tagParts[1])
|
||||||
|
patch, err3 := strconv.Atoi(tagParts[2])
|
||||||
|
if err1 != nil || err2 != nil || err3 != nil {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
if (major == 1 && minor == 8 && patch == 24) ||
|
||||||
|
(major == 24 && ((minor > 10) || (minor == 10 && patch >= 16))) ||
|
||||||
|
(major > 24) {
|
||||||
versions = append(versions, release.TagName)
|
versions = append(versions, release.TagName)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue