A command-line DNS lookup tool that supports DNS queries over UDP, TCP, TLS, HTTPS, DNSCrypt, and QUIC. https://dns.froth.zone/awl/
Find a file
Renovate Bot 791b4da5ee
Some checks failed
Mirror Push / mirror (push) Failing after 12m3s
Test / test (oldstable) (push) Successful in 1m19s
Test / test (stable) (push) Successful in 48s
chore(deps): update actions/setup-go action to v5
2024-07-26 18:01:18 +00:00
.forgejo/workflows chore(deps): update actions/setup-go action to v5 2024-07-26 18:01:18 +00:00
.github chore(deps): update goreleaser/goreleaser-action action to v6 2024-06-05 02:00:24 +00:00
cmd docs: Add more documentation 2024-03-23 22:00:01 +01:00
completions feat: Trace (#162) 2022-12-10 17:51:49 +00:00
conf feat: change import URL 2023-02-17 19:18:58 +01:00
coverage (refactor) Draw the rest of the owl (#38) 2022-07-26 00:32:31 +00:00
docs docs: Use the docs folder more 2024-03-23 22:05:57 +01:00
pkg docs: Use the docs folder more 2024-03-23 22:05:57 +01:00
.editorconfig refactor: Make tests less ugly (#102) 2022-09-21 23:08:31 +00:00
.gitignore docs: Use the docs folder more 2024-03-23 22:05:57 +01:00
.gitmodules docs: Use the docs folder more 2024-03-23 22:05:57 +01:00
.golangci.yaml feat: more API work 2022-09-15 11:02:43 +00:00
.goreleaser.yaml chore: Add Snap and Docker with Goreleaser 2024-04-17 19:00:51 +02:00
Dockerfile chore: Add Snap and Docker with Goreleaser 2024-04-17 19:00:51 +02:00
docs.go (feat)Completions and documentation (#78) 2022-09-04 23:28:47 +00:00
GNUmakefile docs: Use the docs folder more 2024-03-23 22:05:57 +01:00
go.mod fix(deps): update module golang.org/x/net to v0.27.0 2024-07-05 14:00:33 +00:00
go.sum fix(deps): update module golang.org/x/net to v0.27.0 2024-07-05 14:00:33 +00:00
LICENSE fix(docs): Totally redesign the readme 2024-03-15 18:16:58 +01:00
main.go feat: change import URL 2023-02-17 19:18:58 +01:00
main_test.go feat: Trace (#162) 2022-12-10 17:51:49 +00:00
Makefile docs: Use the docs folder more 2024-03-23 22:05:57 +01:00
mkfile docs: Use the docs folder more 2024-03-23 22:05:57 +01:00
README.md docs: make the README a little nicer 2024-04-19 23:01:11 +02:00
renovate.json misc(deps): Re-enable automerge 2024-03-16 23:47:30 +01:00
template.mk docs: Use the docs folder more 2024-03-23 22:05:57 +01:00

awl

awl (noun): A pointed tool for making small holes in wood or leather

A command-line DNS lookup tool that supports DNS queries over UDP, TCP, TLS, HTTPS, DNSCrypt, and QUIC.

Gitea Release Last Commit License Go Report

Awl is designed to be a drop-in replacement for dig.

Examples

# Query a domain over UDP
awl example.com

# Query a domain over HTTPS, print only the results
awl example.com +https --short

# Query a domain over TLS, print as JSON
awl example.com +tls +json

For more and the usage, see the manpage.

Installing

On any platform, with Go installed, run the following command to install:

go install dns.froth.zone/awl@latest

Packaging

Alternatively, many package managers are supported:

Linux

Distro-specific

Alpine Linux

Provided by Gitea packages
Any distro that uses apk should also work

# Add the repository
echo "https://git.froth.zone/api/packages/sam/alpine/edge/main" | tee -a /etc/apk/repositories
# Get the signing key
curl -JO https://git.froth.zone/api/packages/sam/alpine/key --output-dir /etc/apk/keys
# Install
apk add awl-dns
Arch

AUR package available as awl-dns-git

yay -S awl-dns-git ||
paru -S awl-dns-git
Debian / Ubuntu

Provided by Gitea packages
Any distro that uses deb/dpkg should also work

# Add PGP key
sudo curl https://git.froth.zone/api/packages/sam/debian/repository.key -o /usr/share/keyrings/git-froth-zone-sam.asc
# Add repo
echo "deb [signed-by=/usr/share/keyrings/git-froth-zone-sam.asc]  https://git.froth.zone/api/packages/sam/debian sid main" | sudo tee /etc/apt/sources.list.d/git-froth-zone-sam.list
# Update and install
sudo apt update
sudo apt install awl-dns
Fedora / RHEL / SUSE

Provided by Gitea packages
Any distro that uses rpm/dnf might also work, I've never tried it

# Add the repository
dnf config-manager --add-repo https://git.froth.zone/api/packages/sam/rpm.repo ||
zypper addrepo https://git.froth.zone/api/packages/sam/rpm.repo
# Install
dnf install awl-dns ||
zypper install awl-dns
Gentoo
# Add the ebuild repository
eselect repository add froth-zone git https://git.froth.zone/packaging/portage.git
emaint sync -r froth-zone
# Install
emerge -av net-dns/awl

Distro-agnostic

Homebrew
brew install SamTherapy/tap/awl
Snap

Snap package available as awl-dns

snap install awl-dns ||
sudo snap install awl-dns

macOS
Homebrew
brew install SamTherapy/tap/awl

Windows
Scoop
scoop bucket add froth https://git.froth.zone/packages/scoop.git
scoop install awl

Contributing

Please see the CONTRIBUTING.md file for more information.

TL;DR: If you like the project, spread the word! If you want to contribute, use the issue tracker or open a pull request. Want to use email instead? Use our mailing list!

Mirrors

The canonical repository is located on my personal Forgejo instance.
Official mirrors are located on GitHub and SourceHut. Contributions are accepted on all mirrors, but the Forgejo instance is preferred.

License

BSD-3-Clause

Credits