api

package
v0.1.139 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 29, 2026 License: GPL-3.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// Version API版本号
	Version = "v1.0.0"

	// DefaultVersion 默认的ECS版本号
	DefaultVersion = "v0.1.137"
)
View Source
const (
	// CPU测试方法
	CpuMethodSysbench  = "sysbench"
	CpuMethodGeekbench = "geekbench"
	CpuMethodWinsat    = "winsat"

	// 内存测试方法
	MemoryMethodAuto     = "auto"
	MemoryMethodStream   = "stream"
	MemoryMethodSysbench = "sysbench"
	MemoryMethodDD       = "dd"
	MemoryMethodWinsat   = "winsat"

	// 硬盘测试方法
	DiskMethodFio    = "fio"
	DiskMethodDD     = "dd"
	DiskMethodWinsat = "winsat"

	// 线程模式
	ThreadModeSingle = "single"
	ThreadModeMulti  = "multi"

	// 语言选项
	LanguageZH = "zh"
	LanguageEN = "en"

	// IP检测类型
	CheckTypeIPv4 = "ipv4"
	CheckTypeIPv6 = "ipv6"
	CheckTypeAuto = "auto"
	CheckTypeBoth = "both"

	// 流媒体解锁测试 IP 版本
	UnlockIPVersionAuto = "auto"
	UnlockIPVersionIPv4 = "ipv4"
	UnlockIPVersionIPv6 = "ipv6"

	// 测速平台
	PlatformCN  = "cn"
	PlatformNet = "net"

	// 运营商类型
	OperatorCMCC   = "cmcc"   // 中国移动
	OperatorCU     = "cu"     // 中国联通
	OperatorCT     = "ct"     // 中国电信
	OperatorGlobal = "global" // 全球节点
	OperatorOther  = "other"  // 其他
	OperatorHK     = "hk"     // 香港
	OperatorTW     = "tw"     // 台湾
	OperatorJP     = "jp"     // 日本
	OperatorSG     = "sg"     // 新加坡
)

测试方法常量

Variables

This section is empty.

Functions

func AppendTimeInfo

func AppendTimeInfo(config *Config, output string, startTime time.Time) string

AppendTimeInfo 添加时间信息

func BasicsAndSecurityCheck

func BasicsAndSecurityCheck(language, checkType string, securityTestStatus bool) (string, string, string, string, string)

BasicsAndSecurityCheck 基础信息和安全检查 language: 语言 checkType: 检查类型 securityTestStatus: 是否执行安全测试 返回: (IPv4地址, IPv6地址, 基础信息, 安全信息, 检查类型)

func CpuTest

func CpuTest(language, testMethod, testThread string) (string, string)

CpuTest CPU测试公共接口 language: 语言 ("zh" 或 "en") testMethod: 测试方法 ("sysbench", "geekbench" 或 "winsat") testThread: 线程模式 ("single" 或 "multi") 返回: (实际测试方法, 测试结果)

func DiskTest

func DiskTest(language, testMethod, testPath string, isMultiCheck, autoChange bool) (string, string)

DiskTest 硬盘测试公共接口 language: 语言 ("zh" 或 "en") testMethod: 测试方法 ("fio", "dd" 或 "winsat") testPath: 测试路径 isMultiCheck: 是否多路径检测 autoChange: 是否自动切换方法 返回: (实际测试方法, 测试结果)

func FormatGoecsNumber

func FormatGoecsNumber(num int) string

FormatGoecsNumber 格式化数字显示 num: 数字 返回: 格式化后的字符串

func GetIPv4Address

func GetIPv4Address() string

GetIPv4Address 获取当前IPv4地址

func GetIPv6Address

func GetIPv6Address() string

GetIPv6Address 获取当前IPv6地址

func GetMenuChoice

func GetMenuChoice(language string) string

GetMenuChoice 获取用户菜单选择 language: 语言 ("zh" 或 "en") 返回: 用户选择的选项

func HandleMenuMode

func HandleMenuMode(preCheck utils.NetCheckResult, config *Config)

HandleMenuMode 处理菜单模式 preCheck: 网络检查结果 config: 配置对象

func HandleUploadResults

