This repository has been archived by the owner on Jan 8, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 6
Support DNS over HTTPS #53
Labels
Comments
alanshaw
added
P2
Medium: Good to have, but can wait until someone steps up
status/ready
Ready to be worked
labels
Jul 10, 2019
Fwiw, proof of concept of binary DNS query over HTTPS in a browser, https://gist.github.com/stskeeps/d64d01f1ed42402405e294e5806f0970. -- one thing to keep in mind is that for example Google's doesn't give proper CORS headers |
52 tasks
achingbrain
referenced
this issue
in ipfs/js-ipfs
Oct 23, 2019
Until we can resolve DNS names over HTTPS we can't trust that someone hasn't hijacked the request, so revert the use of an IPNS name to get the latest web ui CID. Refs: https://github.com/ipfs/js-ipfs/issues/2212
alanshaw
referenced
this issue
in ipfs/js-ipfs
Oct 23, 2019
Until we can resolve DNS names over HTTPS we can't trust that someone hasn't hijacked the request, so revert the use of an IPNS name to get the latest web ui CID. Refs: https://github.com/ipfs/js-ipfs/issues/2212
This comment was marked as outdated.
This comment was marked as outdated.
This is still todo: https://github.com/ipfs/helia-ipns/blob/main/packages/ipns/src/utils/resolve-dns-link.browser.ts#L48 This issue can be moved to https://github.com/ipfs/helia-ipns/ |
achingbrain
added a commit
that referenced
this issue
May 31, 2023
Adds support for resoving DNSLink TXT entries from public DNS-Over-HTTPS servers (RFC 1035) and also DNS-JSON-Over-HTTPS since they are a bit kinder on the resulting browser bundle size. Fixes #53
Do we want to use https://github.com/vasco-santos/dns-over-http-resolver here? |
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Labels
Type: Feature
Severity: Low
Problem
When running in Node, js-ipfs uses system resolver (
/etc/resolv.conf
)When run in web browser context, we don't have access to UDP sockets, so since ipfs/js-ipfs#1172 js-ipfs running on webpages delegates DNS queries to
https://ipfs.io/api/v0/dns?arg=${domain}
.Solution
jsipfs config DNS.HttpsResolvers ["https://mozilla.cloudflare-dns.com/dns-query"]
https://ipfs.io/api/v0/dns
which is a single point of failureRFC8484: Notes on binary format and
@hugomrdias's recent work on IPNS over DNS confirmed we are able to use binary DNS over HTTPS in web browser context, which makes it possible to use any DNS over HTTPS (DoH) server compatible with RFC8484
I repeat: we should not need to use proprietary JSON format supported by Google and Cloudflare, but rely on native DNS query sent as HTTP GET encoded in Base64, as specified in example in RFC8484. This enables users to have better choice of DNS servers with DoH support: any server will do, as long it implements RFC8484.
References
The text was updated successfully, but these errors were encountered: