diff --git a/basics b/basics deleted file mode 100755 index 15559c37..00000000 Binary files a/basics and /dev/null differ diff --git a/go.mod b/go.mod index 0d4b3d35..8562d345 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ require ( github.com/imroc/req/v3 v3.54.0 github.com/oneclickvirt/CommonMediaTests v0.0.4-20250329123841 github.com/oneclickvirt/UnlockTests v0.0.28-20250727155204 - github.com/oneclickvirt/backtrace v0.0.5-20250727160732 + github.com/oneclickvirt/backtrace v0.0.6-20250801151556 github.com/oneclickvirt/basics v0.0.15-20250728021329 github.com/oneclickvirt/cputest v0.0.12-20250720122317 github.com/oneclickvirt/defaultset v0.0.2-20240624082446 diff --git a/go.sum b/go.sum index 1718f81e..2f74ab55 100644 --- a/go.sum +++ b/go.sum @@ -98,8 +98,8 @@ github.com/oneclickvirt/CommonMediaTests v0.0.4-20250329123841 h1:Zef93z9UiZQwRA github.com/oneclickvirt/CommonMediaTests v0.0.4-20250329123841/go.mod h1:DAmFPRjFV5p9fEzUUSml5jJGn2f1NZJQCzTxITHDjc4= github.com/oneclickvirt/UnlockTests v0.0.28-20250727155204 h1:apFaEbHGKflYMZzK17nXzEai4GG873mTd+d9hCO/KdY= github.com/oneclickvirt/UnlockTests v0.0.28-20250727155204/go.mod h1:oOa6wj/qECtRMxwBO6D7o0L0F0Q/5sQ747OCnFQqoGE= -github.com/oneclickvirt/backtrace v0.0.5-20250727160732 h1:izs46j9hYYOOXcdtBX7y9PSlzLlxWSiC2+4rQ8P0DxA= -github.com/oneclickvirt/backtrace v0.0.5-20250727160732/go.mod h1:yxL1ixDmOmEt8NkHnMIetsTXJW8xMslUpEY2L8sYZ4Y= +github.com/oneclickvirt/backtrace v0.0.6-20250801151556 h1:qxCHjNkaUH2z4buO5qrqqXE1XPB0bTU3wfkCEp8G51w= +github.com/oneclickvirt/backtrace v0.0.6-20250801151556/go.mod h1:/+KUtOWz48TyiTTbhVTsp3D6b5WY+4pCgvFBYtUGtns= github.com/oneclickvirt/basics v0.0.15-20250728021329 h1:bXat5W1twZdOdzJ15BFZUYsjAEcTH9ly9oMDIg5+Rbo= github.com/oneclickvirt/basics v0.0.15-20250728021329/go.mod h1:2PV+1ge01zb0Sqzj2V2I7P0wAdFSLF1XgAiumchJJbg= github.com/oneclickvirt/cputest v0.0.12-20250720122317 h1:toiwAK1hZE5b8klu2mOQ7J4sv5yV9lpPKwgPahfRYBQ= diff --git a/goecs.go b/goecs.go index 8573743d..8ce70e11 100644 --- a/goecs.go +++ b/goecs.go @@ -17,8 +17,6 @@ import ( "github.com/oneclickvirt/CommonMediaTests/commediatests" unlocktestmodel "github.com/oneclickvirt/UnlockTests/model" - "github.com/oneclickvirt/UnlockTests/uts" - backtrace "github.com/oneclickvirt/backtrace/bk" backtracemodel "github.com/oneclickvirt/backtrace/model" basicmodel "github.com/oneclickvirt/basics/model" cputestmodel "github.com/oneclickvirt/cputest/model" @@ -28,6 +26,7 @@ import ( "github.com/oneclickvirt/ecs/memorytest" "github.com/oneclickvirt/ecs/speedtest" "github.com/oneclickvirt/ecs/unlocktest" + "github.com/oneclickvirt/ecs/upstreams" "github.com/oneclickvirt/ecs/utils" gostunmodel "github.com/oneclickvirt/gostun/model" memorytestmodel "github.com/oneclickvirt/memorytest/memory" @@ -691,12 +690,8 @@ func runNetworkTests(wg3 *sync.WaitGroup, ptInfo *string, output, tempOutput str defer outputMutex.Unlock() output = utils.PrintAndCapture(func() { if backtraceStatus && !onlyChinaTest { - utils.PrintCenteredTitle("三网回程线路检测", width) - if uts.IPV6 { - backtrace.BackTrace(true) - } else { - backtrace.BackTrace(false) - } + utils.PrintCenteredTitle("上游及回程线路检测", width) + upstreams.UpstreamsCheck() } }, tempOutput, output) output = utils.PrintAndCapture(func() { diff --git a/upstreams/upstreams.go b/upstreams/upstreams.go new file mode 100644 index 00000000..cd233547 --- /dev/null +++ b/upstreams/upstreams.go @@ -0,0 +1,38 @@ +package upstreams + +import ( + "encoding/json" + "fmt" + "net/http" + + "github.com/oneclickvirt/UnlockTests/uts" + bgptools "github.com/oneclickvirt/backtrace/bgptools" + backtrace "github.com/oneclickvirt/backtrace/bk" +) + +type IpInfo struct { + Ip string `json:"ip"` + City string `json:"city"` + Region string `json:"region"` + Country string `json:"country"` + Org string `json:"org"` +} + +func UpstreamsCheck() { + info := IpInfo{} + rsp, err := http.Get("http://ipinfo.io") + if err == nil { + err = json.NewDecoder(rsp.Body).Decode(&info) + if err == nil { + result, err := bgptools.GetPoPInfo(info.Ip) + if err == nil { + fmt.Print(result.Result) + } + } + } + if uts.IPV6 { + backtrace.BackTrace(true) + } else { + backtrace.BackTrace(false) + } +} diff --git a/upstreams/uptreams_test.go b/upstreams/uptreams_test.go new file mode 100644 index 00000000..debd0ff9 --- /dev/null +++ b/upstreams/uptreams_test.go @@ -0,0 +1,7 @@ +package upstreams + +import "testing" + +func TestUpstreamsCheck(t *testing.T) { + UpstreamsCheck() +}