You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
Renovate Bot 260eb979b3 fix(deps): update module to v3.5.1 6 days ago
.github chore(deps): update goreleaser/goreleaser-action action to v5 2 weeks ago
cmd fix(deps): update module to v3.5.0 (#202) 1 month ago
completions feat: Trace (#162) 10 months ago
conf feat: change import URL 7 months ago
coverage (refactor) Draw the rest of the owl (#38) 1 year ago
doc fix(doc): fix literally unusable typo in manpage 7 months ago
pkg make test happy for some reason 4 months ago
snap misc: Snapcraft support (#87) 12 months ago
.drone.jsonnet fix(deps): update module to v0.37.4 (#206) 1 month ago
.editorconfig refactor: Make tests less ugly (#102) 1 year ago
.gitignore fix(goreleaser): stop using universal binaries 7 months ago
.gitmodules Remove AUR submodule 1 year ago
.golangci.yaml feat: more API work 1 year ago
.goreleaser.yaml [SKIP CI] fix(goreleaser): Unbreak termux? 1 month ago
GNUmakefile fix(Make): stop compressing the manpages 7 months ago
LICENCE (feat)EDNS (#55) 1 year ago
Makefile fix(Make): stop compressing the manpages 7 months ago [SKIP CI] docs: Bump go version in README 1 month ago
docs.go (feat)Completions and documentation (#78) 1 year ago
go.mod fix(deps): update module to v3.5.1 6 days ago
go.sum fix(deps): update module to v3.5.1 6 days ago
main.go feat: change import URL 7 months ago
main_test.go feat: Trace (#162) 10 months ago
mkfile fix(mk): Add version number in -V 1 month ago
renovate.json Another "minor refactor" (#61) 1 year ago fix(make): use correct tag when version is greater than 10 10 months ago


Build Status

awl is a command-line DNS client, much like drill, dig, dog, doggo, or q.

awl is designed to be a drop-in replacement for the venerable dig, but support newer RFC query types, such as DNS-over-HTTPS and DNS-over-QUIC.


Building and installing

From releases

Grab a prebuilt binary from the release section.

Package Managers

  • AUR: awl-dns-git

  • Debian/Ubuntu (any .deb consuming distro should work):

    # Add PGP key
    sudo curl -o /usr/share/keyrings/git-froth-zone.asc
    # Add repo
    echo "deb [signed-by=/usr/share/keyrings/git-froth-zone.asc] sid main" | sudo tee /etc/apt/sources.list.d/git-froth-zone.list
    sudo apt update
    sudo apt install awl-dns
  • Fedora (any .rpm consuming distro should work but will run into problems updating, not recommended):

    echo '[git-froth-zone-sam]
    name=sam - Froth Git
    gpgkey=' | sudo tee /etc/yum.repos.d/git-froth-zone-sam.repo
    sudo yum install awl-dns
  • Alpine (any .apk consuming distro should work):

    echo "" | sudo tee -a /etc/apk/repositories
    sudo curl -JO --output-dir /etc/apk/keys
    sudo apk add awl-dns
  • Homebrew:

    brew install SamTherapy/tap/awl
  • Scoop:

    scoop bucket add froth
    scoop install awl

From source


  • Go >= 1.20
  • GNU/BSD make or Plan 9 mk (if using the makefile/mkfile)
  • scdoc (optional, for man page)

Using go install:

go install

Using the makefile:

make && sudo make install


Send a pull request our way. Prefer emails? Send a patch to the mailing list.

Found a bug or want a new feature? Create an issue here.


Revised BSD, See LICENCE