8 ms·
This page exists only if someone is looking at it
- batmansmom1 3y agohttp://ephemeralp2p.durazo.us/805c0cdff876faad854cd1e165694e85af9f156250676d281e808f9e2279a484 http://ephemeralp2p.durazo.us/805c0cdff876faad854cd1e165694e...
- Waterluvian 3y agoI love love love these kinds of experiments. Reminds me of the Early Web. 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.
- justaman 3y agoIf you asked me 30 years ago what I thought the web would be in 2023, I would have said something similar to this.
- Waterluvian 3y agoSame. The way people share memes and funny videos with their pals, I thought we’d all be sharing these kinds of things. looks around at HN Okay so maybe we still kind of are doing that.
- aaron695 3y ago[dead]
- davidmnoll 3y agoI recently learned you can do the candidate server exchange without those servers. There was an implementation which used [this](https://github.com/cjb/serverless-webrtc https://github.com/cjb/serverless-webrtc) as a backend and a QR code to do the transfer. I can't seem to find it now. However they were having issues with the QR code reaching its size limit, leading to the question of whether you could break the message into a series of qr codes. 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-codes/)'s https://franklinta.com/2014/10/19/serverless-webrtc-using-qr... the blog post about it
- thdc 3y agoYou would still need a STUN server, though there are many public ones out there. 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).
- joshspankit 3y agoIPv6 is going to be awesome for this (we hope)
- ShakataGaNai 3y agoFascinating experiment in ephemerality. If a page is popular, more people will see/share it amongst themselves... but as soon as it loses interest... the content is gone. Also a high potential for content to be gone before it can be indexed.
- nickdothutton 3y agoA few years ago I wrote a little about how we might harness something like this to preserve user generated content when the platform collapses. https://blog.eutopian.io/beating-the-samson-option/ https://blog.eutopian.io/beating-the-samson-option/
- nomel 3y agoWhat's old is new: torrent. ;)
- TheJoeMan 3y agoI think it would make a fascinating tik-tok clone where you don’t have to pay storage fees! Except you could charge users to help them seed if they don’t want to leave their phone app running until they go viral.
- aryan14 3y agoI wonder if this technology can be used in the future for cheaper/more efficient web hosting..? I see big potential
- netcraft 3y agoThis page is from 2017. I think its def possible now, whether its practical or not im not sure.
- cowsup 3y agoQuite the opposite. For this set up, you still need to pay for hosting, or host it yourself, and you need to deliver the underlying frontend code to the user's devices that makes all of this possible. Then you also need a backend to handle the socket connections and send it from user to user (this is not P2P). The constant pinging to see if anyone is waiting for a copy, and then sending it out, will only continue to eat up resources the more people are looking at it. 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.
- EricRiese 3y agohttps://file.pizza/ https://file.pizza/ is another example of browser based peer to peer file transfer
- caseyavila 3y agoThis so cool and weird, almost like I'm in a room with other people.
- netcraft 3y agoYes exactly. I've had this page up in a browser for many years, most of the time with only two other people. I have no idea who they are, no way to communicate with them, but feel very connected in a strange way.
- losvedir 3y agoOMG, you! I just guffawed in real life at my desk here. I mentioned in another comment here[0] how I've checked off and on through the years and wondered who could possibly be keeping this page open and why. Thanks for re-posting this, it's too funny to hear from one of you guys. [0] https://news.ycombinator.com/item?id=37411714 https://news.ycombinator.com/item?id=37411714
- rabbitofdeath 3y agoSO this totally popped into my brain - there was a PHP script you could add to your site called Crisc - https://web.archive.org/web/20021010104130/http://biomatic.org/crisc/ https://web.archive.org/web/20021010104130/http://biomatic.o... It showed your IP and you could send a message to the other visitors on the site - I was blown away at the time I saw this.
- jaflo 3y agoThe page mentions the possibility of file sharing/torrents using WebRTC which does exist if anyone is interested: https://webtorrent.io/ https://webtorrent.io/ and https://instant.io/ https://instant.io/ The projects are open source: https://github.com/webtorrent/webtorrent https://github.com/webtorrent/webtorrent
- notpushkin 3y agoAlso, https://file.pizza/ https://file.pizza/
- therein 3y agoIs it just me or did WebRTC supporting clients cause a split in the BitTorrent clients? 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?
- netcraft 3y agoLooks like this was originally submitted to HN back in 2015 https://news.ycombinator.com/item?id=9531265 https://news.ycombinator.com/item?id=9531265
- netcraft 3y agoanother relevant link: https://medium.com/@losvedir/ephemeral-p2p-project-ff07cbd20261 https://medium.com/@losvedir/ephemeral-p2p-project-ff07cbd20...
- sillysaurusx 3y agoI love that you can see from the graph that the post got bumped off the front page at around 8:38pm.
- 101008 3y agoI understand the idea behind this page (and I really liked it), but the title made me think of more a "philosophical" question... do any webpage exists if nobody visits it? 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?
- stronglikedan 3y agoOnly the route exists until visited. Only then does the page exist.
- MR4D 3y agoFTA - 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!
- developer93 3y agoThey read the article, they were making a different related point
- echelon 3y agoIf it passes over a central server, does it really count as p2p? 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.
- vmatsiiako 3y agoCurious how long this page has been up for at this point. Since 2015?
- netcraft 3y agoI can vouch that it has been up at least that long.
- Blahah 3y agoI wonder if that's because one or several people have been seeding it long term - it seems likely. In which case, I'm curious if a 6+ year browser websockets session is possible or if a seeding tool was used for stability.
- IKantRead 3y agoI recently came across an in-progress book from Manning, "Peer-to-Peer Web Applications" [0] that, despite a fair bit of crypto/web3 references, seems to be targeting an audience of people looking to build more robust/complex version of this. 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 https://www.manning.com/books/peer-to-peer-web-applications
- Ancapistani 3y agoAnyone know where I can find the source for this? 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)
- deleted 3y ago[deleted]
- netcraft 3y agothe page links to this github repo at the bottom: https://github.com/losvedir/ephemeral2 https://github.com/losvedir/ephemeral2
- comprev 3y agoThis GitHub link is at the bottom of the page - https://github.com/losvedir/ephemeral2 https://github.com/losvedir/ephemeral2
- dchest 3y agoWhat kind of extension attack this would be? The hash length extension attack will always produce a different hash.
- tysam_and 3y ago51%+ is a very powerful number.
- gavmor 3y agoWe made something similar but for group decision-making, ie this drag-and-drop poll only exists if someone is looking at it: https://druthers.app/#/d54c9d32-0212-4c9d-a831-ae9becb1d202 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.
- cozzyd 3y agoright click->save page as checkmate!
- ZeroClickOk 3y agoSchrödinger's page
- gsuuon 3y agoIt also means that pages can never be updated without sharing a new link. So typos like "permament" are there forever (ever.. ever)
- taftster 3y agoI consider that a feature.
- hiccuphippo 3y agoI wish ipfs was this easy.
- c7b 3y ago> Imagine essentially an archival service where all kinds of content (web pages, mp3s, videos, etc) are indexed according to their SHA-256. Isn't that pretty much what IPFS is?
- grondilu 3y agoBasically, but the general concept is "content-addressable file service". It's not specific to IPFS. Arguably, it's also what bittorrent does.
- Exuma 3y agohttp://ephemeralp2p.durazo.us/baaaf4b0e33db240bd86f9d4fa413529bfb21480d805b8fc59bc840d05cbe001 http://ephemeralp2p.durazo.us/baaaf4b0e33db240bd86f9d4fa4135...
- sillysaurusx 3y agoI admit, I giggled. It’s also in line with how humans use new mediums.
- deleted 3y ago[deleted]
- losvedir 3y agoOh, wow. I didn't expect to see this on HN today. This was a toy app I wrote to learn a bit more about Elixir, Phoenix, and Phoenix's concept "channels" (websockets). I submitted it a long time ago to HN. I wrote a bit more about it on my blog: http://gabe.durazo.us/tech/ephemeral-p2p-project/ 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.
- netcraft 3y agoThank you for footing that bill for so long, this has been a little joy for me for a long time, just seeing how long it can last. Would love to buy you a beer someday.
- rjmill 3y ago> I wonder who or what it is and why. 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!
- kwar13 3y agoGreat work! Also there are alternatives to Heroku that don't cost money now that they killed the free hobby tier. I've used Vercel and Cyclic and both are great among others.
- joshspankit 3y agoI wonder: did you consider adding size to the end of the hash? 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”
- derekzhouzhen 3y agoNeat. A simple enhancement could be letting the server to cache the content for a short period of time, and push the cached webpage in the static rendering. This way: * 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.
- caseyharalson 3y agoI used this same sort of idea to make a whiteboard app website. The whiteboard content wasn't stored on the server and would disappear when the last person left.
- em1sar 3y ago[dead]