Using IPFS to create a community run burping content repository

Maybe we could levarage IPFS to create a community run burp content repository. This tech is for peer to peer file sharing, it’s similar to torrent. If you have experience with torrent, you know you need metadata to download a particular torrent, such as a magnet link, you usually get that from a torrent tracker.

IPFS uses a thing called Content-addressable storage - Wikipedia, so the data can be accessed based on its content, not its name/magnet link/torrent file.

Thoughts? Maybe we could try running a torrent tracker instead?

The main advantage here would be that once the content hits IPFS, it basically cannot be taken down like on other sites similar to how torrents cannot be taken down and you have a million mirrors of piratebay

We tried https://retroshare.cc/ here some years ago and it worked for a couple of weeks but then people lost interest. The main problem is that you need to provide motivation for people to use their bandwidth or they just download and leave. I haven’t read much about IPFS, I wonder if they address that. Either way ideas like this are always interesting and I’d join in if there was some interest in it.

Sadly IPFS on its own does not incentivize users to provide bandwidth (other that the philosophy). There’s crypto called filecoin that wants to solve this Filecoin and IPFS - Filecoin Docs. But most people probably don’t wanna deal with crypto, as it had very bad PR in the last few months and adds even more complexity on top of a novel and complex system that is IPFS.

However private torrent trackers sometimes use ratio. It’s basically data uploaded divided by data downloaded. If your ratio is low, you cannot download and therefore it incentivizes you to provide bandwidth for uploads. On some tracker you can also pay to raise your ratio.

Torrents might be our best shot at creating a decentralized/community repo for content afterall, since its easier to use and many users already have experience with it.

There’s open source solutions for trackers we could try: GitHub - HDVinnie/Torrent-Tracker-Platforms: A Curated List Of Torrent Tracker Platforms/Codebases Written In Multiple Coding Languages

I can se people who have data caps have trouble with this, I think it’s a great idea, but outside factors would make this not as ideal for a lot of people.

Data caps on home net connections should be illegal… didn’t think of that at all

1 Like

IPFS pros: It seems like there’s no single point of failure, decentralisation is good.
IPFS cons: Not very user friendly and no way to properly organise files other than a list of links pasted somewhere (as far as I’ve read, correct me if I’m wrong). No incentive to keep sharing files.

Bittorrent pros: Some nice UIs are out there to track and organise files. Everyone has incentive to share what they download so the files stay up.
Bittorrent cons: Creating torrent files is not user friendly at all to anyone who doesn’t have an interest in computers. Most stuff would go unshared for that reason.

FTP pros: A plain FTP server would work, and wouldn’t actually be that expensive, especially if the cost was shared by the users.
FTP cons: Kind of a step backwards to use such an old technology and very centralised.

Those are my opinions at least on some of the stuff we could potentially use. Out of the 3 I’d say bittorrent is probably the best option. I wonder how many server companies would be okay with hosting a bittorrent tracker though. We might get away with it since it’ll be a relatively small group of people.

But I’d be willing to help out regardless of what people wanna do. Maybe I’m wrong about the cons and whatever happens it would be interesting to see how it works out.

Actually a big thing with IPFS is that it supports directories and it doesn’t have problems displaying huge amounts of files, bittorrent apps usually have problems with many files and crash.

So we could for example have one central folder with all of the content in it. That way all of the content is essentially linked together. I think you can then choose which parts of the central directory to download (called pinning in IPFS terminology). The moment you download the files you also begin sharing them on your IPFS node.

With bittorrent you would have to have all separate videos or bundles of them “marked” as a multiple torrent links/files which then get stored and tracked on the tracker.

You can also add files to IPFS folder which I don’t think is possible with torrent.

I’m not totally aware of how IPFS’ interworkings, but I would think it could be a suitable replacement for just hosting a video on a server, like nginx. Personally, I have plenty of bandwidth and I am able to serve videos over a server, but I think the problem is that if I suddenly decide that I don’t want operate a server anymore, the links that may be pointing to my server will no longer work. Whereas with IPFS, all someone needs to do is have the same file and share it on their node and it will not matter too much if I decide to stop sharing.

As @Q mentioned, the elephant in the room with ipfs is that the client experience is not as simple as just sharing files over plain http. However, I think this is getting better with browsers like brave shipping a client built in,

For me, I am actually planning on moving much of my existing stuff over to ipfs and making that the primary way I share videos.

Maybe it would work with the help of some additional software like having an editable wiki page or something like that.

If you host an IPFS gateway, the content pinned by the gateway can be accessed easily in a browser over http. Just like a normal website, but then you aren’t sharing the content when you download it from there.

We could possibly write a tutorial for people here? Or maybe the IPFS could only function as a backup since content from youtube and mega is easily taken down.

Try downloading my izzy_xx comps using IPFS CID:

QmTazw7gHoyrUtyPVuiH4vTSP5PuyMKbxZTH2LSU4yBs5s
1 Like

Few gateways already cached my comps:

gateway.ipfs.io
cloudflare-ipfs.com

I also pinned it on my VPS, it has dogshit specs but it has the bandwidth.

You can use this to cache on public gateways