From c99e477cd54e69f182c6cafbbda7d0630fc8d243 Mon Sep 17 00:00:00 2001 From: spiritlhl <103393591+spiritLHLS@users.noreply.github.com> Date: Mon, 24 Jun 2024 05:07:48 +0000 Subject: [PATCH] update --- backtrace/asn.go | 2 +- backtrace/backtrace.go | 31 +++---------------------------- backtrace/version.go | 3 +++ cmd/main.go | 25 ++++++++++++++++++++++++- defaultset/defaultset.go | 35 ----------------------------------- defaultset/zap.go | 40 ---------------------------------------- go.mod | 1 + go.sum | 2 ++ 8 files changed, 34 insertions(+), 105 deletions(-) create mode 100644 backtrace/version.go delete mode 100644 defaultset/defaultset.go delete mode 100644 defaultset/zap.go diff --git a/backtrace/asn.go b/backtrace/asn.go index b598db5..654f546 100644 --- a/backtrace/asn.go +++ b/backtrace/asn.go @@ -5,7 +5,7 @@ import ( "net" "strings" - . "github.com/oneclickvirt/backtrace/defaultset" + . "github.com/oneclickvirt/basics/defaultset" ) type Result struct { diff --git a/backtrace/backtrace.go b/backtrace/backtrace.go index bd6e89f..b23ae61 100644 --- a/backtrace/backtrace.go +++ b/backtrace/backtrace.go @@ -1,41 +1,16 @@ package backtrace import ( - "encoding/json" "fmt" - "net/http" "time" - - . "github.com/oneclickvirt/backtrace/defaultset" ) -type IpInfo struct { - Ip string `json:"ip"` - City string `json:"city"` - Region string `json:"region"` - Country string `json:"country"` - Org string `json:"org"` -} - func BackTrace() { var ( - s [12]string // 对应 ips 目标地址数量 - c = make(chan Result) - t = time.After(time.Second * 10) + s [12]string // 对应 ips 目标地址数量 + c = make(chan Result) + t = time.After(time.Second * 10) ) - rsp, err := http.Get("http://ipinfo.io") - if err != nil { - fmt.Errorf("Get ip info err %v \n", err.Error()) - } else { - info := IpInfo{} - err = json.NewDecoder(rsp.Body).Decode(&info) - if err != nil { - fmt.Errorf("json decode err %v \n", err.Error()) - } else { - fmt.Println(Green("国家: ") + White(info.Country) + Green(" 城市: ") + White(info.City) + - Green(" 服务商: ") + Blue(info.Org)) - } - } for i := range ips { go trace(c, i) } diff --git a/backtrace/version.go b/backtrace/version.go new file mode 100644 index 0000000..5f9d460 --- /dev/null +++ b/backtrace/version.go @@ -0,0 +1,3 @@ +package backtrace + +const Version = "0.0.1" diff --git a/cmd/main.go b/cmd/main.go index 3cafa75..1285317 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -1,17 +1,40 @@ package main import ( + "encoding/json" "fmt" "net/http" + "github.com/oneclickvirt/backtrace/backtrace" - . "github.com/oneclickvirt/backtrace/defaultset" + . "github.com/oneclickvirt/basics/defaultset" ) +type IpInfo struct { + Ip string `json:"ip"` + City string `json:"city"` + Region string `json:"region"` + Country string `json:"country"` + Org string `json:"org"` +} + func main() { go func() { http.Get("https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2Foneclickvirt%2Fbacktrace&count_bg=%2323E01C&title_bg=%23555555&icon=sonarcloud.svg&icon_color=%23E7E7E7&title=hits&edge_flat=false") }() fmt.Println(Green("项目地址:"), Yellow("https://github.com/oneclickvirt/backtrace")) + rsp, err := http.Get("http://ipinfo.io") + if err != nil { + fmt.Errorf("Get ip info err %v \n", err.Error()) + } else { + info := IpInfo{} + err = json.NewDecoder(rsp.Body).Decode(&info) + if err != nil { + fmt.Errorf("json decode err %v \n", err.Error()) + } else { + fmt.Println(Green("国家: ") + White(info.Country) + Green(" 城市: ") + White(info.City) + + Green(" 服务商: ") + Blue(info.Org)) + } + } backtrace.BackTrace() fmt.Println(Yellow("准确线路自行查看详细路由,本测试结果仅作参考")) fmt.Println(Yellow("同一目标地址多个线路时,可能检测已越过汇聚层,除了第一个线路外,后续信息可能无效")) diff --git a/defaultset/defaultset.go b/defaultset/defaultset.go deleted file mode 100644 index d75a8fb..0000000 --- a/defaultset/defaultset.go +++ /dev/null @@ -1,35 +0,0 @@ -package defaultset - -import "fmt" - -func Red(text string) string { - return fmt.Sprintf("\033[31m\033[01m%s\033[0m", text) -} - -func Green(text string) string { - return fmt.Sprintf("\033[32m\033[01m%s\033[0m", text) -} - -func DarkGreen(text string) string { - return fmt.Sprintf("\033[32m\033[02m%s\033[0m", text) -} - -func Yellow(text string) string { - return fmt.Sprintf("\033[33m\033[01m%s\033[0m", text) -} - -func Blue(text string) string { - return fmt.Sprintf("\033[36m\033[01m%s\033[0m", text) -} - -func Purple(text string) string { - return fmt.Sprintf("\033[35m\033[01m%s\033[0m", text) -} - -func Cyan(text string) string { - return fmt.Sprintf("\033[36m\033[01m%s\033[0m", text) -} - -func White(text string) string { - return fmt.Sprintf("\033[37m\033[01m%s\033[0m", text) -} diff --git a/defaultset/zap.go b/defaultset/zap.go deleted file mode 100644 index 28996f9..0000000 --- a/defaultset/zap.go +++ /dev/null @@ -1,40 +0,0 @@ -package defaultset - -import ( - "go.uber.org/zap" - "go.uber.org/zap/zapcore" -) - -var Logger *zap.Logger - -func getZapConfig() zap.Config { - cfg := zap.Config{ - Encoding: "console", // 日志编码格式 - Level: zap.NewAtomicLevelAt(zap.InfoLevel), // 日志级别 - OutputPaths: []string{"ecs.log"}, // 输出路径,可以是多个文件 - ErrorOutputPaths: []string{}, // 错误输出路径,可以是多个文件 - EncoderConfig: zapcore.EncoderConfig{ - TimeKey: "timestamp", // 时间字段名称 - LevelKey: "level", // 日志级别字段名称 - NameKey: "logger", // 日志记录器名称字段名称 - CallerKey: "caller", // 调用者信息字段名称 - MessageKey: "message", // 日志消息字段名称 - StacktraceKey: "stacktrace", // 堆栈跟踪信息字段名称 - EncodeLevel: zapcore.LowercaseLevelEncoder, // 小写格式的日志级别编码器 - EncodeTime: zapcore.ISO8601TimeEncoder, // ISO8601 时间格式编码器 - EncodeCaller: zapcore.ShortCallerEncoder, // 编码短调用者信息 - }, - } - return cfg -} - -// InitLogger 初始化日志记录器 -func InitLogger() { - // 配置日志记录器 - cfg := getZapConfig() - var err error - Logger, err = cfg.Build() - if err != nil { - panic("failed to initialize logger: " + err.Error()) - } -} diff --git a/go.mod b/go.mod index f105308..52737c2 100644 --- a/go.mod +++ b/go.mod @@ -9,6 +9,7 @@ require ( ) require ( + github.com/oneclickvirt/basics v0.0.0-20240524033341-86198d11d5f0 // indirect github.com/stretchr/testify v1.9.0 // indirect go.uber.org/multierr v1.11.0 // indirect ) diff --git a/go.sum b/go.sum index a600202..b2173e5 100644 --- a/go.sum +++ b/go.sum @@ -1,5 +1,7 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/oneclickvirt/basics v0.0.0-20240524033341-86198d11d5f0 h1:ve6vWhPr+nN0msYTPLzjaMp2Mch/vc5bsV0OKmLt8Nc= +github.com/oneclickvirt/basics v0.0.0-20240524033341-86198d11d5f0/go.mod h1:WJP9pAByPMKujLhCtFMp+7ljd31jjLCQkIRPRSukEZA= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=