Problem acessing my own files through the public gateway

I very recently started using ipfs, pretty much for file sharing purposes, but im having a hard time accessing my own files through the public gateway (https://ipfs.io/ipfs/$hash) .
I went through the basic installation process, and opened the 4001,5001,8080 ports (TCP only) on my router, and i left UPnP disabled.
Opening the ports was not enough for me to access my files, so i searched around a bit and i thought maybe the issue could be resolved by changing the API and Gateway addresses from 127.0.0.1 to 0.0.0.0 so they wouldn’t listen only to connections from my local ip, but that did not resolve the issue. And this is where im currently at.
I have a simple test file at https://ipfs.io/ipfs/QmbsrZTi6sFhQT5VNMEx69Pt5nuLKyYrS5YXEJ119oiQVk that not even im able to access. I am able to retrieve this file doing the following:

ipfs get QmbsrZTi6sFhQT5VNMEx69Pt5nuLKyYrS5YXEJ119oiQVk

though i have no idea if other people can successfully retrieve it the same way, and even if they can, the public gateway is what interests me the most. If anyone could help me solve this issue i would be very grateful. ( I am running the same version as the gateway, 0.4.18)

First of all, please close eventual ports on the API, those can be private and should not be accessible but from localhost.

What you need to ensure is a connection to the gateway nodes, or/and the network.
To do this you don’t need necessarely to open port 5001 for incoming connections (UPnP enabled probably would help, but I am not sure this is already implemented… can anybody confirm/deny this?).

One thing you can try is to connect directly to a gateway and fetch the data from it.
For example, if you want to try Siderus gateway you can connect to it using:

curl https://meta.siderus.io/ipfs/connect.sh | bash

Unless that command fails (what it does is adding as bootstrap and connecting to nodes),
you should be able to download the content from the gateway:

curl https://siderus.io/ipfs/QmbsrZTi6sFhQT5VNMEx69Pt5nuLKyYrS5YXEJ119oiQVk

Note: you can use also the browser to see the file.

The problem in loading now could be how slow the connection is to actually send the data from your local node to the gateway. That might affect if nobodyelse has the content you are trying to obtain from the gateway.

1 Like

Okay, i tried doing that and then i was actually able to access the file through the siderus.io url, as well as using the ipfs.io url .But, in the case of a bigger file (~800mb) i was still unable to access it.

To be more precise, the browser just keeps loading the page indefinitely, saying its waiting for ipfs.io. Through siderus.io, i actually get an error after a few seconds (524 timeout).

Could this be caused by my bandwidth ? Since the smaller file seems to be working, or is this just not really meant for sharing bigger files like that ?

1 Like

The reason why IPFS was able to obtain the file, is because it was provided by Siderus gateway.
Once Siderus Gateway has the content it can be share to ipfs.io

You can share big file, but it will take some time in order to be available. An alternative would be to start your own node on a Server and provide the file from there. Alternatively you can use a pinning service, and avoid maintaining it constantly.

In your case it goes on timeout because it is too slow to provide the request. You can try several time untill the gateway will have the whole file.

1 Like

I am having similar problems. I cannot access even a small file from gateway address. Do I have to similarly run command “curl https://meta.siderus.io/ipfs/MyHash” and will it be through the command prompt on my machine?

If the nodes are connected directly they will be able to discover the content quickly.
My suggestion is to ensure that your IPFS node is reachable (firewall might be a problem, usually it is not), and that you are connected to your node.

To connect to Siderus gateways (edge nodes) you can use the script I shared . but if you want to retreive the content you need to use the gateway:

curl https://siderus.io/ipfs/$YOUR_HASH

Thanks for coming back. I am running my IPFS on windows. Not sure how I will I run .sh script of yours in my machine? I am assuming Peers.txt file you are mentioned has the peerIds and one of the Peerid will be of my machine?