问题标签 [dns-over-https]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
473 浏览

linux - 尝试在新的 Raspberry Pi 安装上安装 cloudflared 时出现“非法指令”错误

我正在关注 32 位树莓派的指南:https ://bendews.com/posts/implement-dns-over-https/

在“cloudflared -v”之后的第一步,我得到一个“非法指令”错误,我无法继续。

这是在 raspberry pi 1 B+ 上全新安装的 raspbian,包含所有必要的更新。我已经重新格式化并从头开始了两次,所以我很好奇是否有人知道这里有什么不正确的?

谢谢你的帮助。

0 投票
1 回答
229 浏览

javascript - application/dns-message 使用哪种编码?

我正在编写 DNS-over-HTTPS 服务器,它应该解析自定义名称,而不仅仅是将它们代理到其他 DoH 服务器,如 Google 的。我无法正确解码请求的正文。

例如,我得到请求正文,即二进制格式,特别是在 Uint8 ArrayBuffer 类型的 javascript 中。我正在使用以下代码来获取数组的 ba​​se64 格式:

结果我得到了这样的结果:

AAABAAABAAAAAAABCmFwbngtbWF0Y2gGZG90b21pA2NvbQAAAQABAAApEAAAAAAAAE4ADABKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=

现在,根据RCF8484标准,这应该被解码为 base64url,但是当我这样解码时,我得到以下信息:

apnx-matchdotomicom)NJ

我还使用了这个“教程”作为参考,但它们也解码了类似格式的 blob,我得到了与以前类似的废话。

互联网上几乎没有关于此类信息的信息,如果有任何帮助,DoH 标准使用应用程序/dns-message 媒体类型作为正文。

如果有人对我做错了什么或如何编辑问题以使其更清楚有一些见解,请帮助我,欢呼:)

0 投票
1 回答
58 浏览

node.js - 客户端无法解析我的 DoH 服务器响应

我正在制作一个自定义 DoH 服务器,它应该以不同的方式解析一些 TLD。我正在使用 NodeJS 来实现它。对于大多数域,它只是将它们代理到 Google 的 DoH 并且它可以工作。但是当我尝试解析一些自定义域时,例如

mydomain.customtld

我希望它指向

bafybeie5nqv6kd3qnfjupgvz34woh3oksc3iau6abmyajn7qvtf6d2ho34.ipfs.dweb.link

我尝试自己格式化 DNS 响应,但失败了。因此,我求助于通过 Google DoH 或其他 DoH 服务器解析上述链接(即 bafybeie5nqv6kd3qnfjupgvz34woh3oksc3iau6abmyajn7qvtf6d2ho34.ipfs.dweb.link),并将其作为响应转发给客户端。

所以,我做了以下事情:

  • 我使用 dohjs nodejs 库
  • 我像这样解决提到的链接:

我得到以下回复:

这似乎是一个有效的 DNS 数据包,但在对其进行编码并将其转发到客户端(在本例中为 Chrome)后,它无法解析它。

我唯一能想到的是响应缺少附加信息,但我不确定......我得到的具体错误是 DNS_PROBE_FINISHED_NXDOMAIN。

那么,我该如何解决呢?

0 投票
0 回答
95 浏览

curl - 即使带有 --doh-url 标志的 DNS over HTTPS 请求,如何使 curl 使用相同的接口?

在使用带有 --doh-url 标志的 curl 时,我注意到只有对目标服务器的最终 GET 请求(下面代码段中的 example.com)是通过命令本身指定的接口发出的,通过 https 请求的 dns 仍然会产生使用默认界面。有没有办法让 DoH 请求也使用相同的接口?

从上面的示例可以看出,接口 10.10.104.102 没有响应并因此超时,但 DoH 请求正在通过默认接口并因此成功。

0 投票
1 回答
19 浏览

ios - 如果基于 HTTPS 的 DNS 服务器在 iOS 上响应状态为 5xx 或 4xx 会发生什么?

看这个例子 mobileconfig,我试图找出如果 DoH 服务器在响应 iOS 上的 DoH 查询时响应状态为 4xx 或 5xx 会发生什么。例如,如果 NGINX 损坏或出于任何原因,DoH 服务器会以 200 以外的任何状态响应。DNS 请求是否完全失败,我会在 Safari 中收到错误消息?iOS 设备会自动尝试另一个 DNS 吗?

0 投票
0 回答
112 浏览

nginx - DOH 上的 NginX 502 错误网关

嗨,我想在我的树莓派上使用 nginx 作为 doh 和点服务器。我可以完美地运行 dot,但是当我尝试通过 DNS Over HTTPS 发送请求时,它会出现错误。我尝试了很多东西,但我不知道这里有什么问题?这是我发送的查询请求:

这是来自 doh 端点的响应

我的 nginx.conf 是这样的:

所以我在这里想念什么?我知道上游工作导致它通过点请求

0 投票
0 回答
9 浏览

networking - CDN 是否有助于加速和延迟 DoH?

CDN 是否有助于加速和延迟 DoH?我用几台服务器运行我自己的私有 DNS,我很好奇如果我使用 CDN,DoH 是否会有所改善?

DoH 的私有 DNS 同时运行 RFC 和 JSON 标准,因此请记住这一点。是否可以在 443 以外的端口上使用 CDN,例如 8443?是否可以在 http(s) 以外的协议上使用 CDN?说 DoT 还是纯 DNS?