Question for Nostr devs:

Is it possible to build a whole Nostr client packaged into an open-source Chromium extension? Like keeping the entire website (HTML/CSS/Javascript) stored locally? What about a relay top? Or without a relay?

Considering starting a serious project, but don't want to deal with a centralized website. What options are available?

Reply to this note

Please Login to reply.

Discussion

Only other idea I have would be to just host the website on IPFS, Arweave, or something similar. But those come with tradeoffs that I'm not yet convinced are necessary. Putting everything in a Chrome extension package makes more sense I think.

Relay too*

An extension works, I think it's a good idea, although I prefer native apps.

ideally nsec is stored in an extension anyway… so maybe that Keystr idea? 😅

I think the Keystr idea was just about storing the keys and opening browser windows with NIP-07 capability on them, but after what you said the other day I rewatched the video and decided that it would be perfect for routing between apps.

I.e., if you're using Snort to read your social feed and someone links to a kind xxx event, Keystr will know what apps are capable of loading that kind and ask you to pick, then open that automatically, and so on.

Now we just need someone to make this. nostr:npub1ch8a4xxsru2jkdynmx27a4xdknv72k5h8yjld702y3mf5k3puauqmszh48 nostr:npub1l2vyh47mk2p0qlsku7hg0vn29faehy9hy34ygaclpn66ukqp3afqutajft

What video are you referring to #[5]​ ?

This sounds like a mix between NIP-89 and nsecBunker where the client doesn’t ever see the keys locally, it just knows it wants to write as npub X and discovers/talks/signs with it automagically (did you see my video using Coracle without a NIP-07 and without local keys?)

I didn't see that video, no. Where is it?

Published it a couple weeks ago; can’t find it. I’ll record again

#[6]​ tomorrow

Keystr is such a good name

So good that apparently 222 people have used the same name for different apps.

The name itself makes me want to build an app

Appreciate the response. This is a promising idea then, thank you.

So a few months ago I looked into doing this — the problem is that Chrome's manifest version 3 makes it difficult. Previously, in manifest version 2, extensions had essentially a hidden tab that could be used to run stuff until the user closed the browser. But with the V3 changes, Chrome seems to want to force everyone to use web workers that spawn and shut down on-demand, and this makes it hard to write a nostr client inside an extension because the client should ideally maintain persistent connections to relays. If you look in the google groups about this there are a lot of people complaining that the V3 changes are breaking their websocket implementations. Something to consider. Not saying it's hopeless.

Hmm, that stinks. I guess the slightly less exciting version of what I'm thinking would be to just clone/download the web page locally and then populate the content with Nostr messages. But at that point why not just do a regular native Desktop app 🤔.

I might experiment and see what's possible. Thank you.

This would be super cool. I could see a lot of ways to build it, but of course the strength of extensions would be allowing the client to interact with content on the page. #[0] 's highlights would make sense for this, not sure what else.

I think he wants to put an entire social client inside the client codebase and have screens for that, which looks great to me. Then people don't have to trust that a webpage is malicious anymore, and they can bypass CORS, get notifications and stuff like that. Like https://fraidyc.at/ maybe.

wen coracle as an extension

😅

What's up with that mustache?

It's cool

Yeah, that's what I'm trying to do. Lots of potential benefits if we can pull it off. Fun experiment if we can't.