[Trust-DNS](https://github.com/bluejekyll/trust-dns) is a Rust based DNS
client, server, and Resolver, built to be safe and secure from the
ground up.
It has following crates/packages:
- Trust-DNS: Binaries for running a DNS authoritative server.
- Proto: Raw DNS library, exposes an unstable API and only for use by
the other Trust-DNS libraries, not intended for end-user use.
- It has 12 million+ downloads
- Used by projects like:
- [mongodb](https://crates.io/crates/mongodb)
- [actix-connect](https://crates.io/crates/actix-connect)
- [trust-dns-resolver(Resolver
crate)](https://crates.io/crates/trust-dns-resolver)
- Client: Used for sending query, update, and notify messages directly
to a DNS server.
- Server: Use to host DNS records, this also has a named binary for
running in a daemon form.
- Resolver: Utilizes the client library to perform DNS resolution. Can
be used in place of the standard OS resolution facilities.
- It has 11 million+ downloads.
- Used by projects like:
- [reqwest](https://github.com/seanmonstar/reqwest)
- [awc](https://crates.io/crates/awc)
- [mongodb](https://crates.io/crates/mongodb)
- [libp2p-dns](https://crates.io/crates/libp2p-dns)
Note: trust-dns fuzzes **Proto** crate/package for now in
[trust-dns/fuzz/Cargo.toml](a88a7a575a/fuzz/Cargo.toml (L13)).
Co-authored-by: Navidem <navid.emamdoost@gmail.com>