#dns #client #resolve


A small, simple and secure DNS client library

3 releases (breaking)

0.4.0 Nov 28, 2021
0.3.0 May 29, 2021
0.2.0 May 23, 2021

#9 in #resolve

Download history 16/week @ 2023-02-05 20/week @ 2023-02-12 32/week @ 2023-02-19 4/week @ 2023-02-26 22/week @ 2023-03-05 16/week @ 2023-03-12 12/week @ 2023-03-19 34/week @ 2023-03-26 24/week @ 2023-04-02 37/week @ 2023-04-09 8/week @ 2023-04-16 36/week @ 2023-04-23 28/week @ 2023-04-30 34/week @ 2023-05-07 5/week @ 2023-05-14 10/week @ 2023-05-21

77 downloads per month
Used in mxdns

ISC license

606 lines

A simple and secure DNS client

API documentation

This is a fork of the dnsclient crate which adds extra features.

This crate can resolve IPv4 and IPv6 addresses and supports International Domain Names (IDNA). This DNS client also supports reverse DNS lookups of IP to name and it can lookup a nameserver for a domain.

The client transparently falls back to TCP when a truncated response is received.

The API is simple and the crate supports sync, async-std, tokio and smol.


The documentation is generated for the sync feature. To test all features use scripts/test.sh.


A Small and Flexible DNS Client

The DNS Client has the following features:

  • Resolves IPv4 and IPv6 addresses.
  • Supports reverse lookups of IPv4 and IPv6 addresses.
  • Can lookup a nameserver for a domain.

There are multiple features available and one feature must be chosen:

Feature Description
sync Synchronous API
std-async Async API using async-std
smol-async Async API using smol
tokio-async Async API using tokio


~170K SLoC