8个版本 (4个重大更新)
0.5.0 | 2022年9月5日 |
---|---|
0.4.2 | 2022年4月13日 |
0.3.1 | 2021年12月1日 |
0.3.0 | 2021年11月21日 |
0.1.0 | 2021年10月12日 |
#4 in #trust-dns
4,738 monthly downloads
在 6 crates 中使用
17KB
180 行
hyper-trust-dns
此crate为hyper提供HTTP/HTTPS连接器,使用trust-dns的快速和高级DNS解析器,而不是hyper的默认线程池实现。
用法
use hyper::Client;
use hyper_trust_dns::TrustDnsResolver;
let connector = TrustDnsResolver::default().into_rustls_native_https_connector();
let client: Client<_> = Client::builder().build(connector);
连接器类型
有3种连接器
TrustDnsHttpConnector
,是HttpConnector<TrustDnsResolver>
的包装。使用TrustDnsResolver::into_http_connector
创建。RustlsHttpsConnector
,一个基于hyper-rustls的连接器,用于与TrustDnsHttpConnector
一起工作。使用TrustDnsResolver::into_rustls_native_https_connector
或TrustDnsResolver::into_rustls_webpki_https_connector
创建。NativeTlsHttpsConnector
,一个基于hyper-tls的连接器,用于与TrustDnsHttpConnector
协同工作。通过TrustDnsResolver::into_native_tls_https_connector
创建。
HTTP连接器始终可用,其他两个可以通过启用rustls-webpki
(使用webpki根)/rustls-native
(使用操作系统证书存储)/native-tls
功能来启用。
Trust-DNS选项
该包还具有其他功能,可以切换trust-dns-resolver中的功能,包括dns-over-openssl
、dns-over-native-tls
和dns-over-rustls
用于DNS-over-TLS,dns-over-https-rustls
用于DNS-over-HTTPS以及dnssec-openssl
和dnssec-ring
用于DNSSEC。
关于DNSSEC的说明
如果在本crate的0.5.0版本之前启用,DNSSEC功能从未真正使用过。这已经改变,并可能导致由于trust-dns-resolver在未签名记录上失败而突然出现破坏性行为。
这种行为将持续到在trust-dns中改进DNSSEC。
依赖项
~10-27MB
~402K SLoC