Cookie Engineer's Website

DNS Query

DNS Query Teaser

Overview

DNS Query is a dead-simple DNS client and ronin that manages the system's /etc/hosts file. It is built to make DNS work in hostile environments, when there's firewalls in place that try to block DNS requests or DNS exfil attempts.

Building

The build process is fully integrated with the Go build toolchain. All of the software's dependencies are automatically downloaded and compiled if necessary.

cd /path/to/dnsquery;
go build ./cmds/dnsquery/main.go -o dnsquery;

chmod +x dnsquery;
sudo cp dnsquery /usr/bin/dnsquery;
					

Usage

The DNS client automatically rotates and chooses a working DNS or DoT resolver that is reachable. In order to allow usage as a non-root user, it's easiest to allow writes to /etc/hosts .

# allow writes to /etc/hosts for non-root users
sudo chmod +w /etc/hosts;

# resolve a censored domain through DNS ronin
dnsquery libgen.li;

# if it fails to resolve (exit code 1), try again
dnsquery libgen.li;