Spaces:
Paused
Paused
File size: 981 Bytes
48d903a 553c00b 48d903a cbe30d3 553c00b cbe30d3 553c00b 48d903a 553c00b 48d903a 553c00b 48d903a 553c00b cbe30d3 553c00b | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | package version
import (
"io"
"regexp"
"sync"
"time"
"zai-proxy/internal/logger"
"zai-proxy/internal/proxy"
)
var (
feVersion string
versionLock sync.RWMutex
)
func GetFeVersion() string {
versionLock.RLock()
defer versionLock.RUnlock()
return feVersion
}
func fetchFeVersion() {
resp, err := proxy.GetHTTPClient().Get("https://chat.z.ai/")
if err != nil {
logger.LogError("Failed to fetch fe version: %v", err)
return
}
defer resp.Body.Close()
body, err := io.ReadAll(resp.Body)
if err != nil {
logger.LogError("Failed to read fe version response: %v", err)
return
}
re := regexp.MustCompile(`prod-fe-[\.\d]+`)
match := re.FindString(string(body))
if match != "" {
versionLock.Lock()
feVersion = match
versionLock.Unlock()
logger.LogInfo("Updated fe version: %s", match)
}
}
func StartVersionUpdater() {
go func() {
fetchFeVersion()
ticker := time.NewTicker(1 * time.Hour)
for range ticker.C {
fetchFeVersion()
}
}()
}
|