func HandleUploadResults(config *Config, output string)

HandleUploadResults 处理上传结果

func MediaTest

func MediaTest(language, region, ipVersion string, showIP bool) string

MediaTest 流媒体解锁测试公共接口 language: 语言 ("zh" 或 "en") region: 检测地区 ("0"=跨国平台, ..., "20"=全部平台) ipVersion: 测试的IP版本 ("auto"=全测, "ipv4", "ipv6") showIP: 是否在输出中显示 IPV4:/IPV6: 标签 返回: 测试结果

func MemoryTest

func MemoryTest(language, testMethod string) (string, string)

MemoryTest 内存测试公共接口 language: 语言 ("zh" 或 "en") testMethod: 测试方法 ("stream", "sysbench", "dd", "winsat", "auto") 返回: (实际测试方法, 测试结果)

func NextTrace3Check

func NextTrace3Check(language, location, checkType string)

NextTrace3Check 三网路由追踪测试 language: 语言 ("zh" 或 "en") location: 位置 checkType: 检测类型 ("ipv4", "ipv6", "both")

func OnlyBasicsIpInfo

func OnlyBasicsIpInfo(language string) (string, string, string)

OnlyBasicsIpInfo 仅获取基础IP信息 language: 语言 返回: (IPv4地址, IPv6地址, IP信息)

func PrintAndCapture

func PrintAndCapture(fn func(), tempOutput, existingOutput string) string

PrintAndCapture 打印并捕获输出 fn: 执行的函数 tempOutput: 临时输出 existingOutput: 现有输出 返回: 捕获的输出

func PrintCenteredTitle

func PrintCenteredTitle(title string, width int)

PrintCenteredTitle 打印居中标题 title: 标题文本 width: 显示宽度

func PrintHead

func PrintHead(language string, width int, version string)

PrintHead 打印程序头部信息 language: 语言 ("zh" 或 "en") width: 显示宽度 version: 版本号

func PrintMenuOptions

func PrintMenuOptions(preCheck utils.NetCheckResult, config *Config)

PrintMenuOptions 打印菜单选项 preCheck: 网络检查结果 config: 配置对象

func ProcessAndUpload

func ProcessAndUpload(output, filePath string, enableUpload bool, language string) (string, string)

ProcessAndUpload 处理并上传结果 output: 输出内容 filePath: 文件路径 enableUpload: 是否启用上传 返回: (HTTP URL, HTTPS URL)

func RunBasicTests

func RunBasicTests(preCheck utils.NetCheckResult, config *Config) string

RunBasicTests 运行基础信息测试

func RunCPUTest

func RunCPUTest(config *Config) string

RunCPUTest 运行CPU测试

func RunDiskTest

func RunDiskTest(config *Config) string

RunDiskTest 运行硬盘测试

func RunEmailTests

func RunEmailTests(config *Config, emailInfo string) string

RunEmailTests 运行邮件端口测试

func RunEnglishNetworkTests

func RunEnglishNetworkTests(config *Config, ptInfo string) string

RunEnglishNetworkTests 运行网络测试(英文模式)

func RunEnglishSpeedTests

func RunEnglishSpeedTests(config *Config) string

RunEnglishSpeedTests 运行测速测试(英文模式)

func RunIpInfoCheck

func RunIpInfoCheck(config *Config) string

RunIpInfoCheck 执行IP信息检测

func RunMemoryTest

func RunMemoryTest(config *Config) string

RunMemoryTest 运行内存测试

func RunNetworkTests

func RunNetworkTests(config *Config, ptInfo string) string

RunNetworkTests 运行网络测试(中文模式)

func RunSecurityTests

func RunSecurityTests(config *Config, securityInfo string) string

RunSecurityTests 运行安全测试

func RunSpeedTests

func RunSpeedTests(config *Config) string

RunSpeedTests 运行测速测试(中文模式)

func RunStreamingTests

func RunStreamingTests(config *Config, mediaInfo string) string

RunStreamingTests 运行流媒体测试

func SetIPv4Address

func SetIPv4Address(ipv4 string)

SetIPv4Address 设置IPv4地址(用于测试)

func SetIPv6Address

func SetIPv6Address(ipv6 string)

