top | item 17060272

Show HN: I built a peer-to-peer publishing platform

115 points| vishnu_ks | 7 years ago |peerdium.com | reply

54 comments

order
[+] colatkinson|7 years ago|reply
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].

[0]: https://github.com/ipfs/js-ipfs

[+] vishnu_ks|7 years ago|reply
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.

[+] _csoz|7 years ago|reply
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.

[+] egfx|7 years ago|reply
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?
[+] vishnu_ks|7 years ago|reply
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.
[+] harigov|7 years ago|reply
Good idea. If there were some way to store that data in a more permanent form, that would have been awesome. Either way, a small nit.

> Peerdium would not have been possible with WebTorrent, QuillJs and Vue.js

I think you meant "Peerdium would not have been possible WITHOUT WebTorrent, QuillJs and Vue.js"

[+] vishnu_ks|7 years ago|reply
Yup. I thought I fixed that typo. I can't fix it now as the identifier of the post would change :)
[+] Vinnl|7 years ago|reply
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.
[+] vishnu_ks|7 years ago|reply
Also you can store the files in local storage by hearting the article.
[+] djangowithme|7 years ago|reply
"This means to open and read a post in Peerdium at-least 1 other person should have the tab opened of the post"

Are you running a server hosting 1 instance of each document so that there is always at least 1 other person hosting the page?

[+] vishnu_ks|7 years ago|reply
Nope. I am not seeding the articles. If no one else seeding the article it won't be available.
[+] bmpafa|7 years ago|reply
This is neat. How does it work with search engines? Just lots of 404s once articles 'disappear'?
[+] vishnu_ks|7 years ago|reply
Yup. That is correct. Once the people seeding decided to take it off it is no longer stored anywhere :)
[+] doomjunky|7 years ago|reply
Congrats! This is a really nice project. I'm amazed that the editor is just 200 lines of code and i like the minimalistic design.

Assuming the number in the right side are the spectators. Could you show on the left side how many peers are seeding?

[+] vishnu_ks|7 years ago|reply
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 :)
[+] hndamien|7 years ago|reply
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.
[+] vishnu_ks|7 years ago|reply
Never thought about it before. Sounds interesting. Let me see if I can integrate one of these easily :)
[+] slackoverflower|7 years ago|reply
So if the only person reading the article closes it, is the article lost? Since there is no one else to retrieve the data from for future readers.
[+] vishnu_ks|7 years ago|reply
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.
[+] xkbd|7 years ago|reply
The concern is that someone has to have a post open before I can access it. How does this scale? (Oh, you build it for fun. So no problem.)
[+] vishnu_ks|7 years ago|reply
Yes. So the author has to keep the tab open till the post gets other seeders :)
[+] okonomiyaki3000|7 years ago|reply
Doesn't seem to work for me. Perhaps because I'm behind a corporate proxy? Maybe I'll try when I get home.
[+] vishnu_ks|7 years ago|reply
Yeah. Torrent ports are often blocked in corporations and some universities. You should check out at home :)
[+] snissn|7 years ago|reply
Doesn't seem to load on ios + safari
[+] vishnu_ks|7 years ago|reply
I am not sure it's an issue with iOS + safari. More likely to be a network issue.
[+] marci|7 years ago|reply
What version? IIRC, WebRTC support (which WebTorrent relies on) started with ios 11.
[+] stunpix|7 years ago|reply
ehh... what a naming. For russian speaking people it strongly co-sounds with "fart". ;) Please consider to rename it if platform targets worldwide.
[+] beardog|7 years ago|reply
It would be better if you used #idhere instead of /id, so then you are not (as) responsible for user content.
[+] vishnu_ks|7 years ago|reply
Can you explain this a bit more? Also no content created by the user is stored in Peerdium server. Everything is stored in the browser of the user.
[+] unicornporn|7 years ago|reply
Page stalls at "Loading from peers......."

Oh the irony.

[+] vishnu_ks|7 years ago|reply
Does your network blocks Torrent ports?