# Install hickory-dns with Homebrew, apk, apt, Nix

Rust based DNS client, server, and resolver. Version 0.26.1 via Homebrew; verified 2026-05-01.

## Install

```sh
sudo av install brew:hickory-dns
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install hickory-dns
```

  Evidence: local Homebrew formula metadata

### Linux

- apk (92%):

```sh
sudo apk add hickory-dns
```

  Evidence: Alpine Linux edge package indexes: hickory-dns from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install hickory-dns
```

  Evidence: Debian stable package indexes: hickory-dns from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- Nix (92%):

```sh
nix profile install nixpkgs#hickory-dns
```

  Evidence: nixpkgs package indexes: pkgs/by-name/hi/hickory-dns/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:hickory-dns
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/hickory-dns>
- **Version:** 0.26.1
- **Source summary:** Rust based DNS client, server, and resolver
- **Homepage:** <https://github.com/hickory-dns/hickory-dns>
- **Repository:** <https://github.com/hickory-dns/hickory-dns>
- **Upstream docs:** <https://github.com/hickory-dns/hickory-dns#readme>
- **License:** Apache-2.0 OR MIT
- **Source archive:** <https://github.com/hickory-dns/hickory-dns/archive/refs/tags/v0.26.1.tar.gz>
- **Last updated:** 2026-05-01T15:32:00Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- hickory-dns (cli)
- hickory-dns (alias)

## Build dependencies

- rust

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 0.26.1
- Package-manager updated: 2026-05-01
- Local data: ok
- Upstream repository: https://github.com/hickory-dns/hickory-dns
- Upstream latest detected: v0.26.1 (current)
## Project history and usage

Hickory DNS is a Rust DNS stack covering client, protocol, resolver, recursor, and authoritative-server use cases. The `hickory-dns` binary is the server-facing package entry point, while the repository also publishes reusable crates for application developers.

The project is historically the continuation of Trust-DNS. Its own README and rebranding issue describe the move from Trust-DNS to Hickory DNS, including the crate renames and repository move that landed with the 0.24 release line.

### Project history

The tag history starts in 2015, when the project was still Trust-DNS and early releases focused on DNS resource records, configuration-file support, server/client pieces, and DNSSEC-related work. The architecture notes say the libraries grew from non-blocking I/O before Rust's async/await ecosystem settled.

Over time, the codebase became a multi-crate DNS suite: `hickory-proto` for message encoding and transports, `hickory-client` for query/update/notify operations, `hickory-server` for hosted zones, `hickory-resolver` for application resolution, `hickory-recursor` for recursive resolution, and `hickory-dns` as the server binary.

In October 2023, the project prepared Trust-DNS 0.23.1 as the final Trust-DNS release and Hickory DNS 0.24.0 as the branding-change release. The 0.24 commit message records the crate renames, README notices, license-name updates, logo updates, and repository reference changes.

### Adoption history

Hickory's adoption path is split between Rust crates and system packages. The README badges and architecture file emphasize individually published crates, while the Homebrew input record shows the server binary packaged as `hickory-dns` across brew, apk, Debian, and Nix.

The resolver crate is especially important for Rust applications because the README says it can be used in place of standard OS resolution facilities. The manual also documents server and recursive-resolver operation with DNSSEC validation, which broadens Hickory from library dependency to runnable network service.

The rebrand preserved continuity for the Trust-DNS user base while making package and crate names align around Hickory. Package maintainers care about that transition because it changed names without changing the basic role of the DNS stack.

### How it is used

As a command-line package, `hickory-dns` runs a DNS server or resolver from a TOML configuration. The user manual shows recursive-resolver setup with `root.hints`, `trusted-key.key`, `config.toml`, and a `hickory-dns --config=./config.toml` invocation.

As libraries, the Hickory crates cover lower-level DNS message work, direct client operations, hosted-zone server construction, application resolver integration, and recursive resolution. The README also documents DNSSEC support and feature-gated cryptography providers for DNSSEC, DNS-over-TLS, and related protocols.

### Why package nerds care

Hickory DNS is notable in package-manager culture because it is a serious network-service package written in Rust, not just a developer convenience CLI. It gives Unix package sets a Rust-native authoritative/recursive DNS option with a library ecosystem behind it.

The Trust-DNS-to-Hickory rename is also a packaging case study: package names, crate names, documentation URLs, and repository ownership all moved together, so downstreams had to distinguish an upstream continuation from a new unrelated DNS project.

### Timeline

- 2015: Trust-DNS 0.1.0 tag appears with early resource-record work.
- 2015: 0.3.0 adds configuration-file support.
- 2020: 0.20.0 release line includes the resolver CLI path documented by the README.
- 2023: Trust-DNS 0.23.1 is prepared as the final Trust-DNS release.
- 2023: Hickory DNS 0.24.0 performs the branding and crate-name transition.
- 2025: 0.25.0 architecture notes mark old Trust-DNS crates as removed in favor of Hickory crates.

### Related projects

- Trust-DNS is the direct predecessor and former project name.
- The Hickory crate family includes hickory-proto, hickory-client, hickory-server, hickory-resolver, hickory-recursor, hickory-util, and the hickory-dns binary.
- BIND-style DNS server practice is a background comparison point because Hickory also uses named-style server configuration paths such as `/etc/named.toml` in packaged examples.

### Sources

- Architecture notes: https://github.com/hickory-dns/hickory-dns/blob/main/ARCHITECTURE.md
- README: https://github.com/hickory-dns/hickory-dns#readme
- Rebranding issue: https://github.com/hickory-dns/hickory-dns/issues/2051
- Recursive resolver manual: https://hickory-dns.org/book/hickory/recursive_resolver.html
- Repository tags: https://github.com/hickory-dns/hickory-dns/tags


## Security Notes

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

- **Geiger risk:** blue / medium
- broad file, network, media, or database tool signal


## 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

- Unix: ./config.toml, /etc/named.toml
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** hickory-dns
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Debian apt - hickory-dns - 0.24.4-1+b2: normalized package name match | Debian stable package indexes: hickory-dns from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | safe and secure DNS server with DNSSEC support | https://hickory-dns.org/
- Nix - hickory-dns: normalized package name match | nixpkgs package indexes: pkgs/by-name/hi/hickory-dns/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- apk - hickory-dns - 0.26.1-r0: normalized package name match | Alpine Linux edge package indexes: hickory-dns from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | A safe and secure DNS server with DNSSEC support | https://hickory-dns.org/
- apk - hickory-dns-openrc - 0.26.1-r0: normalized package name match | Alpine Linux edge package indexes: hickory-dns-openrc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | A safe and secure DNS server with DNSSEC support (OpenRC init scripts) | https://hickory-dns.org/
- apk - hickory-dns-utils - 0.26.1-r0: normalized package name match | Alpine Linux edge package indexes: hickory-dns-utils from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | A safe and secure DNS server with DNSSEC support | https://hickory-dns.org/


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Language runtime packages](https://www.automicvault.com/pkg/language-runtime-packages/) - Matched language runtime, compiler, or interpreter metadata.
- [rust](https://www.automicvault.com/pkg/brew/rust/) - Build dependency declared by Homebrew.
- [adns](https://www.automicvault.com/pkg/brew/adns/) - Shares av.db curated category or tags: cli, dns, networking, resolver.
- [bind](https://www.automicvault.com/pkg/brew/bind/) - Shares av.db curated category or tags: cli, dns, networking, server.
- [c-ares](https://www.automicvault.com/pkg/brew/c-ares/) - Shares av.db curated category or tags: cli, dns, networking, resolver.
- [coredns](https://www.automicvault.com/pkg/brew/coredns/) - Shares av.db curated category or tags: cli, dns, networking, server.
- [djbdns](https://www.automicvault.com/pkg/brew/djbdns/) - Shares av.db curated category or tags: cli, dns, networking, resolver.
- [dnscrypt-wrapper](https://www.automicvault.com/pkg/brew/dnscrypt-wrapper/) - Shares av.db curated category or tags: cli, dns, networking, server.
- [doh](https://www.automicvault.com/pkg/brew/doh/) - Shares av.db curated category or tags: cli, dns, networking, resolver.
- [getdns](https://www.automicvault.com/pkg/brew/getdns/) - Shares av.db curated category or tags: cli, dns, networking, resolver.
- [smartdns](https://www.automicvault.com/pkg/brew/smartdns/) - Both packages touch the same language runtime or ecosystem. Shared terms: based, cli, dns, networking, rust.
- [massdns](https://www.automicvault.com/pkg/brew/massdns/) - Local package facts share a topical domain. Shared terms: cli, dns, networking, resolver.

## Combined YAML source

View the package source record on GitHub. [combined/hickory-dns.yml](https://github.com/automic-vault/db/blob/main/combined/hickory-dns.yml)


## Sources

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