I am learning about IPFS on my desktop (Ubuntu 16.04).
Following the documentation and tutorials I have been able to add files and folders, and use IPNS – however only on my local machine: localhost:8080/ipfs/ + hash.
The webui shows I am connected to 50+ peers, but when I attempt to use a public gateway, I am not able to retrieve any file I have uploaded - the request times out or I get a gateway error.
I have tried modifying the configuration of my ipfs daemon to
"Gateway": "/ip4/0.0.0.0/tcp/8080", however this has not worked. I am using go-ipfs v 0.4.2, which I appreciate is not the same as the ipfs.io (currently v0.4.14, according to https://ipfs.io/api/v0/version ), but I am unable to locate any alternative gateway that is using 0.4.2.
My guess is that the problem is local on my end, but I’m not sure where to begin debugging. I also I don’t want to just try it on AWS without understanding why it doesn’t work locally. Unfortunately the IPFS docs and tutorials seem incomplete on this issue (I’d be happy to be corrected on this point).
Does anyone have any tips on how I should proceed? My hope is to eventually run an IPFS node on a virtual machine and use IPNS to serve content to browsers. I’d be happy to supply any additional information.
Have you tried with multiple gateways anyway?
A list here: https://ipfs.github.io/public-gateway-checker/
Usually this is due to:
- Slow connection/network
- The content is only provided by your own node: there are no “mirrors”
Have you tried with our gateway https://siderus.io/ipfs/ followed by the hash?
Thanks for the reply.
Yes, I have tried multiple public gateways without resolution. siderus gives a 502 error.
To be clear, I have opened port 4001 with ufw, and when I start the daemon I get the following read out:
Swarm listening on /ip4/127.0.0.1/tcp/4001
Swarm listening on /ip4/XXX.XXX.XX.XXX/tcp/4001
Swarm listening on /ip4/XX.XXX.XX.XXX/tcp/4001
Swarm listening on /ip6/::1/tcp/4001
API server listening on /ip4/127.0.0.1/tcp/5001
Gateway (readonly) server listening on /ip4/0.0.0.0/tcp/8080
Daemon is ready
‘ipfs swarm peers’ returns >40 peers, and the webui confirms this.
I can access files using the hash on my localhost, however not using a public gateway. I am using reasonable broadband and have left my computer connected to the network for a few hours, so I don’t think its a propagation issue.
I’m at a bit of a loss now. I’m not sure what else I could be missing wrt firewalls and ports.
I’ll give the daemon a bit more time, and if this doesn’t work I’ll attempt to reinstall.
When you say you opened port 4001 on ufw, you mean on your desktop machine, right? Do you still have a router/firewall sitting between you and the internet? If so, you’ll need to open the same port on it and enable port forwarding to your desktop.
I had my IPFS running on a server in my home DMZ but had to open + forward as described above to get things to work.
Correct, you also could check if UPNP/Automatic firewalls rules is enabled on your router/firewall!
How big is this file?
Can’t you upgrade to 0.4.13?
You are correct, I was able to resolve the issue by re configuring my router. Thank you both.
What I still don’t really understand is why my IPFS.JS instance on the same machine connected the network without the need for port fowarding.
@koalalorenzo is 0.4.13 an upgrade over 0.4.2?? or is it just considered more stable?
yes it is an upgrade, and 0.4.2 was released long time ago (2016), while 0.4.13 was released few months ago.
You can check the changes here: https://github.com/ipfs/go-ipfs/blob/master/CHANGELOG.md
(TL;DR: a lot of things changed )
My bad, just realised that I temporarily lost the ability to read! 13 > 2