22 个版本 (破坏性更新)

0.18.0 2024年7月12日
0.17.0 2024年1月19日
0.16.0 2023年10月21日
0.15.0 2023年4月8日
0.11.1 2021年11月20日

网络编程 中排名 #832

Download history 107/week @ 2024-04-29 76/week @ 2024-05-06 73/week @ 2024-05-13 81/week @ 2024-05-20 87/week @ 2024-05-27 50/week @ 2024-06-03 85/week @ 2024-06-10 56/week @ 2024-06-17 77/week @ 2024-06-24 65/week @ 2024-07-01 932/week @ 2024-07-08 74/week @ 2024-07-15 33/week @ 2024-07-22 171/week @ 2024-07-29 302/week @ 2024-08-05 144/week @ 2024-08-12

每月下载量 689
ch4 中使用

MIT/Apache 协议

325KB
6.5K SLoC

rsdns - DNS 客户端库

rsdns 是一个用于与 DNS 服务器交互的 Rust 库。

其主要目标是查询域名系统,并以易于消费的 Rust 类型返回结果。

rsdns 力求简单和快速。为了简单,rsdns 保持最小化的 API。为了快速,rsdns 力求允许以最小开销解析 DNS 消息。

有一些包实现了异步 DNS 客户端,但它们是为单个异步运行时构建的。这在某种程度上阻碍了在围绕其他运行时构建的应用程序中使用此类客户端。 rsdns 弥补了这一差距,并真正支持三种不同的异步运行时。此外,rsdns 还有一个独立的同步客户端。

crates.io docs.rs

显著特性

  • 最小化 API
  • tokioasync-stdsmol 提供异步 DNS 客户端
  • 使用 std::net 实现的阻塞客户端
  • 解析无变量长度字段的记录时没有内存分配
  • 可以将套接字绑定到网络接口的名称(在支持 SO_BINDTODEVICE 的操作系统中可用)
  • 依赖项最少

ch4

rsdns 随附一个小型命令行工具 ch4ch4 使用 rsdns 查询域名系统,并以区域文件格式显示结果。它可以用作 dig 的简单替代品,尤其是在 dig 本身不受支持的平台上。

支持的 RFC

路线图

以下是为近期计划的功能的简要列表。

变更日志

变更日志维护在CHANGELOG.md

许可

许可方式为以下之一。

您可自行选择。

贡献

除非您明确声明,否则您提交给工作的任何有意贡献,根据Apache-2.0许可证定义,应按上述方式双重许可,无需附加条款或条件。

依赖

~1–13MB
~160K SLoC