Clean up everything

This commit is contained in:
perp 2024-07-09 18:00:24 +01:00
parent 5fd719131a
commit 4d584e2ee8
4 changed files with 27 additions and 31 deletions

View File

@ -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

View File

@ -1,5 +0,0 @@
# Todo
- [ ] Clean up CLI
- [ ] Fix logger levels
- [ ] Complete all options (ENT, verify etc)

View File

@ -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)

View File

@ -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