#zone #dns #抽象 #API绑定

libdns

为不同提供商抽象和实现DNS区域管理

2个版本

0.1.1 2024年4月6日
0.1.0 2024年4月4日

#20 in #区域

每月32次下载

0BSD许可证

37KB
723

libdns-rs

crates.io Docs Build and check

此项目是使用Rust编写的libdns的复制品。它定义了一个用于管理DNS区域的抽象API,并为几个广泛使用的提供商实现了它。

[!注意] 此项目是我学习Rust的第一次(认真的)尝试。我非常感谢对此有任何建议和提示,所以请随时在问题中提出它们 :)

使用

要将libdns添加到您的项目中,以下条目足以包含仅抽象DNS区域管理特质

[dependencies]
libdns = { version = "0" }

包括提供商实现

如果您需要添加一个或多个具体的提供商实现,您可以简单地向依赖项的features字段添加相应的功能标志

提供商 功能标志
Hetzner hetzner

选择TLS后端

提供商实现使用reqwest与其API通信,尽可能。默认情况下,reqwest启用了default-tls功能。可以提供这些功能来选择不同的TLS后端(请记住禁用默认功能)

  • default-tls(默认)
  • rustls-tls
  • native-tls
  • native-tls-vendor

请参阅reqwest文档以了解TLS后端的功能概述。

贡献

我对这个项目的任何贡献都表示感谢,因此请随时在必要时请求、添加或修复提供商实现。

依赖项

~0.3–15MB
~214K SLoC