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 a861defc9d
All checks were successful
Test / test (oldstable) (push) Successful in 46s
Test / test (stable) (push) Successful in 46s
fix(deps): update module golang.org/x/sys to v0.27.0
2024-11-07 22:01:01 +00:00
.forgejo/workflows goreleaser: Give up on parallelism, docker on forgejo 2024-10-15 16:52:34 +02: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 refactor(test/quic): Use Adguard DNS for all QUIC tests 2024-11-07 17:15:03 +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 docs(README): Use and provide a deb822 .sources 2024-10-15 00:00:25 +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/sys to v0.27.0 2024-11-07 22:01:01 +00:00
go.sum fix(deps): update module golang.org/x/sys to v0.27.0 2024-11-07 22:01:01 +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(readme): Add official GitLab mirror 2024-10-15 16:56:32 +02:00
renovate.json refactor(renovate): Group dependency updates together 2024-11-07 16:50:43 +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

# Install the repository and GPG keys
curl -JO https://git.froth.zone/packaging/-/packages/debian/git-froth-zone-debian/1-0/files/5937
sudo dpkg -i git-froth-zone-debian_1-0_all.deb
rm git-froth-zone-debian_1-0_all.deb
# 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, GitLab and SourceHut. Contributions are accepted on all mirrors, but the Forgejo instance is preferred.

License

BSD-3-Clause

Credits