@@ -14,6 +14,7 @@ import (
1414var (
1515 source string
1616 debug bool
17+ input string
1718)
1819
1920var rootCmd = & cobra.Command {
@@ -24,22 +25,19 @@ var rootCmd = &cobra.Command{
2425 log := logger .GetLoggerInstance (debug )
2526
2627 var lookupIp string
27- if len ( args ) == 0 {
28- log .Info ().Msg ("Looking up public IP address of machine.. ." )
28+ if input == "" {
29+ log .Info ().Msg ("No input provided. Using empty lookupIp ." )
2930 lookupIp = ""
3031 } else {
31- lookupIp = args [0 ]
32- if lookupIp == "" {
33- log .Fatal ().Msg ("Input cannot be empty." )
34- }
32+ lookupIp = input
3533
36- if net .ParseIP (lookupIp ) == nil {
37- url , err := url .Parse (lookupIp )
34+ if net .ParseIP (input ) == nil {
35+ url , err := url .Parse (input )
3836 cobra .CheckErr (err )
3937
4038 domain := url .String ()
4139 if domain == "" {
42- log .Fatal ().Str ("lookupIp " , lookupIp ).Err (err ).Msg ("Can't parse URL" )
40+ log .Fatal ().Str ("input " , input ).Err (err ).Msg ("Can't parse URL" )
4341 }
4442
4543 ips := utils .DnsQuery (domain )
@@ -57,18 +55,21 @@ var rootCmd = &cobra.Command{
5755
5856 switch source {
5957 case "ipinfo" :
58+ log .Info ().Str ("lookupIp" , lookupIp ).Msg ("Calling IpInfoRequest..." )
6059 result , err := apis .IpInfoRequest (lookupIp )
6160 if err != nil {
6261 log .Fatal ().Err (err )
6362 }
6463 utils .BeautyPrint (config , result , lookupIp == "" )
6564 case "ipapi" :
65+ log .Info ().Str ("lookupIp" , lookupIp ).Msg ("Calling IpApiRequest..." )
6666 result , err := apis .IpApiRequest (lookupIp )
6767 if err != nil {
6868 log .Fatal ().Err (err )
6969 }
7070 utils .BeautyPrint (config , result , lookupIp == "" )
7171 case "cloudflare" :
72+ log .Info ().Str ("lookupIp" , lookupIp ).Msg ("Calling CloudflareApiRequest..." )
7273 if lookupIp != "" {
7374 log .Warn ().Msg ("Please note that Cloudflare API can only lookup your IP address." )
7475 }
@@ -89,6 +90,7 @@ func Execute() error {
8990 rootCmd .AddCommand (configCmd )
9091
9192 rootCmd .PersistentFlags ().BoolVar (& debug , "debug" , false , "Show debug logs" )
93+ rootCmd .PersistentFlags ().StringVarP (& input , "input" , "i" , "" , "Input domain or IP here." )
9294 rootCmd .PersistentFlags ().StringVar (& source , "source" , "ipapi" , "Choose a source to retrive IP info." )
9395 return rootCmd .Execute ()
9496}
0 commit comments