npm-kubo icon indicating copy to clipboard operation
npm-kubo copied to clipboard

dist.ipfs.io unreliable or blocking automated requests

Open aphelionz opened this issue 5 years ago • 8 comments

npm install is failing fairly regularly now, hanging at:

> [email protected] install /home/mark/Projects/orbitdb/orbit-db/node_modules/go-ipfs-dep
> node src/bin.js

I believe three's some automated protection on dist.ipfs.io now that's blocking these requests and causing 504 timeouts. You can emulate it by simply calling wget over and over again until it freezes.

Reproduced on multiple devices and internet connection situations.

aphelionz avatar Jun 14 '19 17:06 aphelionz

This is a reliability issue with our gateway that we're currently debugging. (not the normal issues, this appears to be a regression)

Stebalien avatar Jun 14 '19 17:06 Stebalien

Thank you!

aphelionz avatar Jun 14 '19 17:06 aphelionz

Just adding a +1... this has been causing huge problems for github.com/trufflesuite/truffle's development process.

gnidan avatar Jun 19 '19 18:06 gnidan

+1 Same on our side with aragon/aragon-cli

0xGabi avatar Jun 19 '19 19:06 0xGabi

this is unreliable also for low speed connections: image (After 1 hour waiting for the download to complete)

This is one of many random errors when trying to download the module from dist.ipfs.io

ottodevs avatar Jun 25 '19 15:06 ottodevs

For those who want a (hopefully) temporary workaround, you can try my fork here: https://github.com/aphelionz/npm-go-ipfs-dep/ which downloads from GitHub releases.

I know it's not what we want to achieve in the end, but at least this can unblock some people like it unblocked me. Maybe we can use the centralized solution in GH as a fallback or something, I dunno.

aphelionz avatar Aug 27 '19 18:08 aphelionz

Another option I thought of, but didn't attempt, was to package the CIDs of the releases inside the repo itself and then use ipfs.get to grab them. I tried it with one of the .cid files from GitHub releases and it seemed to work since it was downloading from the swarm instead of from the HTTP gateway.

aphelionz avatar Aug 27 '19 19:08 aphelionz

Proposal to support error recovery via a customizable list of gateways: https://github.com/ipfs/npm-go-ipfs/issues/31

lidel avatar Aug 10 '20 14:08 lidel