Compare commits

...

4 Commits

Author SHA1 Message Date
spiritysdx
b33598b847 update 2024-06-30 11:23:36 +08:00
spiritysdx
e7fbc126a1 update 2024-06-30 11:09:01 +08:00
spiritysdx
b92025f26c update 2024-06-30 00:17:09 +08:00
spiritysdx
8ffd121261 update 2024-06-29 23:55:34 +08:00
5 changed files with 130 additions and 69 deletions

6
go.mod
View File

@@ -3,11 +3,11 @@ module github.com/oneclickvirt/ecs
go 1.22.4 go 1.22.4
require ( require (
github.com/oneclickvirt/CommonMediaTests v0.0.1-20240624094420 github.com/oneclickvirt/CommonMediaTests v0.0.2-20240630023003
github.com/oneclickvirt/UnlockTests v0.0.7-20240624115527 github.com/oneclickvirt/UnlockTests v0.0.9-20240630032239
github.com/oneclickvirt/backtrace v0.0.4-20240624090335 github.com/oneclickvirt/backtrace v0.0.4-20240624090335
github.com/oneclickvirt/basics v0.0.3-20240625075226 github.com/oneclickvirt/basics v0.0.3-20240625075226
github.com/oneclickvirt/cputest v0.0.4-20240629151354 github.com/oneclickvirt/cputest v0.0.5-20240630022206
github.com/oneclickvirt/defaultset v0.0.2-20240624082446 github.com/oneclickvirt/defaultset v0.0.2-20240624082446
github.com/oneclickvirt/disktest v0.0.3-20240629152513 github.com/oneclickvirt/disktest v0.0.3-20240629152513
github.com/oneclickvirt/memorytest v0.0.1-20240624151629 github.com/oneclickvirt/memorytest v0.0.1-20240624151629

16
go.sum
View File

@@ -85,22 +85,20 @@ github.com/moul/http2curl v1.0.0 h1:dRMWoAtb+ePxMlLkrCbAqh4TlPHXvoGUSQ323/9Zahs=
github.com/moul/http2curl v1.0.0/go.mod h1:8UbvGypXm98wA/IqH45anm5Y2Z6ep6O31QGOAZ3H0fQ= github.com/moul/http2curl v1.0.0/go.mod h1:8UbvGypXm98wA/IqH45anm5Y2Z6ep6O31QGOAZ3H0fQ=
github.com/nxtrace/NTrace-core v1.3.1 h1:f4z5UaZEuhUP/g6xElpZ2bo+guWITJVrMKrJTqd27oc= github.com/nxtrace/NTrace-core v1.3.1 h1:f4z5UaZEuhUP/g6xElpZ2bo+guWITJVrMKrJTqd27oc=
github.com/nxtrace/NTrace-core v1.3.1/go.mod h1:0Px/Zc60qk6cssmP+yv4kstFxvX9sXqDduoVqBO+qf8= github.com/nxtrace/NTrace-core v1.3.1/go.mod h1:0Px/Zc60qk6cssmP+yv4kstFxvX9sXqDduoVqBO+qf8=
github.com/oneclickvirt/CommonMediaTests v0.0.1-20240624094420 h1:CBsjuTpAtangTNkfLQDWEDPz3VcBjGHd8WCtifCmTlI= github.com/oneclickvirt/CommonMediaTests v0.0.2-20240630023003 h1:8jQFqDK5m7V9xlLBk8rSUYDyi3u5xzf5kqwEx5b+/7g=
github.com/oneclickvirt/CommonMediaTests v0.0.1-20240624094420/go.mod h1:DAmFPRjFV5p9fEzUUSml5jJGn2f1NZJQCzTxITHDjc4= github.com/oneclickvirt/CommonMediaTests v0.0.2-20240630023003/go.mod h1:DAmFPRjFV5p9fEzUUSml5jJGn2f1NZJQCzTxITHDjc4=
github.com/oneclickvirt/UnlockTests v0.0.7-20240624115527 h1:rMC+aLDkvOe9K+AXjUt/IMAOx1LieyBv6DN/0/2ww7Q= github.com/oneclickvirt/UnlockTests v0.0.7-20240624115527 h1:rMC+aLDkvOe9K+AXjUt/IMAOx1LieyBv6DN/0/2ww7Q=
github.com/oneclickvirt/UnlockTests v0.0.7-20240624115527/go.mod h1:HP3CvAS+AJWxxY+BVbxIOlvaQ87YOSge89vAMG52b5o= github.com/oneclickvirt/UnlockTests v0.0.7-20240624115527/go.mod h1:HP3CvAS+AJWxxY+BVbxIOlvaQ87YOSge89vAMG52b5o=
github.com/oneclickvirt/UnlockTests v0.0.9-20240630032239 h1:b2tf2AVZtTmDvOOtm7tmeOCqFJPm7fe2mF/0Kk15Mhk=
github.com/oneclickvirt/UnlockTests v0.0.9-20240630032239/go.mod h1:HP3CvAS+AJWxxY+BVbxIOlvaQ87YOSge89vAMG52b5o=
github.com/oneclickvirt/backtrace v0.0.4-20240624090335 h1:0LP5KyA6GLlqQAtOF0uyBSAykHJrzOA96Eb87qUhGQw= github.com/oneclickvirt/backtrace v0.0.4-20240624090335 h1:0LP5KyA6GLlqQAtOF0uyBSAykHJrzOA96Eb87qUhGQw=
github.com/oneclickvirt/backtrace v0.0.4-20240624090335/go.mod h1:zvsC7xY/WZqs5KL2JB967OVnuqjNbxu9bW6wXRLo5h8= github.com/oneclickvirt/backtrace v0.0.4-20240624090335/go.mod h1:zvsC7xY/WZqs5KL2JB967OVnuqjNbxu9bW6wXRLo5h8=
github.com/oneclickvirt/basics v0.0.3-20240625075226 h1:K9VriCHIYnXPZXBSn9PRQX+jBS6AIFH8tBVb/i8VGAw= github.com/oneclickvirt/basics v0.0.3-20240625075226 h1:K9VriCHIYnXPZXBSn9PRQX+jBS6AIFH8tBVb/i8VGAw=
github.com/oneclickvirt/basics v0.0.3-20240625075226/go.mod h1:dTB+/oyFQYfTYX55rFJVWatum5F9g62zjfmHCM6Vj1s= github.com/oneclickvirt/basics v0.0.3-20240625075226/go.mod h1:dTB+/oyFQYfTYX55rFJVWatum5F9g62zjfmHCM6Vj1s=
github.com/oneclickvirt/cputest v0.0.2-20240624103336 h1:7rrVqE1ODzuItuAXcU1/w4lUOxD7hXXB+c2weoO4eZk= github.com/oneclickvirt/cputest v0.0.5-20240630022206 h1:L+Su9CNpERf7ZwJZPhvasZdXrlEt6VfqZQpuaPntzkI=
github.com/oneclickvirt/cputest v0.0.2-20240624103336/go.mod h1:wh4fGT3KFG9qztew5eBL9EfWr8WeZPBLsq60ZzudU4g= github.com/oneclickvirt/cputest v0.0.5-20240630022206/go.mod h1:wh4fGT3KFG9qztew5eBL9EfWr8WeZPBLsq60ZzudU4g=
github.com/oneclickvirt/cputest v0.0.4-20240629151354 h1:UkczgwTdBQUAzmyTUslwqOXSzEwNpBYIQF3RPcSZiH8=
github.com/oneclickvirt/cputest v0.0.4-20240629151354/go.mod h1:wh4fGT3KFG9qztew5eBL9EfWr8WeZPBLsq60ZzudU4g=
github.com/oneclickvirt/defaultset v0.0.2-20240624082446 h1:5Pg3mK/u/vQvSz7anu0nxzrNdELi/AcDAU1mMsmPzyc= github.com/oneclickvirt/defaultset v0.0.2-20240624082446 h1:5Pg3mK/u/vQvSz7anu0nxzrNdELi/AcDAU1mMsmPzyc=
github.com/oneclickvirt/defaultset v0.0.2-20240624082446/go.mod h1:e9Jt4tf2sbemCtc84/XgKcHy9EZ2jkc5x2sW1NiJS+E= github.com/oneclickvirt/defaultset v0.0.2-20240624082446/go.mod h1:e9Jt4tf2sbemCtc84/XgKcHy9EZ2jkc5x2sW1NiJS+E=
github.com/oneclickvirt/disktest v0.0.2-20240624145436 h1:c3bt6kB3FKtrMP/tGUIQWTadoiZwP9zcUkaSdsPF9mQ=
github.com/oneclickvirt/disktest v0.0.2-20240624145436/go.mod h1:x7VAJF0Ks05FyE4BI5xedXNKmwbeXfp8GCRALAIlueI=
github.com/oneclickvirt/disktest v0.0.3-20240629152513 h1:ZW7MBMd2HxQi1ktg/ztVI2A10JzF4ZI6I7ATZvcK9w8= github.com/oneclickvirt/disktest v0.0.3-20240629152513 h1:ZW7MBMd2HxQi1ktg/ztVI2A10JzF4ZI6I7ATZvcK9w8=
github.com/oneclickvirt/disktest v0.0.3-20240629152513/go.mod h1:x7VAJF0Ks05FyE4BI5xedXNKmwbeXfp8GCRALAIlueI= github.com/oneclickvirt/disktest v0.0.3-20240629152513/go.mod h1:x7VAJF0Ks05FyE4BI5xedXNKmwbeXfp8GCRALAIlueI=
github.com/oneclickvirt/gostun v0.0.2-20240625025941 h1:h+ZL8jkjXR6QE0qEX34FjWTv89+lNj2fEkWx5Agpgzc= github.com/oneclickvirt/gostun v0.0.2-20240625025941 h1:h+ZL8jkjXR6QE0qEX34FjWTv89+lNj2fEkWx5Agpgzc=
@@ -113,8 +111,6 @@ github.com/oneclickvirt/portchecker v0.0.1-20240624155429 h1:+wapaOcFrg1iWJDhBKT
github.com/oneclickvirt/portchecker v0.0.1-20240624155429/go.mod h1:HQxSTrqM8/QFqHMTBZ7S8H9eEO5FkUXU1eb7ZX5Mk+k= github.com/oneclickvirt/portchecker v0.0.1-20240624155429/go.mod h1:HQxSTrqM8/QFqHMTBZ7S8H9eEO5FkUXU1eb7ZX5Mk+k=
github.com/oneclickvirt/security v0.0.1-20240625075931 h1:Vj1Wq/JVcqYpfqUWRtsITbz3zM4HxnLC0iPxxA6akP0= github.com/oneclickvirt/security v0.0.1-20240625075931 h1:Vj1Wq/JVcqYpfqUWRtsITbz3zM4HxnLC0iPxxA6akP0=
github.com/oneclickvirt/security v0.0.1-20240625075931/go.mod h1:6bjZjpYJ8M3aRIcLP61b0mjYRwvtWbYkvoGjS28Bdy4= github.com/oneclickvirt/security v0.0.1-20240625075931/go.mod h1:6bjZjpYJ8M3aRIcLP61b0mjYRwvtWbYkvoGjS28Bdy4=
github.com/oneclickvirt/speedtest v0.0.3-20240629093211 h1:SU1aGYLpszp3csg599PjlrI/u32KNlHC/FiCx2ucn6w=
github.com/oneclickvirt/speedtest v0.0.3-20240629093211/go.mod h1:JNIxUbEJD12w81b7754RLHD55fsH6wHj+fCV2PqBDhk=
github.com/oneclickvirt/speedtest v0.0.4-20240629100548 h1:DQA0R/EdtmLJrQBb9JvQBaBpcMgiGDvIHq+0quNZQQM= github.com/oneclickvirt/speedtest v0.0.4-20240629100548 h1:DQA0R/EdtmLJrQBb9JvQBaBpcMgiGDvIHq+0quNZQQM=
github.com/oneclickvirt/speedtest v0.0.4-20240629100548/go.mod h1:JNIxUbEJD12w81b7754RLHD55fsH6wHj+fCV2PqBDhk= github.com/oneclickvirt/speedtest v0.0.4-20240629100548/go.mod h1:JNIxUbEJD12w81b7754RLHD55fsH6wHj+fCV2PqBDhk=
github.com/onsi/ginkgo/v2 v2.16.0 h1:7q1w9frJDzninhXxjZd+Y/x54XNjG/UlRLIYPZafsPM= github.com/onsi/ginkgo/v2 v2.16.0 h1:7q1w9frJDzninhXxjZd+Y/x54XNjG/UlRLIYPZafsPM=

141
goecs.go
View File

@@ -3,6 +3,7 @@ package main
import ( import (
"flag" "flag"
"fmt" "fmt"
"github.com/oneclickvirt/UnlockTests/uts"
"github.com/oneclickvirt/ecs/backtrace" "github.com/oneclickvirt/ecs/backtrace"
"github.com/oneclickvirt/ecs/basic" "github.com/oneclickvirt/ecs/basic"
"github.com/oneclickvirt/ecs/commediatest" "github.com/oneclickvirt/ecs/commediatest"
@@ -11,15 +12,29 @@ import (
"github.com/oneclickvirt/ecs/memorytest" "github.com/oneclickvirt/ecs/memorytest"
"github.com/oneclickvirt/ecs/network" "github.com/oneclickvirt/ecs/network"
"github.com/oneclickvirt/ecs/ntrace" "github.com/oneclickvirt/ecs/ntrace"
"github.com/oneclickvirt/ecs/port"
"github.com/oneclickvirt/ecs/speedtest" "github.com/oneclickvirt/ecs/speedtest"
"github.com/oneclickvirt/ecs/unlocktest" "github.com/oneclickvirt/ecs/unlocktest"
"github.com/oneclickvirt/portchecker/email"
"runtime" "runtime"
"strings" "strings"
"sync"
"time" "time"
"unicode/utf8" "unicode/utf8"
) )
var (
ecsVersion = "2024.06.30"
showVersion bool
language string
cpuTestMethod, cpuTestThread string
memoryTestMethod string
diskTestMethod, diskTestPath string
diskMultiCheck bool
nt3CheckType, nt3Location string
spNum int
width = 84
)
func printCenteredTitle(title string, width int) { func printCenteredTitle(title string, width int) {
titleLength := utf8.RuneCountInString(title) // 计算字符串的字符数 titleLength := utf8.RuneCountInString(title) // 计算字符串的字符数
totalPadding := width - titleLength totalPadding := width - titleLength
@@ -28,19 +43,52 @@ func printCenteredTitle(title string, width int) {
fmt.Println(paddingStr + title + paddingStr + strings.Repeat("-", totalPadding%2)) fmt.Println(paddingStr + title + paddingStr + strings.Repeat("-", totalPadding%2))
} }
func securityCheck() string {
ipInfo, securityInfo, _ := network.NetworkCheck("both", true, language)
if strings.Contains(ipInfo, "IPV4") && strings.Contains(ipInfo, "IPV6") {
uts.IPV4 = true
uts.IPV6 = true
if nt3CheckType == "" {
nt3CheckType = "ipv4"
}
} else if strings.Contains(ipInfo, "IPV4") {
uts.IPV4 = true
uts.IPV6 = false
if nt3CheckType == "" {
nt3CheckType = "ipv4"
}
} else if strings.Contains(ipInfo, "IPV6") {
uts.IPV6 = true
uts.IPV4 = false
if nt3CheckType == "" {
nt3CheckType = "ipv6"
}
}
if nt3CheckType == "ipv4" && !strings.Contains(ipInfo, "IPV4") && strings.Contains(ipInfo, "IPV6") {
nt3CheckType = "ipv6"
} else if nt3CheckType == "ipv6" && !strings.Contains(ipInfo, "IPV6") && strings.Contains(ipInfo, "IPV4") {
nt3CheckType = "ipv4"
}
return securityInfo
}
func printHead() {
if language == "zh" {
printCenteredTitle("融合怪测试", width)
fmt.Printf("版本:%s\n", ecsVersion)
fmt.Println("测评频道: https://t.me/vps_reviews\n" +
"Go项目地址https://github.com/oneclickvirt/ecs\n" +
"Shell项目地址https://github.com/spiritLHLS/ecs")
} else {
printCenteredTitle("Fusion Monster Test", width)
fmt.Printf("Version: %s\n", ecsVersion)
fmt.Println("Review Channel: https://t.me/vps_reviews\n" +
"Go Project URL: https://github.com/oneclickvirt/ecs\n" +
"Shell Project URL: https://github.com/spiritLHLS/ecs")
}
}
func main() { func main() {
var (
ecsVersion = "2024.06.29"
showVersion bool
language string
cpuTestMethod, cpuTestThread string
memoryTestMethod string
diskTestMethod, diskTestPath string
diskMultiCheck bool
nt3CheckType, nt3Location string
spNum int
width = 84
)
flag.BoolVar(&showVersion, "v", false, "Show version information") flag.BoolVar(&showVersion, "v", false, "Show version information")
flag.StringVar(&language, "l", "zh", "Specify language (supported: en, zh)") flag.StringVar(&language, "l", "zh", "Specify language (supported: en, zh)")
flag.StringVar(&cpuTestMethod, "cpum", "sysbench", "Specify CPU test method (supported: sysbench, geekbench, winsat)") flag.StringVar(&cpuTestMethod, "cpum", "sysbench", "Specify CPU test method (supported: sysbench, geekbench, winsat)")
@@ -61,43 +109,48 @@ func main() {
return return
} }
startTime := time.Now() startTime := time.Now()
var wg sync.WaitGroup
var securityInfo, emailInfo string
if language == "zh" { if language == "zh" {
printCenteredTitle("融合怪测试", width) printHead()
fmt.Printf("版本:%s\n", ecsVersion)
fmt.Println("测评频道: https://t.me/vps_reviews\nGo项目地址https://github.com/oneclickvirt/ecs\nShell项目地址https://github.com/spiritLHLS/ecs")
printCenteredTitle("基础信息", width) printCenteredTitle("基础信息", width)
basic.Basic(language) wg.Add(2)
go func() {
defer wg.Done()
basic.Basic(language)
}()
go func() {
defer wg.Done()
securityInfo = securityCheck()
}()
wg.Wait()
printCenteredTitle(fmt.Sprintf("CPU测试-通过%s测试", cpuTestMethod), width) printCenteredTitle(fmt.Sprintf("CPU测试-通过%s测试", cpuTestMethod), width)
cputest.CpuTest(language, cpuTestMethod, cpuTestThread) cputest.CpuTest(language, cpuTestMethod, cpuTestThread)
printCenteredTitle(fmt.Sprintf("内存测试-通过%s测试", cpuTestMethod), width) printCenteredTitle(fmt.Sprintf("内存测试-通过%s测试", cpuTestMethod), width)
memorytest.MemoryTest(language, memoryTestMethod) memorytest.MemoryTest(language, memoryTestMethod)
printCenteredTitle(fmt.Sprintf("硬盘测试-通过%s测试", diskTestMethod), width) printCenteredTitle(fmt.Sprintf("硬盘测试-通过%s测试", diskTestMethod), width)
disktest.DiskTest(language, diskTestMethod, diskTestPath, diskMultiCheck) disktest.DiskTest(language, diskTestMethod, diskTestPath, diskMultiCheck)
wg.Add(1)
go func() {
defer wg.Done()
emailInfo = email.EmailCheck()
}()
printCenteredTitle("御三家流媒体解锁", width) printCenteredTitle("御三家流媒体解锁", width)
commediatest.ComMediaTest(language) commediatest.ComMediaTest(language)
printCenteredTitle("跨国流媒体解锁", width) printCenteredTitle("跨国流媒体解锁", width)
unlocktest.MediaTest(language) unlocktest.MediaTest(language)
printCenteredTitle("IP质量检测", width) printCenteredTitle("IP质量检测", width)
ipInfo, securityInfo, _ := network.NetworkCheck("both", true, language)
fmt.Printf(securityInfo) fmt.Printf(securityInfo)
printCenteredTitle("邮件端口检测", width) printCenteredTitle("邮件端口检测", width)
port.EmailCheck() wg.Wait()
fmt.Println(emailInfo)
printCenteredTitle("三网回程", width)
backtrace.BackTrace()
if runtime.GOOS != "windows" { if runtime.GOOS != "windows" {
// nexttrace 在win上不支持检测报错 bind: An invalid argument was supplied. // nexttrace 在win上不支持检测报错 bind: An invalid argument was supplied.
printCenteredTitle("三网回程", width) printCenteredTitle("路由检测", width)
backtrace.BackTrace() ntrace.TraceRoute3(language, nt3Location, nt3CheckType)
} }
printCenteredTitle("三网回程路由", width)
if nt3CheckType == "" && strings.Contains(ipInfo, "IPV4") {
nt3CheckType = "ipv4"
} else if nt3CheckType == "" && strings.Contains(ipInfo, "IPV6") {
nt3CheckType = "ipv6"
} else if nt3CheckType == "ipv4" && !strings.Contains(ipInfo, "IPV4") && strings.Contains(ipInfo, "IPV6") {
nt3CheckType = "ipv6"
} else if nt3CheckType == "ipv6" && !strings.Contains(ipInfo, "IPV6") && strings.Contains(ipInfo, "IPV4") {
nt3CheckType = "ipv4"
}
ntrace.TraceRoute3(language, nt3Location, nt3CheckType)
printCenteredTitle("就近节点测速", width) printCenteredTitle("就近节点测速", width)
speedtest.ShowHead(language) speedtest.ShowHead(language)
speedtest.NearbySP() speedtest.NearbySP()
@@ -115,26 +168,38 @@ func main() {
fmt.Printf("时间 : %s\n", currentTime) fmt.Printf("时间 : %s\n", currentTime)
printCenteredTitle("", width) printCenteredTitle("", width)
} else if language == "en" { } else if language == "en" {
printCenteredTitle("Fusion Monster Test", width) printHead()
fmt.Printf("Version: %s\n", ecsVersion)
fmt.Println("Review Channel: https://t.me/vps_reviews\nGo Project URL: https://github.com/oneclickvirt/ecs\nShell Project URL: https://github.com/spiritLHLS/ecs")
printCenteredTitle("Basic Information", width) printCenteredTitle("Basic Information", width)
basic.Basic(language) wg.Add(2)
go func() {
defer wg.Done()
basic.Basic(language)
}()
go func() {
defer wg.Done()
securityInfo = securityCheck()
}()
wg.Wait()
printCenteredTitle(fmt.Sprintf("CPU Test - %s Method", cpuTestMethod), width) printCenteredTitle(fmt.Sprintf("CPU Test - %s Method", cpuTestMethod), width)
cputest.CpuTest(language, cpuTestMethod, cpuTestThread) cputest.CpuTest(language, cpuTestMethod, cpuTestThread)
printCenteredTitle(fmt.Sprintf("Memory Test - %s Method", memoryTestMethod), width) printCenteredTitle(fmt.Sprintf("Memory Test - %s Method", memoryTestMethod), width)
memorytest.MemoryTest(language, memoryTestMethod) memorytest.MemoryTest(language, memoryTestMethod)
printCenteredTitle(fmt.Sprintf("Disk Test - %s Method", diskTestMethod), width) printCenteredTitle(fmt.Sprintf("Disk Test - %s Method", diskTestMethod), width)
disktest.DiskTest(language, diskTestMethod, diskTestPath, diskMultiCheck) disktest.DiskTest(language, diskTestMethod, diskTestPath, diskMultiCheck)
wg.Add(1)
go func() {
defer wg.Done()
emailInfo = email.EmailCheck()
}()
printCenteredTitle("The Three Families Streaming Media Unlock", width) printCenteredTitle("The Three Families Streaming Media Unlock", width)
commediatest.ComMediaTest(language) commediatest.ComMediaTest(language)
printCenteredTitle("Cross-Border Streaming Media Unlock", width) printCenteredTitle("Cross-Border Streaming Media Unlock", width)
unlocktest.MediaTest(language) unlocktest.MediaTest(language)
printCenteredTitle("IP Quality Check", width) printCenteredTitle("IP Quality Check", width)
_, securityInfo, _ := network.NetworkCheck("both", true, language)
fmt.Printf(securityInfo) fmt.Printf(securityInfo)
printCenteredTitle("Email Port Check", width) printCenteredTitle("Email Port Check", width)
port.EmailCheck() wg.Wait()
fmt.Println(emailInfo)
//printCenteredTitle("Return Path Routing", width) //printCenteredTitle("Return Path Routing", width)
printCenteredTitle("Nearby Node Speed Test", width) printCenteredTitle("Nearby Node Speed Test", width)
speedtest.ShowHead(language) speedtest.ShowHead(language)

View File

@@ -5,11 +5,11 @@
# curl -L https://raw.githubusercontent.com/oneclickvirt/ecs/master/goecs.sh -o goecs.sh && chmod +x goecs.sh # curl -L https://raw.githubusercontent.com/oneclickvirt/ecs/master/goecs.sh -o goecs.sh && chmod +x goecs.sh
cat <<"EOF" cat <<"EOF"
GGG OOO EEEE CCCC SSS GGG OOO EEEE CCCC SSS
G G O O E C S G G O O E C S
G O O EEE C SSS G O O EEE C SSS
G GG O O E C S G GG O O E C S
GGG OOO EEEE CCCC SSS GGG OOO EEEE CCCC SSS
EOF EOF
cd /root >/dev/null 2>&1 cd /root >/dev/null 2>&1
@@ -234,10 +234,16 @@ env_check() {
done done
cdn_urls=("https://cdn0.spiritlhl.top/" "http://cdn3.spiritlhl.net/" "http://cdn1.spiritlhl.net/" "http://cdn2.spiritlhl.net/") cdn_urls=("https://cdn0.spiritlhl.top/" "http://cdn3.spiritlhl.net/" "http://cdn1.spiritlhl.net/" "http://cdn2.spiritlhl.net/")
check_cdn_file check_cdn_file
if ! command -v dd >/dev/null 2>&1; then
_green "Installing dd"
$PACKAGE_INSTALL dd
fi
if ! command -v fio >/dev/null 2>&1; then if ! command -v fio >/dev/null 2>&1; then
_green "Installing fio"
$PACKAGE_INSTALL fio $PACKAGE_INSTALL fio
fi fi
if ! command -v sysbench >/dev/null 2>&1; then if ! command -v sysbench >/dev/null 2>&1; then
_green "Installing sysbench"
$PACKAGE_INSTALL sysbench $PACKAGE_INSTALL sysbench
if [ $? -ne 0 ]; then if [ $? -ne 0 ]; then
echo "Unable to download sysbench through the system's package manager, speak to try compiling and installing it..." echo "Unable to download sysbench through the system's package manager, speak to try compiling and installing it..."
@@ -253,14 +259,15 @@ env_check() {
fi fi
fi fi
if ! commadn -v geekbench >/dev/null 2>&1; then if ! commadn -v geekbench >/dev/null 2>&1; then
_green "Installing geekbench"
curl -L "${cdn_success_url}https://raw.githubusercontent.com/oneclickvirt/cputest/main/dgb.sh" -o dgb.sh && chmod +x dgb.sh curl -L "${cdn_success_url}https://raw.githubusercontent.com/oneclickvirt/cputest/main/dgb.sh" -o dgb.sh && chmod +x dgb.sh
bash dgb.sh -v gb5 bash dgb.sh -v gb5
echo "If you not want to use geekbench5, you can use" _blue "If you not want to use geekbench5, you can use"
echo "bash dgb.sh -v gb6" echo "bash dgb.sh -v gb6"
echo "bash dgb.sh -v gb4" echo "bash dgb.sh -v gb4"
echo "to change version, or use" _blue "to change version, or use"
echo "rm -rf /usr/bin/geekbench" echo "rm -rf /usr/bin/geekbench*"
echo "to uninstall geekbench" _blue "to uninstall geekbench"
fi fi
} }
@@ -268,7 +275,7 @@ show_help() {
cat <<"EOF" cat <<"EOF"
Available commands: Available commands:
env Check and install fio sysbench/geekbench5 env Check and install dd fio sysbench geekbench5
install Install goecs command install Install goecs command
help Show this message help Show this message

View File

@@ -8,23 +8,16 @@ import (
) )
func MediaTest(language string) { func MediaTest(language string) {
uts.GetIpv4Info(false)
uts.GetIpv6Info(false)
readStatus := uts.ReadSelect(language, "0") readStatus := uts.ReadSelect(language, "0")
if !readStatus { if !readStatus {
return return
} }
//if language == "zh" {
// fmt.Println("测试时间: ", defaultset.Yellow(time.Now().Format("2006-01-02 15:04:05")))
//} else {
// fmt.Println("Test time: ", defaultset.Yellow(time.Now().Format("2006-01-02 15:04:05")))
//}
if uts.IPV4 { if uts.IPV4 {
fmt.Println(defaultset.Blue("IPV4:")) fmt.Println(defaultset.Blue("IPV4:"))
uts.RunTests(utils.Ipv4HttpClient, "ipv4", language) uts.RunTests(utils.Ipv4HttpClient, "ipv4", language, false)
} }
if uts.IPV6 { if uts.IPV6 {
fmt.Println(defaultset.Blue("IPV6:")) fmt.Println(defaultset.Blue("IPV6:"))
uts.RunTests(utils.Ipv6HttpClient, "ipv6", language) uts.RunTests(utils.Ipv6HttpClient, "ipv6", language, false)
} }
} }