This is pretty nifty! Out of curiosity, why did you choose WebTorrent over, say, IPFS? I considered doing something similar using their JavaScript client[0].
Interesting question. I was also considering to use IPFS js while developing Peerdium. But it seems like it's not fully ready yet. For example, take a look at this
> DHT (automatic content discovery) and Circuit Relay (pierce through NATs and dial between any node in the network) are two fundamental pieces that are not finalized yet.
Another reason was that I had to still run an IPFS node if articles should be made available for more than 8 hours. I didn't want to do anything with storing articles.
Nice app! Great work, you deserve all the HN attention. :D
How were you able to make WebTorrent work reliably? I was trying to write a WebRTC adapter for https://github.com/amark/gun (I'm the author) but kept on having STUN/ICE problems.
I'd love some tips! And awesome project. Somebody in our community just made a decentralized reddit clone, so it is exciting to see new P2P projects popping up every day! :D
Gun looks pretty cool. I have not fully fixed the STUN/ICE problem. Some of the users on HN are still not able to see the articles. I think the problem reduced a bit after I started running a TURN server. But it's not full eliminated yet. Check out my tweet to Feross. Maybe he has some answers :)
https://twitter.com/hackerkidx/status/996009992569274369
@vishnu_ks , I also recently found https://github.com/priologic/easyrtc which worked out of the box, and automatically connects to several public STUN/ICE peers. I'm planning on using it (when I get a chance to finish the WebRTC adapter), maybe we can tag team something? It worked super well on a P2P/decentralized 3D VR multiplayer game somebody had built.
This seems like it could be good as an ephemeral pastebin/image/video sharing with a small group.
off topic, I wish one of these peer-to-peer schemes caught on, if only because it will incentivize people to buy a desktop computer which will serve as network node. There's so many interesting things that can be done if people can be convinced that they are part of the network and not just "tablet users".
I wonder if anyone is trying to build home routers that double as ipfs/torrent nodes.
Was going to say, I remember https://news.ycombinator.com/item?id=9531265 that had the very same idea as this. The thing is, what's the benefit of an ephemeral page? What can I do better if someone else is seeding it for me? Is it that hard to centrally host these bits?
Yes. I think Peerdium is not at all necessary for 99% of the use cases. You can just use a normal publishing platform. Peerdium can become useful if you don't want a single point of failure. That is anyone can spin up Peerdium servers from source code and the links would still work as long as someone is seeding the content. Also nothing is stored in a server. So if you want to share some content that you don't want to get stored in someone's private server then Peerdium can be used as well.
One feature you might want to consider is adding support for RemoteStorage [0] to allow people to export a story to a data provider of their choice, so that they can easily access it later if they care to (and perhaps start re-hosting it?) :)
Interestingly, I suppose the Peerdium model means it can't be updated now? A new, corrected page could be published, but it would have a different identifier and would have to be re-seeded.
It's the number of people who have the tab opened == no of people seeding the post. When you open a post you get the content from other seeders and starts seeding the post :)
This would be interesting if combined with something like BAT or AdSense or Coinhive to earn revenue from viewing then use that revenue to pay for seeding via something like Sia/ Filecoin.
Yup. You have the option to save the article as well by clicking on the heart icon. This allows you to view the article even if no one else is seeing it.
Sorry for the late reply. Since the ID is not a # variable in the URLs, it is passed to the web server hosting the content, meaning even if the data/metadata is not stored on any server you own (it doesn't appear to be), you could still be expected to block URLs which someone wants to ban.
# variables are not part of server queries, so they are better for user privacy as well (not stored in server logs). I'm not saying you won't ever get takedown requests with #, but it is easier to argue to authorities that Peerdium is merely a user-ran software you are not in control of when using #.
[0]: https://github.com/ipfs/js-ipfs