shogo/internal/shodan/info.go

56 lines
1.5 KiB
Go
Raw Normal View History

package shodan
import (
"context"
"fmt"
"git.tcp.direct/perp/shogo/internal/utils"
)
// Return your account information
func Info(profile_enabled bool) {
// Fetch API information
results, err := utils.Client.GetAPIInfo(context.Background())
if err != nil {
fmt.Printf("%s: %s\n", utils.Red("Error"), err.Error())
return
}
// Print results
utils.Title.Println("API")
fmt.Printf("%s: %s\n", utils.Green("Plan"), utils.Blue(results.Plan))
fmt.Printf("%s: %s\n", utils.Blue("Query credits"), utils.Green(results.QueryCredits))
fmt.Printf("%s: %s\n", utils.Green("Scan credits"), utils.Blue(results.ScanCredits))
fmt.Printf("%s: %s\n", utils.Blue("Telnet"), utils.Green(results.Telnet))
fmt.Printf("%s: %s\n", utils.Green("HTTPS"), utils.Blue(results.HTTPS))
fmt.Printf("%s: %s\n", utils.Blue("Unlocked"), utils.Green(results.Unlocked))
// Fetch profile information
if profile_enabled {
results, err := utils.Client.GetAccountProfile(context.Background())
if err != nil {
fmt.Printf("%s: %s\n", utils.Red("Error"), err.Error())
return
}
// Profile name
var name string
// Empty name
if results.Name == "" {
name = "?"
} else {
name = results.Name
}
// Print results
fmt.Println("")
utils.Title.Println("Profile")
fmt.Printf("%s: %s\n", utils.Green("Name"), utils.Blue(name))
fmt.Printf("%s: %s\n", utils.Blue("Member"), utils.Green(results.Member))
fmt.Printf("%s: %s\n", utils.Green("Credits"), utils.Blue(results.Credits))
fmt.Printf("%s: %s\n", utils.Blue("Created"), utils.Green(results.Created))
}
}