#dns-resolver #hyper #hickory #connector #default #advanced

hyper-hickory

使用 hickory 的 DNS 解析器作为 HTTP 连接器

2 个不稳定版本

0.7.0 2024 年 1 月 12 日
0.6.0 2023 年 10 月 14 日

#157HTTP 客户端

Download history 1384/week @ 2024-03-13 1103/week @ 2024-03-20 920/week @ 2024-03-27 814/week @ 2024-04-03 791/week @ 2024-04-10 1540/week @ 2024-04-17 2015/week @ 2024-04-24 1829/week @ 2024-05-01 1087/week @ 2024-05-08 1470/week @ 2024-05-15 1206/week @ 2024-05-22 1176/week @ 2024-05-29 1759/week @ 2024-06-05 2754/week @ 2024-06-12 880/week @ 2024-06-19 1049/week @ 2024-06-26

6,566 每月下载量
用于 odd-box

MIT 许可证

13KB
138

hyper-hickory

这个 crate 提供了一个 HTTP 连接器,用于 hyper,它使用 hickory 的快速和高级 DNS 解析器,而不是 hyper 的默认线程池实现。

用法

use http_body_util::Full; // Or your preferred Body implementation
use hyper::body::Bytes;
use hyper_hickory::HickoryResolver;
use hyper_util::{client::legacy::Client, rt::TokioExecutor};

let connector = HickoryResolver::default().into_http_connector();
let client: Client<_, Full<Bytes>> = Client::builder(TokioExecutor::new()).build(connector);

解析器

有一个 HickoryResolver 解析器,可以由 AsyncResolver 构建,使用 HickoryResolver::from_async_resolver

对于大多数您愿意使用标准 TokioRuntimeProvider 的情况,应使用 TokioHickoryResolver,并且可以更容易地构建。

连接器类型

有两种连接器

山核桃选项

该箱具有其他功能,可以在hickory-resolver中切换功能,包括dns-over-openssldns-over-native-tlsdns-over-rustls(与rustls-webpkirustls-native结合)用于DNS-over-TLS、dns-over-https-rustls用于DNS-over-HTTPS,以及dnssec-openssldnssec-ring用于DNSSEC。

关于DNSSEC的说明

在此crate的0.5.0版本之前启用DNSSEC功能时,DNSSEC功能从未实际使用过。自那时以来已做了更改,并且可能由于hickory-resolver在未签名记录上失败而导致突然的破坏性行为。

此行为将持续到hickory中的DNSSEC得到改进

依赖关系

~10–24MB
~379K SLoC