6 个版本 (破坏性更新)
使用旧的 Rust 2015
0.6.0 | 2018 年 9 月 20 日 |
---|---|
0.5.0 | 2018 年 6 月 5 日 |
0.4.0 | 2018 年 4 月 1 日 |
0.3.0 | 2018 年 4 月 1 日 |
0.1.0 | 2018 年 2 月 6 日 |
#14 在 #hostname
每月 22 次下载
12KB
165 行
dnsoverhttps - D'oh!
通过发送 HTTPS 上的 DNS 查询来解决域名。默认使用 https://1.1.1.1
作为 DNS 解析器,由 Cloudflare 托管。根据 Cloudflare,这是一个以隐私为先的消费者 DNS 服务。更多信息请见 https://1.1.1.1。
基于 https://tools.ietf.org/html/draft-ietf-doh-dns-over-https-07。
缺点
- 当指定 URL 时,必须同时指定主机名以用于 HTTP。从服务器收到的 TLS 证书已验证,但没有检查正确的主机名。
- 目前仅处理 A 和 AAAA 记录(IPv4 & IPv6,当递归解析时隐式处理 CNAMES)
示例:默认解析器
let addr = dnsoverhttps::resolve_host("example.com");
示例:自定义解析器
let client = dnsoverhttps::Client::from_url_with_hostname("https://172.217.21.110/experimental", "dns.google.com".to_string()).unwrap();
let addr = client.resolve_host("example.com");
命令行界面使用方法
dnsoverhttps
包含一个小型的 CLI 工具,提供 host
功能以解析域名
$ host example.com
example.com has address 2606:2800:220:1:248:1893:25c8:1946
example.com has address 93.184.216.34
安装
cargo install dnsoverhttps
许可证
MIT。请参阅 LICENSE。
依赖项
~24–35MB
~599K SLoC