This website is hosted by Nostr relays: https://nostr-webserver-3c29f7957ffe.herokuapp.com/e/1efc13c6ffbaf60c0347baf89f6ecaad22f74abf82165fcdb55ef7e8cca8a597

The HTML (kind 5392), JavaScript (kind 5394), CSS (kind 5393), and Images (Kind 1965/1964) are all hosted inside several relays and can be moved to any other relay if needed by simple broadcasting.

One day browsers will fetch nostr: directly. And then we won't need domain names or fixed servers anymore.

Code is here: https://github.com/vitorpamplona/nostr-web-server

Reply to this note

Please Login to reply.

Discussion

so cool 💜

I am still amazed by the actual code:

Look at the CSS + JS imports! :)

Nostr Web Test

HELLO, Nostr

@note4885034c358f0f3e57bfa3018685801e49d4a384c828c6ad0f384fbacd19d941

note4885034c358f0f3e57bfa3018685801e49d4a384c828c6ad0f384fbacd19d941

The man doesn't stop! 🚀🚀🚀

If someone was going to fork a browser, that'd be a reason to do it.

We have to get going in there.

A nostr browser? Now, that would be amazing 👌

Cool 😎

🤯💜

Awesome

nostr:npub1dc9p7jzjhj86g2uqgltq4qvnpkyfqn9r72kdlddcgyat3j05gnjsgjc8rz penso que é isto que procuravas

Nice!!!

I don't want to sound sceptical or anything, but what is the added value compared to IPFS? What is the differentiation?

Performance. Ipfs' wayfinding sucks.

It is slow, you are right. What about the immutable nature of regular events? Would that turn Nostr to a version control as well? Are IDs in this case mutable or immutable? Because on a larger projects changing all the links all the time would be a bit hard.

IPFS has to crawl a DHT to find someone who has a piece of content. This would go directly to a relay with the info.

nostr:npub1v6xwae25wh6etmqw3m6yce9lnk5dnhtqpzk9fhxjfvjsryctjc8q2kxk5t check this out

Woah he actually did it. This is awesome. Thanks corn!

"One day browsers will fetch nostr: directly. And then we won't need domain names or fixed servers anymore."

YES

Now, add proper documentation, so people can start making tons of websites. :)

I don't get it. When you do a GET http request on that url, only 1 relay answers with their copy of the webserver. Right?

Yep, but that is just exposing events from nostr relays. It's not the website itself. It's just a way to go around the fact that browsers don't resolve nostr: yet.

I'm sold! I'm sure there will be some limitations, but LFG!

Wen nostrfox? Maybe forking an entire browser would be overkill at first and an extension that hijacks the address bar would be enough.

We need a massive bounty for somebody to fork a browser.

Well this actually feels like a new web, in a non shitcoiny way. It can be a paradigm shift.

Agreed.

Impervious.ai has been going this route with forking a browser, might be the simplest way to have it implemented: an existing product still early in development

And also open source of course, but I'm sure they'd be very into integrating nostr

Why a browser? Why couldn't the web server stitch all the content together on-the-fly and serve it like any other static content?

Because we shouldn't even need a centralized webserver.

"One day browsers will fetch nostr: directly. And then we won't need domain names or fixed servers anymore"

fucking genius

well done!

nostr devs solve decentralized web

I can picture nostr:npub1v0lxxxxutpvrelsksy8cdhgfux9l6a42hsj2qzquu2zk7vc9qnkszrqj49 shipping Snort directly to relays. There is no domain anymore. You just hit the Nostr address and the last version of Snort loads up.

Yep, an @.Note loads Snort inside your feed.

nostr:nevent1qqsdryrsya9kfw5pj9pez9r75lv5zx88062zhmvk3w823q4vsu9u42qpr4mhxue69uhkummnw3ezucnfw33k76twv4ezuum0vd5kzmp0qgsyvrp9u6p0mfur9dfdru3d853tx9mdjuhkphxuxgfwmryja7zsvhqrqsqqqqqpahxqry

Oh look. #anarchy.

#grownostr #bookstore #wisdom

From "Little Town on the Prairie"

https://nostrcheck.me/media/public/nostrcheck.me_6721087133369395491690419756.webp

Just need someone to build a static site conversion tool and this would be amazing

wait images are natively hostable on nostr already?

Amethyst has been sending images to relays for 4 months now :)

huh. I never noticed it down there at the bottom. Guess I'll need to try it.

What does it do?

Eli5, what is the difference between kind 1965 / 1964 and IPFS and why is it better?

Please add

안녕하세요, Nostr.

I hear nostr:npub1chakany8dcz93clv4xgcudcvhnfhdyqutprq2yh72daydevv8zasmuhf02 is cooking something up 👀

