# 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 + UDP query + Verifying 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) -y, --verify Verify query -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")) fmt.Println(dns.Verify("shop.disney.com")) run.Start() } ``` ## Credits Thanks to [aiodnsbrute](https://github.com/blark/aiodnsbrute) for the inspiration ## Disclaimer ###### Developers are not responsible for any misuse