123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- package main
- import (
- "fmt"
- "log"
- "time"
- "clash-speed-test/internal/config"
- "clash-speed-test/internal/core"
- "clash-speed-test/internal/database"
- )
- func main() {
- fmt.Println("=== Clash 测速工具测试 ===")
- // 加载配置
- cfg, err := config.Load()
- if err != nil {
- log.Fatalf("加载配置失败: %v", err)
- }
- // 初始化测速器
- speedTester := core.NewSpeedTester(cfg)
- // 创建测试节点
- testNodes := []database.Node{
- {
- Name: "测试HTTP代理",
- Type: "http",
- Server: "127.0.0.1",
- Port: 7890,
- },
- {
- Name: "测试SOCKS5代理",
- Type: "socks5",
- Server: "127.0.0.1",
- Port: 7891,
- },
- }
- fmt.Printf("开始测试 %d 个节点...\n", len(testNodes))
- // 测试节点
- results := speedTester.TestNodes(testNodes)
- // 显示结果
- fmt.Println("\n=== 测试结果 ===")
- for i, result := range results {
- fmt.Printf("\n节点 %d: %s\n", i+1, testNodes[i].Name)
- fmt.Printf(" 类型: %s\n", testNodes[i].Type)
- fmt.Printf(" 地址: %s:%d\n", testNodes[i].Server, testNodes[i].Port)
-
- if result.IsSuccess {
- fmt.Printf(" 状态: ✅ 成功\n")
- if result.Latency != nil {
- fmt.Printf(" 延迟: %d ms\n", *result.Latency)
- }
- if result.DownloadSpeed != nil {
- fmt.Printf(" 下载速度: %.2f Mbps\n", float64(*result.DownloadSpeed))
- }
- if result.UploadSpeed != nil {
- fmt.Printf(" 上传速度: %.2f Mbps\n", float64(*result.UploadSpeed))
- }
- if result.IPAddress != "" {
- fmt.Printf(" IP地址: %s\n", result.IPAddress)
- }
- if result.Location != "" {
- fmt.Printf(" 位置: %s\n", result.Location)
- }
- } else {
- fmt.Printf(" 状态: ❌ 失败\n")
- if result.ErrorMessage != "" {
- fmt.Printf(" 错误: %s\n", result.ErrorMessage)
- }
- }
-
- if result.TestDuration != nil {
- fmt.Printf(" 测试耗时: %d ms\n", *result.TestDuration)
- }
- }
- fmt.Println("\n=== 测试完成 ===")
- fmt.Println("提示: 如果测试失败,请确保:")
- fmt.Println("1. Clash客户端正在运行")
- fmt.Println("2. 本地代理端口 (7890/7891) 可访问")
- fmt.Println("3. 网络连接正常")
- }
|