shogo/internal/shodan/count.go
2024-05-29 01:42:40 +01:00

29 lines
608 B
Go

package shodan
import (
"context"
"fmt"
"github.com/ns3777k/go-shodan/v4/shodan"
"git.supernets.org/perp/shogo/internal/utils"
)
// Return your query result count
func (s *Shodan) Count() {
// Setup query
options := &shodan.HostQueryOptions{
Query: s.Flags.Query,
}
// Get results
results, err := utils.Client.GetHostsCountForQuery(context.Background(), options)
if err != nil {
s.Results <- fmt.Sprintf("%s: %s", utils.Red("Error"), err.Error())
return
}
// Send result
s.Results <- utils.Title.Sprintf("Count: %s\n", s.Flags.Query) + fmt.Sprintf("%s", utils.Blue(results.Total))
}