pkg.soopen package index

brew / rank 3410

Install q with Homebrew, MacPorts, Nix, scoop, winget

Tiny command-line DNS client with support for UDP, TCP, DoT, DoH, DoQ and ODoH. Version 0.19.12 via Homebrew; verified 2026-09-13. Also installable with nix: nix profile install nixpkgs#q.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install q

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install q

MacPorts ports tree · lang/q/Portfile · source: api.github.com

Linux

Nixverified · 92%
nix profile install nixpkgs#q

nixpkgs package indexes · pkgs/by-name/q/q/package.nix · source: api.github.com

Windows

Scoopverified · 92%
scoop install main/q

Scoop official bucket manifest trees · bucket/q.json · source: api.github.com

Windows Package Managerverified · 92%
winget install --id natesales.q -e

Windows Package Manager source index · natesales.q · source: cdn.winget.microsoft.com

overview

Package summary

Tiny command-line DNS client with support for UDP, TCP, DoT, DoH, DoQ and ODoH

Commands and aliases

  • q

history

Project history and usage

q is a compact Go command-line DNS client supporting conventional DNS and multiple encrypted DNS transports.

Project history

Nate Sales developed q as a small but feature-rich alternative to traditional DNS query clients. The program grew beyond UDP and TCP DNS to support DNS over TLS, HTTPS, QUIC, Oblivious HTTPS, and DNSCrypt.

The interface retains familiar DNS-client conventions, including `@server` selection and `+[no]flag` toggles, while adding JSON and YAML output, DNS Stamps, recursive AXFR, and IP registry enrichment.

Adoption history

q is distributed through Homebrew, MacPorts, Nix, Scoop, WinGet, the Arch User Repository, GitHub releases, Go installation, containers, and maintainer-operated apt/yum repositories. This gives the single-binary client unusually broad availability across desktop and Unix-like package ecosystems.

How it is used

Users query default or explicit DNS record types, select a resolver with an `@server` argument, perform reverse lookups, request DNSSEC data, and choose pretty, raw, JSON, or YAML output.

q selects a server from an explicit argument, then `Q_DEFAULT_SERVER`, then `/etc/resolv.conf`. Its `+[no]flag` convention and raw output ease transitions from `dig`, while encrypted transports support modern resolver testing.

Why package nerds care

q belongs to a newer generation of DNS inspection tools that preserve familiar `dig`-style concepts while treating encrypted transports and machine-readable output as first-class features. Its compact Go distribution and wide package availability make it convenient for shell diagnostics and protocol testing.

Timeline

  • Initial development: q was introduced as a small command-line DNS query utility.
  • Protocol expansion: Support grew to include DoT, DoH, DoQ, ODoH, DNSCrypt, and DNS Stamps.
  • Distribution expansion: q became available through multiple operating-system package managers, Go installation, GitHub binaries, and a container image.

Related projects

  • dig, kdig, drill, dog, and doggo are DNS clients compared directly in q's official README.
  • The miekg/dns Go module supplies core DNS functionality used by q.

security posture

Risk level: blue

broad file, network, media, or database tool signal.

Risk classifier

blue risk · medium confidence · tool

Why

  • broad file, network, media, or database tool signal

Signals

  • text:client

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 6 platform targets.
  • Build metadata lists 1 build dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

local files

Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.

Configuration files

Config paths the tool may read or write during local use.

Unix
/etc/resolv.conf

executables

Installed executables

CommandKindExposureNote
qcliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-09-19
manager version0.19.12
manager updated2026-09-13
local dataok
upstreamcurrent
latest detectedv0.19.12

https://github.com/natesales/q

  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:q
Version0.19.12
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/q
Homepagehttps://github.com/natesales/q
Repositoryhttps://github.com/natesales/q
LicenseGPL-3.0-only
Source archivehttps://github.com/natesales/q/archive/refs/tags/v0.19.12.tar.gz
Last updated2026-09-13T19:55:37Z
Pulseupdated
Build dependenciesgo
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Nameq
Version Scheme0
Revision0
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Nix95%

q

nix profile install nixpkgs#q
  • normalized package name match
  • Matched by: Q
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/q/q/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
MacPorts95%

q

sudo port install q
  • normalized package name match
  • Matched by: Q
MacPorts ports tree · api.github.com · MacPorts ports tree: lang/q/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
Scoop95%

main/q

scoop install main/q
  • normalized package name match
  • Matched by: Q
Scoop official bucket manifest trees · api.github.com · Scoop official bucket manifest trees: bucket/q.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1
winget95%

natesales.q

winget install --id natesales.q -e
  • normalized package name match
  • Matched by: Q
Windows Package Manager source index · cdn.winget.microsoft.com · Windows Package Manager source index: natesales.q from https://cdn.winget.microsoft.com/cache/source.msix

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Combined YAML source

View the package source record on GitHub.

combined/q.yml

Used sources

  • Geiger risk classifier
  • cross-ecosystem install command graph
  • curated configuration and credential file locations
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment
  • pkg.so package database
  • pkgdb category and tag curation