| Crates.io | libdns |
| lib.rs | libdns |
| version | 0.1.1 |
| created_at | 2024-04-04 20:08:11.047623+00 |
| updated_at | 2024-04-06 14:28:19.599517+00 |
| description | Abstracting and implementing DNS zone management for different providers |
| homepage | |
| repository | https://github.com/lus/libdns-rs |
| max_upload_size | |
| id | 1196685 |
| size | 37,721 |
This project is a rip-off of libdns written in Rust. It defines an abstract API for managing DNS zones and implements it for several widely-used providers.
[!NOTE] This project is my very first (serious) attempt at learning Rust. I am more than thankful for any suggestions and tips on this matter, so please feel welcomed to bring them up in an issue :)
To add libdns to your project, an entry like the following would be enough to include only the abstract DNS zone management traits:
[dependencies]
libdns = { version = "0" }
If you need one or more concrete provider implementations as well, you can simply add their corresponding feature flags to the dependency's features field:
| Provider | Feature Flag |
|---|---|
| Hetzner | hetzner |
The provider implementations use reqwest for communicating with their APIs whenever possible.
By default, the default-tls feature is enabled for reqwest.
These features can be given instead for choosing a different TLS backend (remember to disable the default features):
default-tls (default)rustls-tlsnative-tlsnative-tls-vendorPlease refer to reqwests docs for an overview on what TLS backend does what.
I am grateful for any contribution to this project, so feel free to request, add or fix provider implementations when neccessary.