mirror of
https://github.com/nxtrace/NTrace-core.git
synced 2025-08-12 06:26:39 +00:00
40 lines
1012 B
Go
40 lines
1012 B
Go
package util
|
|
|
|
import (
|
|
"net"
|
|
|
|
"github.com/xgadget-lab/nexttrace/methods"
|
|
"github.com/xgadget-lab/nexttrace/util/printer"
|
|
)
|
|
|
|
type IPGeoData struct {
|
|
Asnumber string `json:"asnumber"`
|
|
Country string `json:"country"`
|
|
Prov string `json:"prov"`
|
|
City string `json:"city"`
|
|
District string `json:"district"`
|
|
Owner string `json:"owner"`
|
|
Isp string `json:"isp"`
|
|
}
|
|
|
|
type PrinterConfig struct {
|
|
IP net.IP
|
|
DataOrigin string
|
|
DisplayMode string
|
|
Rdnsenable bool
|
|
Results map[uint16][]methods.TracerouteHop
|
|
}
|
|
|
|
func Printer(config *PrinterConfig) {
|
|
switch config.DisplayMode {
|
|
case "table":
|
|
printer.TracerouteTablePrinter(config.IP, config.Results, config.DataOrigin, config.Rdnsenable)
|
|
case "classic":
|
|
printer.TraceroutePrinter(config.IP, config.Results, config.DataOrigin, config.Rdnsenable)
|
|
case "json":
|
|
//TracerouteJSONPrinter(config.Results, config.DataOrigin)
|
|
default:
|
|
printer.TraceroutePrinter(config.IP, config.Results, config.DataOrigin, config.Rdnsenable)
|
|
}
|
|
}
|