ipfs / infra

Tools and systems for the IPFS community

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MetaMask to start using *.ipfs.dweb.link for ENS-IPFS sites?

rekmarks opened this issue · comments

Hello everyone, I have a support question.

Description

MetaMask, an Ethereum wallet/dapp browser, plans to start resolving ENS-IPFS/EthDNS sites using the *.ipfs.dweb.link gateway, as described in this PR. We're trying to get a hold of the proprietors of the gateway to ensure that it can handle the increased traffic.

Context

MetaMask has roughly 90,000 weekly active users. We anticipate that a small number of these users - at most in the low 1000s, although the number can balloon in the future - may visit an EthDNS website at some point during the week.

Proposal

We want to route our EthDNS traffic through the ipfs.dweb.link gateway. Is this OK?

Usually we suggest running your own gateway, as .ipfs.dweb.link is provided on best-effort basis, and we may throttle when load becomes too expensive.

@rekmarks FYSA ENS project runs a dedicated gateway at <domain>.eth.link, which provides not only origin isolation you seek, but also keeps the human-readable ENS name in URL. ENS project should be able to share setup/configs for this too, if you choose to run your own.

Your users will have better experience if you route .eth domains there, and use raw CID gateway such as <cid>.ipfs.dweb.link only for non-.eth domains.


Including people of interest, you probably want to have a chat with Chris on ENS end:
cc @chris-remus (PM @ensdomains) @parkan (IPFS collabs) @olizilla (IPFS gateway) @autonome (IPFS in web browsers)

@lidel thank you very much for that answer. We'll plan to use <domain>.eth.link at least in the short term. We'd love to talk to @chris-remus or whoever is appropriate at @ensdomains.

confirming that this is probably the best option in the near term

in the longer term, I would like to gently encourage these users to consider installing companion and/or running a local node

@rekmarks @danfinlay

Something I just realized:
MetaMask is using gateway.ipfs.io in production right now: lib/ens-ipfs/setup.js#L48 :P

Having that in mind, I believe it is okay for you to go ahead with MetaMask/metamask-extension#7362 and switch those preexisting code paths to {cid}.ipfs.dweb.link. AFAIK both gateways use the same hosting, so there won't be any difference performance-wise for anyone involved so far, but MetaMask users will get Origin-based isolation mitigating security issues described in MetaMask/metamask-extension#5724 before you figure out alternative hosting or how to use js-ipfs and run this in truly distributed fashion.

I hope this sounds ok to everyone involved.
(cc @olizilla @parkan @autonome for visibility)

@danfinlay and I chatted about swapping over to using the infura gateway so they can send increased load without running into any throttling - not sure if Infura supports subdomain gateway yet?

I don't think Infura has it yet. Cloudflare does: https://bafybeiemxf5abjwjbikoz4mc3a3dla6ual3jsgpdr4cjr3oz3evfyavhwq.ipfs.cf-ipfs.com/wiki/

FYSA setting up a subdomain gateway is more difficult than it should, namely go-ipfs should support CID in Host header out of the box. We are tracking improvements on our end in ipfs/kubo#6498

@lidel we merged MetaMask/metamask-extension#7362 per your previous message. We allow users to specify different CID gateways, but ipfs.dweb.link is the default. Please let us know if anything changes on your end regarding this.

cc: @danfinlay

Edit: I'm fine with closing this issue, but feel free to leave it open for future communications.

@egalano can you chime in on

  • subdomain gateway capability today/using infura gateway here
  • pathway for virtual/delegated node in the future

as per call?

I think this ticket can be closed, as it has gone quiet. Please re-open if I'm mistaken.