This page exists only if someone is looking at it
ephemeralp2p.durazo.us
ephemeralp2p.durazo.us
I wrote a bit more about it on my blog: http://gabe.durazo.us/tech/ephemeral-p2p-project/ (wow, I need to update my blog). Unfortunately, it's not really that p2p, contrary to the name. There's a server running on heroku that manages all the websocket connections and matching. What is p2p is the page content, which lives in the browser, and which gets piped around.
I get my little $7 bill from heroku every month and wonder "is this the time I should finally spend an hour and shut it all down?" But then every once in a while I dig up the old HN submission and follow the link and I see a "Currently Viewing" count of 2 or 3 and I wonder who or what it is and why. If it ever drops to 0 then it wouldn't really be recoverable and I'd shut it down.
Some people really want this to live forever. Or they're just that bad about closing old tabs. Both options are fun to think about.
Thanks for keeping this going!
In a future where all content could be addressed by hash there will be collisions, but adding the expected size moves it from “possibly given enough files” to “extremely unlikely assuming there’s no flaw in the hashing algo”
I really wish WebRTC was easier to use. I wish there were some good faith free servers to do the… crap I forget the acronyms… the STUN and TURN stuff and whatnot to negotiate the connections. Ie. Not a proxy, just an operator. Having one I could use freely and comfortably would trivialize a lot of neat projects, particularly fun little multiplayer games.
looks around at HN
Okay so maybe we still kind of are doing that.
Pretty interesting stuff, I was considering taking a crack at it as part of a project I'm working on.
Edit: [here](https://franklinta.com/2014/10/19/serverless-webrtc-using-qr... the blog post about it
The main idea in removing the signaling server is to somehow transfer the session description between clients e.g. one client scans a qr code that encodes the session description of another or sending session description through some existing chat application and allowing a user to enter it manually instead of having your own server do the transfer over some mechanism.
Also it may be possible to avoid the multiple qr code thing this blog is talking about (qr code per ice candidate) if you just wait for the ice gathering state to be complete then send the session description, though they are correct that the session description in its entirety will most likely exceed the qr code capacity (coincidentally they use LZ compression in an attempt to lower the length, similar to what I tried long ago though I ended up deciding it wasn't worth it).
I'd recently been thinking about how it's unfortunate that we have seen so little growth in the peer-to-peer part of the web, which to me is the most resilient strategy to resist a few large tech companies taking over everything and turning the web into a gigantic advertisement.
Curious if anyone has read the MEAP for that book so far and has any opinions on it?
0. https://www.manning.com/books/peer-to-peer-web-applications
If the page is a static HTML you could say that yes, it exists in the webserver as a file. But what about dynamic webpages.
The frontpage of New York Times (I guess it is generated dynamically from a database)... does it exists if no one access NYT? Do any dynamic webpage exists if no one requests it? Being available and ready to be requested doesn't mean the webpage exists... does it?
Your browser retrieved it from the browser of someone currently viewing this page. You're now a part of the network and someone who loads this page in the future may get it from you!
If browsers grew p2p capabilities [1], we could begin to bypass centralization and build truly distributed (not just federated) social networks, news systems, and the like.
Imagine not having to run "archive.is" against headlines. You just share them - tamperlessly - with others. And the comment graph. You could even begin to boost high-value content with your own algorithm that you control.
P2P in browsers would return us to where many of us thought the internet would lead us in the early 00's. The disappearance of bittorrent and arrival of central platforms like Facebook felt like the future faded away and disappeared.
People are using Discord now, but in the 00's people used completely customizable open source clients to connect to their favorite messaging platforms. You can't even imagine that today. Everything is a platform.
[1] I doubt Google would ever get behind this. Centralization reinforces their ads business.
you made me realize that this website is essentially torrent
(without splitting file into chunks)
> you made me realize that this website is essentially torrent
how did you come to your conclusion, given that statement?
With Torrent, content flows between peers directly.
Whereas for this website, content flows between peers with the central server in between.
Matrix? and to a significantly lesser extent Telegram.
All we need is demand. Demand for non-walled garden content. Demand for less monthly subscriptions to be able to run something you already own. Demand for DRM-free content that you can share with your grandma or watch on a seperate device on a flight.
Same principle applies to dynamic webpages.
A dynamic page is not assembled until the HTTP request (i.e external) sets things in motion.
Matter of perspective/semantics. A more general thought experiment in the same vein: Can you stand in the same river twice?
To answer the question: "does it [exist]?" you have to first define what a "it" (a dynamic webpage) is. My answer in response is "Is it cached?" if no, then no. Whether or not a person is involved at all is irrelevant imo. But I define a dynamic webpage by the existance of the DOM, not the services that generate it. I might make an exception if it can be proven those services are deterministic, which I wouldn't assume.
The projects are open source: https://github.com/webtorrent/webtorrent
I come across many torrents that have a lot of seeders on the tracker and WebTorrent (in Brave and as a standalone app) is able to immediately connect to a ton of peers and begin downloading at high speeds while Transmission fails to find any peers even after a long time.
The opposite also often happens, I see lots of seeders on the tracker. WebTorrent fails to connect to any clients while Transmission is able to connect to a ton of peers and download at high speeds.
I observed this for a long time and then I remember reading somewhere that WebTorrent only supports connections over WebRTC and most other clients don't support WebRTC peering.
I have UPnP working just fine. No hole-punching issues in the network.
Does anyone know if this is accurate?
Also a high potential for content to be gone before it can be indexed.
I’d love to try to implement an extension attack to add some trivial content to the page, but don’t have time right this second (I’m at a work offsite)
https://druthers.app/#/d54c9d32-0212-4c9d-a831-ae9becb1d202
Obviously its current feature set leaves it highly vulnerable to griefing. Currently lacking the motivation to improve, since it works perfectly for my personal use case of deciding boardgame night once a week and family vacation plans once a year.
Isn't that pretty much what IPFS is?
It's not specific to IPFS. Arguably, it's also what bittorrent does.
* non js enabled clients can see the page, think robots, SEO, etc.
* js enabled clients can help to perpetuate the content
* if the last js enable client had a network glitch, the content is still available.
From an efficiency standpoint, this doesn't come close to beating a simple static cacheable text file. Definitely still a very cool concept, but offers limited real-world use.
checkmate!