diff --git a/README.md b/README.md index 8fc9e547..b7bc3ee6 100644 --- a/README.md +++ b/README.md @@ -120,10 +120,15 @@ Please note, there are exceptions to this synchronization. If a version of NTrac After installing Go >= 1.20 yourself, you can use the following command to install ```shell - go install github.com/nxtrace/Ntrace-V1@latest + go install github.com/nxtrace/NTrace-core@latest ``` + *because of the version constraints conflict, you can not install `NTrace-V1` by this* After installation, the executable is in the `$GOPATH/bin` directory. If you have not set `GOPATH`, it is in the `$HOME/go/bin` directory. - + The binary file name is consistent with the project name. You need to replace the `nexttrace` command below with `NTrace-core`. + If you want to be consistent with the commands below, you can rename the binary after executing the `go install` command + ```shell + mv $GOPATH/bin/NTrace-core $GOPATH/bin/nexttrace + ``` ### Get Started diff --git a/README_zh_CN.md b/README_zh_CN.md index 45a176a7..f03fae35 100644 --- a/README_zh_CN.md +++ b/README_zh_CN.md @@ -131,9 +131,16 @@ Document Language: [English](README.md) | 简体中文 您可在自行安装Go >= 1.20后,使用以下命令安装 ```shell - go install github.com/nxtrace/Ntrace-V1@latest + go install github.com/nxtrace/NTrace-core@latest ``` - 安装后可执行文件在`$GOPATH/bin`目录下,如果您没有设置`GOPATH`,则在`$HOME/go/bin`目录下。 + *由于go.mod文件声明和文件目录冲突的问题,你不能用go install命令安装 `NTrace-V1` 版本* + 安装后可执行文件在`$GOPATH/bin`目录下,如果您没有设置`GOPATH`,则在`$HOME/go/bin`目录下。 + 安装后二进制文件名称与项目名称保持一致,你需要将下文中的 `nexttrace` 命令替换为 `NTrace-core` 使用 + 如果你希望与下文命令保持一致,可以在执行 `go install` 命令后重命名二进制文件 + + ```shell + mv $GOPATH/bin/NTrace-core $GOPATH/bin/nexttrace + ``` ### Get Started diff --git a/cmd/cmd.go b/cmd/cmd.go index 83b0547a..b380ffdb 100644 --- a/cmd/cmd.go +++ b/cmd/cmd.go @@ -121,7 +121,12 @@ func Excute() { } if strings.Contains(domain, "/") { - domain = strings.Split(domain, "/")[2] + parts := strings.Split(domain, "/") + if len(parts) < 3 { + fmt.Println("Invalid input") + return + } + domain = parts[2] } if strings.Contains(domain, "]") { diff --git a/go.mod b/go.mod index 80f7266c..2c2f4ae3 100644 --- a/go.mod +++ b/go.mod @@ -11,7 +11,7 @@ require ( github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635 github.com/tsosunchia/powclient v0.1.4 golang.org/x/net v0.17.0 - golang.org/x/sync v0.4.0 + golang.org/x/sync v0.5.0 ) require ( @@ -33,18 +33,18 @@ require ( github.com/subosito/gotenv v1.6.0 // indirect go.uber.org/multierr v1.11.0 // indirect golang.org/x/exp v0.0.0-20231006140011-7918f672742d // indirect - golang.org/x/text v0.13.0 // indirect + golang.org/x/text v0.14.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect ) require ( - github.com/fatih/color v1.15.0 - github.com/gorilla/websocket v1.5.0 + github.com/fatih/color v1.16.0 + github.com/gorilla/websocket v1.5.1 github.com/lionsoul2014/ip2region v2.11.2+incompatible github.com/rodaine/table v1.1.0 github.com/tidwall/gjson v1.17.0 github.com/tidwall/match v1.1.1 // indirect github.com/tidwall/pretty v1.2.1 // indirect - golang.org/x/sys v0.13.0 // indirect + golang.org/x/sys v0.14.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/go.sum b/go.sum index 5101720f..d0287440 100644 --- a/go.sum +++ b/go.sum @@ -58,8 +58,8 @@ github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1m github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/fatih/color v1.15.0 h1:kOqh6YHBtK8aywxGerMG2Eq3H6Qgoqeo13Bk2Mv/nBs= -github.com/fatih/color v1.15.0/go.mod h1:0h5ZqXfHYED7Bhv2ZJamyIOUej9KtShiJESRwBDUSsw= +github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM= +github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE= github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY= github.com/frankban/quicktest v1.14.4/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= @@ -125,8 +125,8 @@ github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+ github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= -github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= -github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/QY= +github.com/gorilla/websocket v1.5.1/go.mod h1:x3kM2JMyaluk02fnUJpQuwD2dCS5NDG2ZHL0uE0tcaY= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= @@ -317,8 +317,8 @@ golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.4.0 h1:zxkM55ReGkDlKSM+Fu41A+zmbZuaPVbGMzvvdUPznYQ= -golang.org/x/sync v0.4.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= +golang.org/x/sync v0.5.0 h1:60k92dhOjHxJkrqnwsfl8KuaHbn/5dl0lUPUklKo3qE= +golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -356,8 +356,8 @@ golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE= -golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.14.0 h1:Vz7Qs629MkJkGyHxUlRHizWJRG2j8fbQKjELVSNhy7Q= +golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -367,8 +367,8 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= -golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= +golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= diff --git a/printer/basic.go b/printer/basic.go index 1be72b99..abfe223f 100644 --- a/printer/basic.go +++ b/printer/basic.go @@ -24,16 +24,18 @@ func Version() { func CopyRight() { sponsor() - fmt.Fprintf(color.Output, "\n%s\n%s %s\n%s %s, %s, %s, %s\n%s %s\n\n", + fmt.Fprintf(color.Output, "\n%s\n%s %s\n%s %s\n%s %s, %s, %s, %s\n%s %s\n%s %s\n", color.New(color.FgCyan, color.Bold).Sprintf("%s", "NextTrace CopyRight"), //color.New(color.FgGreen, color.Bold).Sprintf("%s", "Contact Us"), //color.New(color.FgWhite, color.Bold).Sprintf("%s", "Feedback Email:"), //color.New(color.FgHiBlack, color.Bold).Sprintf("%s", "nt@moeqing.com"), //color.New(color.FgWhite, color.Bold).Sprintf("%s", "HomePage:"), //color.New(color.FgHiBlack, color.Bold).Sprintf("%s", "github.com/nxtrace"), - color.New(color.FgWhite, color.Bold).Sprintf("%s", "Creator:"), + color.New(color.FgWhite, color.Bold).Sprintf("%s", "Honorary Founder:"), color.New(color.FgHiBlue, color.Bold).Sprintf("%s", "Leo"), //color.New(color.FgHiBlack, color.Bold).Sprintf("%s", "i@leo.moe"), + color.New(color.FgWhite, color.Bold).Sprintf("%s", "Project Chair:"), + color.New(color.FgHiBlue, color.Bold).Sprintf("%s", "Tso"), color.New(color.FgWhite, color.Bold).Sprintf("%s", "Core-Developer:"), color.New(color.FgHiBlue, color.Bold).Sprintf("%s", "Leo"), //color.New(color.FgHiBlack, color.Bold).Sprintf("%s", "i@leo.moe"), @@ -43,35 +45,25 @@ func CopyRight() { //color.New(color.FgHiBlack, color.Bold).Sprintf("%s", "zhshch@athorx.com"), color.New(color.FgHiBlue, color.Bold).Sprintf("%s", "Tso"), //color.New(color.FgHiBlack, color.Bold).Sprintf("%s", "tsosunchia@gmail.com"), - color.New(color.FgWhite, color.Bold).Sprintf("%s", "Maintainer:"), + color.New(color.FgWhite, color.Bold).Sprintf("%s", "Infra Maintainer:"), color.New(color.FgHiBlue, color.Bold).Sprintf("%s", "Tso"), + color.New(color.FgWhite, color.Bold).Sprintf("%s", "NOC Manager:"), + color.New(color.FgHiBlue, color.Bold).Sprintf("%s", "YekongTAT"), //color.New(color.FgHiBlack, color.Bold).Sprintf("%s", "tsosunchia@gmail.com"), ) - - moeQingOrgCopyRight() //PluginCopyRight() } -func moeQingOrgCopyRight() { - fmt.Fprintf(color.Output, "%s\n%s %s, %s\n\n", - color.New(color.FgCyan, color.Bold).Sprintf("%s", "NextTrace Project NOC"), - color.New(color.FgWhite, color.Bold).Sprintf("%s", "MoeQing.io:"), - color.New(color.FgHiBlue, color.Bold).Sprintf("%s", "YekongTAT"), - //color.New(color.FgHiBlack, color.Bold).Sprintf("%s", "yekongtat@gmail.com"), - color.New(color.FgHiBlue, color.Bold).Sprintf("%s", "Haima"), - //color.New(color.FgHiBlack, color.Bold).Sprintf("%s", "haima@peers.cloud"), - ) -} - func sponsor() { italic := "\x1b[3m%s\x1b[0m" formatted := fmt.Sprintf(italic, "(Listed in no particular order)") - fmt.Fprintf(color.Output, "%s\n%s\n%s\n%s\n%s\n", + fmt.Fprintf(color.Output, "%s\n%s\n%s\n%s\n%s\n%s\n", color.New(color.FgCyan, color.Bold).Sprintf("%s", "NextTrace Sponsored by"), color.New(color.FgHiYellow, color.Bold).Sprintf("%s", "· DMIT.io"), color.New(color.FgHiYellow, color.Bold).Sprintf("%s", "· Misaka.io"), color.New(color.FgHiYellow, color.Bold).Sprintf("%s", "· Skywolf.cloud"), + color.New(color.FgHiYellow, color.Bold).Sprintf("%s", "· MoeQing.io"), color.New(color.FgHiBlack, color.Bold).Sprintf("%s", formatted), ) }