blink/README.md
2024-07-09 19:04:40 +01:00

79 lines
1.7 KiB
Markdown

# Blink
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://www.apache.org/licenses/LICENSE-2.0.html)
Blink is a DNS bruteforcer made in Go
## This project is a work in progress
## Features
<!--
+ ENT (Empty non-terminal)
+ Verifying query
-->
+ UDP query
+ IPv4/IPv6 support
+ Wildcard detection
## Usage
### Help
```
Blink is a DNS bruteforcer made in Go
Usage:
blink [flags]
Flags:
-w, --wordlist string Path to wordlist
-r, --resolvers string Path to resolvers
-o, --output string Path to save output (csv, txt, json)
-u, --udp Query using UDP
-i, --ipv6 Query for IPv6
-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 youtube.com disney.com
```
```
echo "disney.com" | blink -w subdomains.txt -r resolvers.txt -d -c 50
```
## Library
### Basic
```go
package main
import (
"git.supernets.org/perp/blink/v1/pkg/dns"
"git.supernets.org/perp/blink/v1/pkg/runner"
)
func main() {
opts := &runner.Options {
Domains: []string{"disney.com"},
Wordlist: []string{"git", "www", "shop"},
Resolvers: []string{"1.1.1.1:53", "9.9.9.9:53"},
}
opts.OnResult = func(result *dns.Result) {
fmt.Println(result)
}
run := runner.New(opts)
fmt.Println(run.Wildcard("disney.com"))
run.Start()
}
```
## Credits
Thanks to [aiodnsbrute](https://github.com/blark/aiodnsbrute) for the inspiration
## Disclaimer
###### Developers are not responsible for any misuse