v0 agent final version (#90)

This commit is contained in:
naiba 2024-11-23 22:28:51 +08:00 committed by GitHub
parent 069fc302fe
commit 34faa8d63a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -17,9 +17,7 @@ import (
"strings"
"time"
"github.com/blang/semver"
"github.com/ebi-yade/altsvc-go"
"github.com/nezhahq/go-github-selfupdate/selfupdate"
"github.com/nezhahq/service"
ping "github.com/prometheus-community/pro-bing"
"github.com/quic-go/quic-go/http3"
@ -227,14 +225,14 @@ func run() {
go monitor.UpdateIP(agentCliParam.UseIPv6CountryCode, agentCliParam.IPReportPeriod)
// 定时检查更新
if _, err := semver.Parse(version); err == nil && !agentCliParam.DisableAutoUpdate {
doSelfUpdate(true)
go func() {
for range time.Tick(20 * time.Minute) {
doSelfUpdate(true)
}
}()
}
// if _, err := semver.Parse(version); err == nil && !agentCliParam.DisableAutoUpdate {
// doSelfUpdate(true)
// go func() {
// for range time.Tick(20 * time.Minute) {
// doSelfUpdate(true)
// }
// }()
// }
var err error
var conn *grpc.ClientConn
@ -383,8 +381,8 @@ func doTask(task *pb.Task) {
handleTcpPingTask(task, &result)
case model.TaskTypeCommand:
handleCommandTask(task, &result)
case model.TaskTypeUpgrade:
handleUpgradeTask(task, &result)
// case model.TaskTypeUpgrade:
// handleUpgradeTask(task, &result)
case model.TaskTypeTerminalGRPC:
handleTerminalTask(task)
return
@ -443,36 +441,36 @@ func reportState(lastReportHostInfo time.Time) time.Time {
return lastReportHostInfo
}
// doSelfUpdate 执行更新检查 如果更新成功则会结束进程
func doSelfUpdate(useLocalVersion bool) {
v := semver.MustParse("0.1.0")
if useLocalVersion {
v = semver.MustParse(version)
}
printf("检查更新: %v", v)
var latest *selfupdate.Release
var err error
if monitor.CachedCountryCode != "cn" && !agentCliParam.UseGiteeToUpgrade {
latest, err = selfupdate.UpdateSelf(v, "nezhahq/agent")
} else {
latest, err = selfupdate.UpdateSelfGitee(v, "naibahq/agent")
}
if err != nil {
printf("更新失败: %v", err)
return
}
if !latest.Version.Equals(v) {
printf("已经更新至: %v, 正在结束进程", latest.Version)
os.Exit(1)
}
}
// // doSelfUpdate 执行更新检查 如果更新成功则会结束进程
// func doSelfUpdate(useLocalVersion bool) {
// v := semver.MustParse("0.1.0")
// if useLocalVersion {
// v = semver.MustParse(version)
// }
// printf("检查更新: %v", v)
// var latest *selfupdate.Release
// var err error
// if monitor.CachedCountryCode != "cn" && !agentCliParam.UseGiteeToUpgrade {
// latest, err = selfupdate.UpdateSelf(v, "nezhahq/agent")
// } else {
// latest, err = selfupdate.UpdateSelfGitee(v, "naibahq/agent")
// }
// if err != nil {
// printf("更新失败: %v", err)
// return
// }
// if !latest.Version.Equals(v) {
// printf("已经更新至: %v, 正在结束进程", latest.Version)
// os.Exit(1)
// }
// }
func handleUpgradeTask(*pb.Task, *pb.TaskResult) {
if agentCliParam.DisableForceUpdate {
return
}
doSelfUpdate(false)
}
// func handleUpgradeTask(*pb.Task, *pb.TaskResult) {
// if agentCliParam.DisableForceUpdate {
// return
// }
// doSelfUpdate(false)
// }
func handleTcpPingTask(task *pb.Task, result *pb.TaskResult) {
host, port, err := net.SplitHostPort(task.GetData())