SetIPv6Address 设置IPv6地址(用于测试)

func SpeedTestCustom

func SpeedTestCustom(platform, operator string, num int, language string)

SpeedTestCustom 自定义测速 platform: 平台 ("cn" 或 "net") operator: 运营商 ("cmcc", "cu", "ct", "global", "other" 等) num: 测试节点数量 language: 语言 ("zh" 或 "en")

func SpeedTestNearby

func SpeedTestNearby()

SpeedTestNearby 就近节点测速

func SpeedTestShowHead

func SpeedTestShowHead(language string)

SpeedTestShowHead 显示测速表头 language: 语言 ("zh" 或 "en")

func UpstreamsCheck

func UpstreamsCheck(language string)

UpstreamsCheck 上游及回程线路检测

Types

type Config

type Config = params.Config

Config 配置接口,导出用于外部调用

func ApplyOptions

func ApplyOptions(config *Config, options ...ConfigOption) *Config

ApplyOptions 应用配置选项

func NewConfig

func NewConfig(version string) *Config

NewConfig 创建默认配置 version: 版本号字符串

func NewDefaultConfig

func NewDefaultConfig() *Config

NewDefaultConfig 创建默认配置(使用默认版本号)

type ConfigOption

type ConfigOption func(*Config)

ConfigOption 配置选项函数类型

func WithAnalyzeResult added in v0.1.119

func WithAnalyzeResult(enable bool) ConfigOption

WithAnalyzeResult 设置是否启用测试后结果总结分析

func WithAutoChangeDiskMethod

func WithAutoChangeDiskMethod(enable bool) ConfigOption

WithAutoChangeDiskMethod 设置是否自动切换硬盘测试方法

func WithBacktraceTest

func WithBacktraceTest(enable bool) ConfigOption

WithBacktraceTest 设置是否执行回程路由测试

func WithBasicTest

func WithBasicTest(enable bool) ConfigOption

WithBasicTest 设置是否执行基础信息测试

func WithChoice

func WithChoice(choice string) ConfigOption

WithChoice 设置菜单选择

func WithCpuTest

func WithCpuTest(enable bool) ConfigOption

WithCpuTest 设置是否执行CPU测试

func WithCpuTestMethod

func WithCpuTestMethod(method string) ConfigOption

WithCpuTestMethod 设置CPU测试方法 method: "sysbench", "geekbench" 或 "winsat"

func WithCpuTestThreadMode

func WithCpuTestThreadMode(mode string) ConfigOption

WithCpuTestThreadMode 设置CPU测试线程模式 mode: "single" 或 "multi"

func WithDiskMultiCheck

func WithDiskMultiCheck(enable bool) ConfigOption

WithDiskMultiCheck 设置是否进行硬盘多路径检测

func WithDiskTest

func WithDiskTest(enable bool) ConfigOption

WithDiskTest 设置是否执行硬盘测试

func WithDiskTestMethod

func WithDiskTestMethod(method string) ConfigOption

WithDiskTestMethod 设置硬盘测试方法 method: "fio", "dd" 或 "winsat"

func WithDiskTestPath

func WithDiskTestPath(path string) ConfigOption

WithDiskTestPath 设置硬盘测试路径

func WithEmailTest

func WithEmailTest(enable bool) ConfigOption

WithEmailTest 设置是否执行邮件端口测试

func WithEnableLogger

func WithEnableLogger(enable bool) ConfigOption

WithEnableLogger 设置是否启用日志

func WithEnableUpload

func WithEnableUpload(enable bool) ConfigOption

WithEnableUpload 设置是否启用上传

func WithFilePath

func WithFilePath(path string) ConfigOption

WithFilePath 设置输出文件路径

func WithLanguage

func WithLanguage(lang string) ConfigOption

WithLanguage 设置语言

func WithMemoryTest

func WithMemoryTest(enable bool) ConfigOption

WithMemoryTest 设置是否执行内存测试

func WithMemoryTestMethod

func WithMemoryTestMethod(method string) ConfigOption

WithMemoryTestMethod 设置内存测试方法 method: "stream", "sysbench", "dd", "winsat" 或 "auto"

func WithMenuMode

