#NoorNote is a desktop client, and there's a good reason for that. We all love how Nostr can't be censored, right? But there's still a weak spot. A web client gets hosted on a regular web server, and that can get taken down or blocked with just some everyday bureaucracy. It hasn't happened yet, but "they" haven't really noticed Nostr either. It's similar with mobile apps; app stores can take them down or block those too.

With desktop clients that you can download from all sorts of mirrors around, and that only use the internet to shuttle stuff to and from relays, it's way harder to mess with. And if you're on Linux, even more so. To me, that's real peer-to-peer.

So a Nostr client as a desktop app has its upsides, along with a few downsides. The ecosystem right now isn't all that exciting. But I think it's the future for every kind of Nostr client, not just the social media part, especially the "other stuff" part of Nostr. Nostr clients that run on a web server will soon be considered a leftover from the transition days.

One direct result of the still weak ecosystem for Nostr desktop clients is that there's no decent desktop key signer out there. You can enter your nsec directly, and the security risk isn't as bad as doing it in a web client (since you'd have to trust the web client operator), but it's still there. Malicious software on your system could still snag that nsec. A hardware remote signer is better, but not many people have one. So what's left?

A software key signer, like Alby, nosx, Flamingo and so on, except those are for browsers. I couldn't find one for the desktop, or maybe I'm just not looking hard enough.

Anyway, I wrote my own desktop key signer: NoorSigner.

It'll come bundled with NoorNote, but it's a standalone project and other desktop Nostr clients can use it too. It even has an API to control it right from the desktop client!

You can run it automatically before starting the Nostr client; it's a terminal app written in Golang.

First setup: On the first launch, you paste your nsec into the terminal, set a password, and pick a "trust mode." That means whether you want to enter your password into NoorSigner every time before starting the Nostr client (like on shared computers), or you trust your machine and let the NoorSigner session stick around for 24 hours. But even then, you'd still need to enter your password at least once a day into NoorSigner.

Like I said, I still need to write up some proper API docs (who actually likes writing docs?), and then other desktop clients can use it too.

Reply to this note

Please Login to reply.

Discussion

Would love to test this NoorSigner with Flotilla.

Sounds like you're going the direction of KeyChat with the desktop client. I've been moving most of my web client browsing to their browser mode cause it's just so good and smooth

Does Flotilla run on a desktop computer?

Flotilla has both web and mobile clients. It's been my main client for testing signers.

Sure you can test it. Which OS?

Right now I'm adding NIP-44 encryption/decryption support for private bookmarks to it.

But Flotilla needs to support local key signers too. Does it?

I believe so

https://app.flotilla.social/

Login page has options for browser extentions, remote signers, and signer apps

That's different, that's web. And for that it uses Alby, nosx, Flamengo etc. The question is, does their desktop app support locally installed key signers?

Wouldn't that be remote signer option?

No, a remote signer is usually a piece of hardware, like the one from lnbits (https://shop.lnbits.com/product/nsec-remote-nostr-signer )

This is using nostr connect though, right. Pretty sure that's the same method as the remote signer login option.

What about having a separately downloadable .apk file instead of submitting to play store?

I'm not submitting this to any app store.

Yes but afaik, generating a .apk can be done from code without needing to submit anywhere. This is how FOSS apps are distributed on Android. Just a github repo with releases that have the apk, no play store at all.

Might be something to consider for future mobile adoption without submitting anywhere, unless there is something I'm missing.

The thing is, it's not a mobile app right now. It's only for real computers (desktop, minis, laptops).

Yes, just wanted to point out that it is possible to release a mobile app (on Android at least), outside of these centralized app stores and their beauracracy and taking down.

Inshallah NoorNote grows really big to one day revisit the topic.

Hopefully you can make it adaptive on smaller screens, as my mobile is a #Librem5 and runs Linux desktop apps.

What's the resolution of your screen?

720x1440

Yes, that's totally doable, I'd just need to tweak the responsive design a bit. What package manager does your system use? What kinds of files can you install?

I'm running #postmarketOS, based on Alpine Linux. It's the most bleeding edge Linux distro for mobile.

Most apps are flatpaks, but it also support Apline package format APKs - not the Android one :)

Ok, noted. 📝

KeyChat has a linux build. Have you tried it on your Librem?

Haven't figured out how to connect a normal Lightning wallet via NWC yet.

Currently, Keychat only has one Cashu wallet. Later, we will add two more types of (including NWC). All mini apps can use the Cashu wallet to complete Lightning invoice payments.

If you’re just starting to use the Keychat wallet, you can first receive some Lightning payments (keep the amount small, less than 100 sats) or ecash tokens.

nostr:nevent1qyt8wumn8ghj7un9d3shjtnwdaehgu3wvfskueqqyr0vzexsq4t4cl3dhrn66vely7z5lqumjtecv3tuehkzmfjlpt78w2q8f4u

I highly recommend you check out this short introduction video about Keychat.

nostr:nevent1qyt8wumn8ghj7un9d3shjtnwdaehgu3wvfskueqqyp55n77npg3jwdk6wr4gttl3fgmuw7x3n3rf9592x5wkakk53m756j6avmq

I have, thanks. But no pure Lightning with NWC => not much interesting to me right now.

No ARM builds for #Linux yet looks like. Also, no cross-distro packaging... AppImage doesn't work on #postmarketOS please package as #flatpak instead.

Thanks for the feedback — this is already on our to-do list.

Does Librem5 have a browser that can install browser extensions, like Alby, nos2x?

Yes, from day one Firefox, Brave and others can install extensions long before Android : ) since all apps are the desktop versions just AArch64 builds.

I'm using one of the 2 you mentioned.

Thanks

This is why we have KeyChat 😅

Oh, do I have to make it keychat-compatible too?

test it and see. i suspect it already works well. but that's the easiest way i know to make a desktop client accessable on mobile

It has be a web app then I assume

No, use just enter the url in the keychat browser and login via bunker/extention

nevent1qvzqqqqqqypzpwleyw4fy3sxt7yvgrran0mpenxqlululur94r9jlax0hd3q3rc7qyt8wumn8ghj7un9d3shjtnwdaehgu3wvfskueqpz3mhxue69uhhyetvv9ujuerpd46hxtnfduqzp4gn78wv5j8tc93l86qcfjv688fvgca6nrj5kxpgazjxana46fsc2glz76