Added output flag
This commit is contained in:
parent
3c819bd083
commit
77f1046bfc
@ -6,6 +6,7 @@ import (
|
|||||||
"slices"
|
"slices"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
|
"sync"
|
||||||
|
|
||||||
"git.supernets.org/perp/blink/v1/internal/bar"
|
"git.supernets.org/perp/blink/v1/internal/bar"
|
||||||
"git.supernets.org/perp/blink/v1/internal/file"
|
"git.supernets.org/perp/blink/v1/internal/file"
|
||||||
@ -31,8 +32,11 @@ var opts runner.Options
|
|||||||
var (
|
var (
|
||||||
wordlist string
|
wordlist string
|
||||||
resolvers string
|
resolvers string
|
||||||
|
output string
|
||||||
wildcard bool
|
wildcard bool
|
||||||
verbose bool
|
verbose bool
|
||||||
|
|
||||||
|
mu sync.Mutex
|
||||||
)
|
)
|
||||||
|
|
||||||
// Command
|
// Command
|
||||||
@ -99,7 +103,7 @@ var rootCmd = &cobra.Command{
|
|||||||
pb.Add(1)
|
pb.Add(1)
|
||||||
pb.Clear()
|
pb.Clear()
|
||||||
|
|
||||||
// Error found
|
// Check error
|
||||||
if result.Error != nil {
|
if result.Error != nil {
|
||||||
// Verbose enabled
|
// Verbose enabled
|
||||||
if verbose {
|
if verbose {
|
||||||
@ -125,6 +129,31 @@ var rootCmd = &cobra.Command{
|
|||||||
log.Info().
|
log.Info().
|
||||||
Str("hosts", ips).
|
Str("hosts", ips).
|
||||||
Msg(result.Subdomain)
|
Msg(result.Subdomain)
|
||||||
|
|
||||||
|
// Output found
|
||||||
|
if output != "" {
|
||||||
|
// Lock mutex
|
||||||
|
mu.Lock()
|
||||||
|
|
||||||
|
// Write output
|
||||||
|
var err error
|
||||||
|
|
||||||
|
// Check IPv6
|
||||||
|
switch opts.IPv6 {
|
||||||
|
case false:
|
||||||
|
err = file.Write(output, result.Domain, result.Subdomain, result.IPv4)
|
||||||
|
case true:
|
||||||
|
err = file.Write(output, result.Domain, result.Subdomain, result.IPv6)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Unlock mutex
|
||||||
|
mu.Unlock()
|
||||||
|
|
||||||
|
// Check error
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create runner
|
// Create runner
|
||||||
@ -171,6 +200,7 @@ func init() {
|
|||||||
// Add flags
|
// Add flags
|
||||||
rootCmd.Flags().StringVarP(&wordlist, "wordlist", "w", "", "Path to wordlist")
|
rootCmd.Flags().StringVarP(&wordlist, "wordlist", "w", "", "Path to wordlist")
|
||||||
rootCmd.Flags().StringVarP(&resolvers, "resolvers", "r", "", "Path to resolvers")
|
rootCmd.Flags().StringVarP(&resolvers, "resolvers", "r", "", "Path to resolvers")
|
||||||
|
rootCmd.Flags().StringVarP(&output, "output", "o", "", "Path to save output")
|
||||||
rootCmd.Flags().BoolVarP(&opts.UDP, "udp", "u", false, "Query using UDP")
|
rootCmd.Flags().BoolVarP(&opts.UDP, "udp", "u", false, "Query using UDP")
|
||||||
rootCmd.Flags().BoolVarP(&opts.IPv6, "ipv6", "i", false, "Query for IPv6")
|
rootCmd.Flags().BoolVarP(&opts.IPv6, "ipv6", "i", false, "Query for IPv6")
|
||||||
rootCmd.Flags().BoolVarP(&wildcard, "wildcard", "d", false, "Query for wildcard")
|
rootCmd.Flags().BoolVarP(&wildcard, "wildcard", "d", false, "Query for wildcard")
|
||||||
|
Loading…
Reference in New Issue
Block a user