Files
NTrace-core/util/methods.go
2022-05-13 21:44:43 +08:00

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)
}
}