Brainstorming!
Objectives: Reduce dependency on traditional domains across my Nostr web app.
Why: Traditional domains are centralized and controlled by governments. Not ideal for freedom tools/apps.
Idea: Create a lightweight static website called "NostrHub," which will serve as a quick-access hub to all my other Nostr web apps.
Plan:
1. First Step: Host the lightweight NostrHub website on Nostr relays and IPFS, making it accessible through TOR, IPFS gateways, Freenet, and other decentralized storage or P2P access options.
2. Second Step (my favorite, though a bit unorthodox): Convert the NostrHub website/code into an offline bundle that can be shared as a zip file. When unzipped and clicked, this bundle will open the NostrHub page in your browser, running locally without relying on domains or web hosting—essentially self-hosted.
The offline website bundle also addresses a more fundamental issue with the web ecosystem. Unlike traditional websites, offline bundled sites can’t be unilaterally changed or modified by the developer, making them trustless and truly giving users full control over the website, its code, and any updates.
This approach will eliminate the single point of failure posed by centralized domains, make all apps easily accessible, and provide users with a more private way to access them.
This is a rough outline. Suggestions for improvements are welcome!
nostr:nevent1qqszsed8nghq3u57vx0zpwsvs3ujvjw2f3vxgjnnq2cw83l26tp7acqpzamhxue69uhhyetvv9ujuvrcvd5xzapwvdhk6tczyrr0wpmlz6va2r8e92t990ltl7kqtlrgg2u7uwgs38v4nw9dt4y06qcyqqqqqqggkx6kh
Awww I haven’t seen you in a long time gorgeous friend 💜🫂
Use #pubky for decentralized domains
So far
Achieved: Unified dashboard for all my Nostr apps.
In progress: Reducing domain dependency.
Added: Quick shortcuts for Nostr backups, publishing notes & blogs, and accessing zPay.live purchases.
https://i.imgur.com/IM1pndI.jpeg
nostr:nevent1qqs8lfvqnz54qw86akqmgczappdurlcqmvsf7sd8d8usvzcgncssxegpzpmhxue69uhk2tnwdaejumr0dshsygxx7urh795e65x0j25k22l7hlavqh7xss4eacu3pzwetxu26h2gl5psgqqqqqqssm96qf
When Semisol says all websites are insecure and can be backdoored by a developer unilaterally at will, he's absolutely correct.
But it doesn’t have to be this way.
Here's how I'm addressing it with NostrHub:
By bundling my website with its code and turning it into a single executable file, when the file is clicked, it opens the NostrHub page in your browser.
The key part: instead of using my server, hosting, and domain, it uses your NostrHub bundle and runs locally on your device, no server or setup required. Think of it like self-hosting on steroids.
Once you download the website bundle, the developer has no further control over it. The user truly has full control, which is extremely rare on the web. Even if the developer is compromised, no backdoors can be added.
To update, you simply download the updated bundle and replace the previous one.
This approach may not sound flashy, but it genuinely addresses a fundamental issue with the web as a whole.
nostr:nevent1qqsdqe0235323pyjj9pkngvsaeevrpazfctqk03jjnttxme5agf98esprpmhxue69uhhyetvv9ujuumfv9khxarj9e3k7mf0qgsvdac80utfn4gvly4fv54la0l6cp0udpptnm3ezzyajkdc44w53lgrqsqqqqqpca83xd
See if this can help you
https://github.com/nostr-protocol/nips/pull/1538
Thanks for sharing, Just 10 minutes ago I was going through you relay web hosting repo.
Nostr relay will be primary hosting for my NostrHub public website with PKDNS. It's very lightweigh.
Ohh yeah, there is this one as well:
https://github.com/nostr-protocol/nips/pull/811
Now that I’m thinking more about it, it might be straightforward to enable a version directly & transparently using relay. I should do some testing. 🤔
No telling what these devs are building ne..
nostr:nevent1qqsdqe0235323pyjj9pkngvsaeevrpazfctqk03jjnttxme5agf98espz4mhxue69uhhyetvv9ujuerpd46hxtnfduhsygxx7urh795e65x0j25k22l7hlavqh7xss4eacu3pzwetxu26h2gl5psgqqqqqqs22vcu9
The first prototype of zap.store ever featured something like this, @hzrd149 packaged the nostrudel PWA into a .pwa file that we assigned the application/pwa+zip mime type to (offline bundle). This "pwa" would then be deployed and served locally. Plan to put that back! Maybe we can work on an interoperable standard?
Sure, is there any functional implementation of this standard at the moment?
Btw nostrudel is a highly capable PWA client, it could really play a very significant role in the Nostr web app ecosystem, especially micro-apps.
Agreed!
Implementation not really. But it's so simple, pretty much what I described is what we got working