.forgejo/workflows | ||
.github | ||
cmd | ||
completions | ||
conf | ||
coverage | ||
docs | ||
pkg | ||
.editorconfig | ||
.gitignore | ||
.gitmodules | ||
.golangci.yaml | ||
.goreleaser.yaml | ||
Dockerfile | ||
docs.go | ||
GNUmakefile | ||
go.mod | ||
go.sum | ||
LICENSE | ||
main.go | ||
main_test.go | ||
Makefile | ||
mkfile | ||
README.md | ||
renovate.json | ||
template.mk |
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.
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
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
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
Credits
- Awl image taken from Wikimedia Commons, imaged is licensed CC0.