No clue these kinds existed lol. Cool AH

They didn't

You smart ppl make me think and look to no avail lol. Not on PR tab. Unmerged, or WIP I get it. I like mistery 🪄🎩

Can't even spell mystery 😄 my b

Sorry, I just made them up this afternoon. But it's just html, css and js code in the .content of the event kinds

Makes total sense after jaxb, soap, json, and protobuf payloads. Simple json stuff anything in content. Architects always overkill lollll

Wow. That is amazing.

Does this mean we can escape free (Github et al) and paid hosting options for our personal and professional websites?

This is a huge step in #digitalsovereignty.

#freedomtech #grownostr #nostrFTW

nostr:note16xg8qf6tvjagry2rjy28af7egyvwwl5590kedzuw4zp2epcte25qjl425r

So Nostr is Web 3 now? Suck it Ethereum!

I'd like an event kind to register and lookup event kinds

Add Arabic:

أهلا noster

This is wild 🤩

We need a webpage hosted by a nostr relay teaching good to implement a webpage hosted by a nostr relay

How to Implement*

cc nostr:npub1cmmswlckn82se7f2jeftl6ll4szlc6zzh8hrjyyfm9vm3t2afr7svqlr6f nostr:npub1wtuh24gpuxjyvnmjwlvxzg8k0elhasagfmmgz0x8vp4ltcy8ples54e7js nostr:npub1t0nyg64g5vwprva52wlcmt7fkdr07v5dr7s35raq9g0xgc0k4xcsedjgqv 👀👀

nostr:nevent1qqsdryrsya9kfw5pj9pez9r75lv5zx88062zhmvk3w823q4vsu9u42qpzdmhxue69uhhyetvv9ukzcnvv5hx7un8qgsyvrp9u6p0mfur9dfdru3d853tx9mdjuhkphxuxgfwmryja7zsvhqrqsqqqqqplugfs7

very cool!

nostr:npub1r34nhc6nqswancymk452f2frgn3ypvu77h4njr67n6ppyuls4ehs44gv0h t'as vu ça ?

😅 oui

I had long considered how #Nostr could integrate with #IPFS as a storage solution. This is a great PoC, I'll read through it later!

Wow, very cool and useful. Congratulations.

Nostr building an actual decentralised internet 🔥🔥🔥

Or rather, nostr:npub1gcxzte5zlkncx26j68ez60fzkvtkm9e0vrwdcvsjakxf9mu9qewqlfnj5z building an actual decentralised internet on Nostr ⚡⚡⚡

😅 unstoppable.

Legit 😂

Vitor of victory.

🤣😂🤣😂

This is fucking LIT.

One day, users will be able to visit named websites based on their profile bookmarks?

https://nostrweb.com//named-webpage -> redirect to note1a2ba(...).nostrweb.com

Eg:

https://nostrweb.com/bitcoinbarry@nostrcheck.me/my-retro-games

My post got auto-modified ☹️

-> redirect to [note1a7a9...].nostrweb.com

Isn't it done with IPFS as well?

wow amazing!!

This reminds me ZeroNet - similar thing but on torrent and with already established community.

https://zeronet.io

This is the dopest thing I've seen with Nostr in a while...

It just makes since! nostr:note16xg8qf6tvjagry2rjy28af7egyvwwl5590kedzuw4zp2epcte25qjl425r

I think I am not going out tonight. Stay tuned for NostrQueen Website! Love it❤️❤️❤️❤️❤️

This is so much cooler than twitter.

Nostr Devs are beasts. And Vitor are on such beasts among beasts

These guys are just too cool for words. Freaking amazing

At first I thought "lol, Bitcoiner actually made decentralized social media that actually works, the thing which many shitcoin promise and never deliver"

And now. Decentralized website is a thing on nostr. All without a Token

We owe nostr Devs and Bitcoin Devs a ton. In the future their name should be etched in history as the one that liberate us from centrallization of power.

#nostr #bitcoin #dev #amethyst #plebchain

nostr:nevent1qqsdryrsya9kfw5pj9pez9r75lv5zx88062zhmvk3w823q4vsu9u42qpz9mhxue69uhkummnw3ezuamfdejj7q3qgcxzte5zlkncx26j68ez60fzkvtkm9e0vrwdcvsjakxf9mu9qewqxpqqqqqqz6gl0e6

nostr:note16xg8qf6tvjagry2rjy28af7egyvwwl5590kedzuw4zp2epcte25qjl425r

The sooner the better!

That's amazing Vitor I knew you were our Braveheart 💜🤙✌️

So images are stored as base64? And everything else (html, is, css) is stored as text?

Yep, media is stored with NIP 95

next level