Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: recover from DNS failures, support DNSLink for .eth #797

Merged
merged 1 commit into from
Oct 17, 2019

Conversation

lidel
Copy link
Member

@lidel lidel commented Oct 17, 2019

This PR builds on top of #783 and:

  • adds support for recovery from DNS lookup failures
  • enables recovery for all HTTP Codes >= 400
  • recovers .eth DNS failures bu reopening website on EthDNS gateway at .eth.link
  • simplifies some code paths and adds more tests

Motivation

When a third-party IPFS gateway is discontinued or censored at DNS level, the IPFS Companion should retry request using currently active gateway set by the user (public or local).

We also want to recover in situation when website with DNSLink has a valid DNS TXT record, but HTTP behind A record is down or unreachable.

Note: right now the only real use for DNS recovery is support .eth TLD via .eth.link gateway, however in the future this could provide means of working around DNS-based censorship (eg. by executing DNSLink lookups over libp2p as a fallback).

closes #678, closes #640, #783 needs to be merged first

TODO

@lidel lidel self-assigned this Oct 17, 2019
@lidel lidel force-pushed the feat/support-ens-eth-tld branch 3 times, most recently from 4365439 to b6d744d Compare October 17, 2019 21:43
This adds support for recovery from DNS lookup failures,
and recovery for all HTTP Codes >= 400

When a third-party IPFS gateway is discontinued
or censored at DNS level, IPFS Companion will retry request using
currently active gateway set by user (public or local).
This includes websites backed by DNSLink.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Companion should auto resolve ENS names to IPFS Recover from dead Public Gateways
1 participant