A better solution would be to integrate propositions like dweb[1] in browsers then simply use socket listening. Without socket listening, using WebRTC to create direct connections is also a solution. UPnP and ICE can help to configure routers and/or bypass their restrictions.<p>Using these technologies instead of OP centralized proposition would improve reliability, scalability, security and sustainability : currently hostyoself.com returns a 502 bad gateway.<p>[1]: <a href="https://github.com/mozilla/libdweb" rel="nofollow">https://github.com/mozilla/libdweb</a>
To clarify: there is no server in your browser. You just shoot data across a websocket through <a href="https://hostyoself.com/ws" rel="nofollow">https://hostyoself.com/ws</a>
We've been working on a very similar idea to this for the past few months: <a href="https://pocketweb.io" rel="nofollow">https://pocketweb.io</a>
There is a very early beta available on both iOS and Android. We've thought a lot about battery and data and have gotten really good results by leveraging existing radio wakeups, batching requests, and doing all sorts of optimizations to the sites themselves.<p>Right now we're focused entirely on personal websites, because we believe the majority of those can actually easily be hosted on a phone (eg. How many people actually view your LinkedIn page every day? A single Facebook page doesn't require a datacenter. Etc).<p>We're limited to single static pages with images right now but better support for multiple pages and server code with SQLite is coming. More template types, for example stores, are coming as well.<p>Let us know what you think!
This reminds me of the time Opera made some big annoucement in 2009 that they were going to "reinvent the web", and when they finally revealed what it was, it was basically host some files from your browser.<p><a href="https://www.zdnet.com/article/opera-reinvents-the-web-will-anyone-notice/" rel="nofollow">https://www.zdnet.com/article/opera-reinvents-the-web-will-a...</a>
Personal plug: if you want something similar that supports Range requests (ie streaming), check out fibridge[0][1][2]. However, I haven't tried adding support for setting web mime types so you can actually run a website off of it like hostyoself. That's any interesting use case that I'll have to look in to.<p>[0] <a href="https://fbrg.xyz/" rel="nofollow">https://fbrg.xyz/</a><p>[1] <a href="http://iobio.io/2019/06/12/introducing-fibridge/" rel="nofollow">http://iobio.io/2019/06/12/introducing-fibridge/</a><p>[2] <a href="https://github.com/anderspitman/fibridge-proxy-rs" rel="nofollow">https://github.com/anderspitman/fibridge-proxy-rs</a>
This is pretty awesome and their list of inspirations is a veritable goldmine of tools I hadn't seen or used before<p>- <a href="https://beakerbrowser.com" rel="nofollow">https://beakerbrowser.com</a> - P2P Web in the browser (Opera Unite Redux)<p>- <a href="http://localhost.run" rel="nofollow">http://localhost.run</a> & inlets - ngrok with feathers and a monocle
This seems a lot like <a href="https://github.com/humphd/nohost" rel="nofollow">https://github.com/humphd/nohost</a>
> Won't I have to reload my browser if I change a file?<p>> Yep! Welcome to the joys of Javascript.<p>Although it (re-)sends file for every request, the file content must be identical. So the relay server may just cache the file.<p>Once you do that, it becomes more like a traditional static file hosting w/ on-demand file uploading via browser.
Underwhelming, this just proxies the request through an external web server that handles it.<p>It would be interesting to see something using WASM to run a web server in the browser. And some kind of decentralized replacement of DNS gateways for host resolution.