ipfs/kubo

Add DNS Fallback Resolvers

Open

#8,173 创建于 2021年6月2日

在 GitHub 查看
 (3 评论) (2 反应) (0 负责人)Go (2,725 fork)batch import
P3effort/daysexp/intermediatehelp wantedkind/featuretopic/dns

仓库指标

Star
 (13,906 star)
PR 合并指标
 (平均合并 4天 2小时) (30 天内合并 28 个 PR)

描述

TLDR if someone wants to implement this: https://github.com/ipfs/go-ipfs/issues/8173#issuecomment-1031876782


This issue arises from a chat between Namebase team and @lidel from Protocol Labs about integrating Handshake with IPFS

Given the goals of:

  • IPFS doesn’t want to choose winners
  • IPFS wants to decouple from ICANN and support non-ICANN namespaces
  • IPFS wants to avoid introducing privacy and security risks in implicit defaults
  • IPFS wants the alternative namespaces to be DNS compatible. Preferably they can use DoH endpoints

IPFS can accomplish these goals while supporting non-ICANN namespaces by adding a “fallback” resolver option to DNS.Resolvers that points to a list of DoH endpoints. Each DoH endpoint can point to a different decentralized naming system. When a query fails to resolve through the “.” resolver, query all of the “fallback” resolvers. If one of the resolvers has a match without conflict, then proceed with fetching the IPFS file. Otherwise if there’s a conflict, return an error code (ie HTTP 409 conflict).

The “fallback” setting can be set by default to [“https://query.hdns.io/dns-query”] which is HDNS.io’s Handshake DoH resolver (note that HDNS.io doesn’t log or store IP addresses or any other personal information, as specified in the privacy policy linked on the website). Polkadomain.org and butterflyprotocol.io — two other decentralized naming systems which issue TLDs — can be added as well when they create their own DoH resolvers and issue a PR

贡献者指南