techendeavors/dnsoverhttps

DNSOverHttps 允许您通过 HTTPS 连接查询 DNS 记录,而不是与本地 DNS 服务器交互。支持公共 Mozilla、Cloudflare 和 Google API 服务器。

1.0.5 2018-07-21 20:33 UTC

This package is auto-updated.

Last update: 2024-09-22 09:43:58 UTC


README

DNSOverHttps 允许您通过 HTTPS 连接查询 DNS 记录,而不是与本地 DNS 服务器交互

Latest Version on Packagist Total Downloads

DNSOverHttps 允许您通过 HTTPS 连接查询 DNS 记录,而不是与本地 DNS 服务器交互。支持公共 Mozilla、Cloudflare 和 Google API 服务器。

DnsOverHttps 服务器只支持一次性请求一个记录类型,但我们为您处理了这一点。只需传递一个包含您想要记录类型的数组,该软件包将查询所有这些记录并将它们合并成一个对象。

虽然 DNS Over Https 服务器做了很多工作,但我们还打包了一些可能有用的客户端实用程序。

待办事项

  • [ ] 构建 'techendeavors/tldverify' 软件包并集成它
  • [ ] 允许在构建器中覆盖 DNS Over Https 主机
  • [ ] 使返回的数据更易于处理。
  • [X] 当请求多个 RR 时,将 Guzzle 设置为并行查询并使用承诺,而不是按顺序进行请求
  • [X] 将所有 guzzle 承诺响应合并成一个对象
  • [ ] 允许在多个主机之间分配请求,而不仅仅是使用主主机
  • [X] 允许软件包配置覆盖常量。
  • [ ] 构建一些验证器(DnsHasA、DnsHasAAAA、DnsHasMX、DnsHasSoa、DnsHasNs 等)
  • [ ] 编写测试
  • [ ] 如果未安装 Guzzle,则回退到 Curl。将 Guzzle 要求更改为建议包。

安装

您可以通过 composer 安装此软件包

composer require techendeavors/dnsoverhttps

使用方法

最基本的。默认为 A 和 AAAA 记录,除非被覆盖。

$domain = new DNSOverHttps;
$domain->domain('example.com');
$domain->check();
=> [
     [
       "domain" => "example.com",
       "records" => [
         "A" => [
           "93.184.216.34",
         ],
         "AAAA" => [
           "2606:2800:220:1:248:1893:25c8:1946",
         ],
       ],
     ],
   ]

稍微复杂一些。

$domain = new DNSOverHttps();
$domain->domains(['example.com', 'techendeavors.com', 'packagist.org']);
$domain->records(['A', 'AAAA', 'MX', 'CNAME', 'TXT']);
$domain->check();
=> [
     [
       "domain" => "example.com",
       "records" => [
         "A" => [
           "93.184.216.34",
         ],
         "MX" => [],
         "TXT" => [
           ""v=spf1 -all"",
           ""$Id: example.com 4415 2015-08-24 20:12:23Z davids $"",
         ],
         "AAAA" => [
           "2606:2800:220:1:248:1893:25c8:1946",
         ],
       ],
     ],
     [
       "domain" => "packagist.org",
       "records" => [
         "A" => [
           "142.44.164.255",
         ],
         "MX" => [
           "10 aspmx2.googlemail.com.",
           "5 alt2.aspmx.l.google.com.",
           "5 alt1.aspmx.l.google.com.",
           "10 aspmx3.googlemail.com.",
           "10 aspmx4.googlemail.com.",
           "10 aspmx5.googlemail.com.",
           "1 aspmx.l.google.com.",
         ],
         "TXT" => [
           ""v=spf1 a mx mx:ns373883.ip-5-196-92.eu include:_spf.google.com include:amazonses.com ~all"",
           ""google-site-verification=u1ogg4eabdx_nFHnTHC0s4KfKUkSzaME6FIbDj9NU1Y"",
         ],
         "AAAA" => [
           "2607:5300:201:2100::7:2274",
         ],
       ],
     ],
     [
       "domain" => "techendeavors.com",
       "records" => [
         "A" => [
           "104.28.3.33",
           "104.28.2.33",
         ],
         "MX" => [
           "20 eagle-relay.mxlogin.com.",
           "10 eagle.mxlogin.com.",
         ],
         "TXT" => [
           ""keybase-site-verification=qUHhd_PYnbKj0SQIzOZuv-LIhPW8wLoCgMZ3Z6nf8A0"",
           ""keybase-site-verification=5sU4NgQQ1slHOkwKahEVR19_TFm6XQULunmqbtTIXgc"",
           ""v=spf1 include:mxlogin.com -all"",
         ],
         "AAAA" => [
           "2400:cb00:2048:1::681c:221",
           "2400:cb00:2048:1::681c:321",
         ],
       ],
     ],
   ]

测试

尚未实现

变更日志

请参阅变更日志,了解最近有哪些更改。

贡献

请参阅贡献指南以获取详细信息。

安全性

如果您发现任何与安全相关的问题,请使用问题跟踪器

鸣谢

许可证

MIT 许可证(MIT)。有关更多信息,请参阅许可证文件