func WithMenuMode(enable bool) ConfigOption

WithMenuMode 设置是否启用菜单模式

func WithNt3CheckType

func WithNt3CheckType(checkType string) ConfigOption

WithNt3CheckType 设置三网路由检测类型 checkType: "ipv4", "ipv6" 或 "both"

func WithNt3Location

func WithNt3Location(location string) ConfigOption

WithNt3Location 设置三网路由检测位置

func WithNt3Test

func WithNt3Test(enable bool) ConfigOption

WithNt3Test 设置是否执行三网路由测试

func WithOnlyChinaTest

func WithOnlyChinaTest(enable bool) ConfigOption

WithOnlyChinaTest 设置是否只进行国内测试

func WithOnlyIpInfoCheck

func WithOnlyIpInfoCheck(enable bool) ConfigOption

WithOnlyIpInfoCheck 设置是否只进行IP信息检测

func WithPingTest

func WithPingTest(enable bool) ConfigOption

WithPingTest 设置是否执行PING测试

func WithSecurityTest

func WithSecurityTest(enable bool) ConfigOption

WithSecurityTest 设置是否执行IP质量测试

func WithSpeedTest

func WithSpeedTest(enable bool) ConfigOption

WithSpeedTest 设置是否执行测速测试

func WithSpeedTestNum

func WithSpeedTestNum(num int) ConfigOption

WithSpeedTestNum 设置测速节点数量

func WithTgdcTest

func WithTgdcTest(enable bool) ConfigOption

WithTgdcTest 设置是否执行Telegram DC测试

func WithUnlockTest

func WithUnlockTest(enable bool) ConfigOption

WithUnlockTest 设置是否执行流媒体解锁测试

func WithUnlockTestIPVersion added in v0.1.137

func WithUnlockTestIPVersion(ipVersion string) ConfigOption

WithUnlockTestIPVersion 设置流媒体解锁测试 IP 版本 ipVersion: "auto", "ipv4" 或 "ipv6"

func WithUnlockTestRegion added in v0.1.137

func WithUnlockTestRegion(region string) ConfigOption

WithUnlockTestRegion 设置流媒体解锁检测地区 region: "0" 到 "20"

func WithUnlockTestShowIP added in v0.1.137

func WithUnlockTestShowIP(enable bool) ConfigOption

WithUnlockTestShowIP 设置流媒体测试输出是否显示 IPV4:/IPV6: 标签

func WithWebTest

func WithWebTest(enable bool) ConfigOption

WithWebTest 设置是否执行网站测试

func WithWidth

func WithWidth(width int) ConfigOption

WithWidth 设置输出宽度

type GitHubRelease

type GitHubRelease = utils.GitHubRelease

GitHubRelease GitHub发布信息

func GetLatestEcsRelease

func GetLatestEcsRelease() (*GitHubRelease, error)

GetLatestEcsRelease 获取最新的ECS版本信息 返回: (GitHub发布信息, 错误)

type NetCheckResult

type NetCheckResult = utils.NetCheckResult

NetCheckResult 网络检查结果

func CheckPublicAccess

func CheckPublicAccess(timeout time.Duration) NetCheckResult

CheckPublicAccess 检查公网访问能力 timeout: 超时时间 返回: 网络检查结果

type RunResult

type RunResult struct {
	Output    string        // 完整输出
	Duration  time.Duration // 运行时长
	StartTime time.Time     // 开始时间
	EndTime   time.Time     // 结束时间
}

RunResult 运行结果

func RunAllTests

func RunAllTests(preCheck utils.NetCheckResult, config *Config) *RunResult

RunAllTests 执行所有测试(高级接口) preCheck: 网络检查结果 config: 配置对象 返回: 运行结果

type StatsResponse

type StatsResponse = utils.StatsResponse

StatsResponse 统计信息响应

func GetGoescStats

func GetGoescStats() (*StatsResponse, error)

GetGoescStats 获取goecs统计信息 返回: (统计响应, 错误)

type TestResult

type TestResult struct {
	TestMethod string // 实际使用的测试方法
	Output     string // 测试输出结果
	Success    bool   // 是否成功
	Error      error  // 错误信息
}

TestResult 测试结果结构

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL