diff --git a/README.md b/README.md index 8c285de..7c9b6cd 100644 --- a/README.md +++ b/README.md @@ -5,14 +5,11 @@ Blink is a DNS bruteforcer made in Go ## This project is a work in progress -## Todo -- [ ] Add ENT (empty non-terminal) support -- [ ] Add verifying host support -- [ ] Move half of main.go to /internal +## Usage -## Help +### Help ``` -Blink is a DNS bruteforcer made in Go (Author: perp) +Blink is a DNS bruteforcer made in Go Usage: blink [flags] @@ -22,13 +19,18 @@ Flags: -r, --resolvers string Path to resolvers -u, --udp Query using UDP -i, --ipv6 Query for IPv6 - -c, --wildcard Query for wildcard - -d, --timeout int Query timeout (default 5) - -t, --threads int Concurrent threads (default 1) - -v, --debug Debug mode + -d, --wildcard Query for wildcard + -t, --timeout int Query timeout (default 5) + -c, --threads int Concurrent threads (default 1) + -v, --verbose Verbose logging -h, --help help for blink ``` +### Running +``` +blink -w subdomains.txt -r resolvers.txt -d -c 50 +``` + ## Credits Thanks to [aiodnsbrute](https://github.com/blark/aiodnsbrute) for the inspiration diff --git a/TODO.md b/TODO.md deleted file mode 100644 index 220afda..0000000 --- a/TODO.md +++ /dev/null @@ -1,5 +0,0 @@ -# Todo - -- [ ] Clean up CLI -- [ ] Fix logger levels -- [ ] Complete all options (ENT, verify etc) diff --git a/v1/cmd/blink/main.go b/v1/cmd/blink/main.go index 29c73f3..15330d0 100644 --- a/v1/cmd/blink/main.go +++ b/v1/cmd/blink/main.go @@ -22,7 +22,6 @@ import ( const banner = `___ _ _ _ _ _ _ |__] | | |\ | |_/ |__] |___ | | \| | \_ - ` // Runner options @@ -39,7 +38,7 @@ var ( // Command var rootCmd = &cobra.Command{ Use: "blink", - Short: "Blink is a DNS bruteforcer made in Go (Author: perp)", + Short: "Blink is a DNS bruteforcer made in Go", Run: func(_ *cobra.Command, args []string) { // Verbose enabled if verbose { @@ -66,7 +65,7 @@ var rootCmd = &cobra.Command{ } // Print banner - color.Red(banner) + fmt.Fprintln(os.Stderr, color.RedString(banner)) // Read wordlist path wLines, err := file.Read(wordlist) @@ -82,10 +81,8 @@ var rootCmd = &cobra.Command{ os.Exit(1) } - // Sort & compact lines + append port - slices.Sort(wLines) + // Compact lines + append port opts.Wordlist = slices.Compact(wLines) - slices.Sort(rLines) opts.Resolvers = slices.Compact(rLines) rLines = util.Port(rLines) diff --git a/v1/pkg/runner/options.go b/v1/pkg/runner/options.go index 4776243..457f7dc 100644 --- a/v1/pkg/runner/options.go +++ b/v1/pkg/runner/options.go @@ -6,16 +6,18 @@ import ( // Configuration options type Options struct { - Domains []string // Target domains - Wordlist []string // Target wordlist - Resolvers []string // Target resolvers - // ENT bool // Query for ENT - UDP bool // Query using UDP - IPv6 bool // Query for IPv6 - // Verify bool // Verify query - Timeout int // Query timeout - Threads int // Concurrent threads - OnResult OnResultFunc // Result handler + Domains []string // Target domains + Wordlist []string // Target wordlist + Resolvers []string // Target resolvers + UDP bool // Query using UDP + IPv6 bool // Query for IPv6 + Timeout int // Query timeout + Threads int // Concurrent threads + OnResult OnResultFunc // Result handler + + // Todo + // ENT bool // Query for ENT + // Verify bool // Verify query } // Result handler function