Skip to content

fiatjaf/nos2x

Repository files navigation

nos2x

notes and other stuff signed by an extension

Nostr Signer Extension

Use this to sign Nostr events on web-apps without having to give them your keys.

It implements NIP-07, i.e. provides a window.nostr object which has the following methods:

async window.nostr.getPublicKey(): string // returns your public key as hex
async window.nostr.signEvent(event): Event // returns the full event object signed
async window.nostr.getRelays(): { [url: string]: RelayPolicy } // returns a map of relays
async window.nostr.nip04.encrypt(pubkey, plaintext): string // returns ciphertext+iv as specified in nip04
async window.nostr.nip04.decrypt(pubkey, ciphertext): string // takes ciphertext+iv as specified in nip04
async window.nostr.nip44.encrypt(pubkey, plaintext): string // takes pubkey, plaintext, returns ciphertext as specified in nip-44
async window.nostr.nip44.decrypt(pubkey, ciphertext): string // takes pubkey, ciphertext, returns plaintext as specified in nip-44

This extension is Chromium-only. For a maintained Firefox fork, see nos2x-fox.

Demo Video

screencast.mp4

Install

Develop

To run the plugin from this code:

git clone https://github.com/fiatjaf/nos2x
cd nos2x
yarn
./build.js prod

then

  1. go to chrome://extensions;
  2. ensure "developer mode" is enabled on the top right;
  3. click on "Load unpackaged";
  4. select the extension/ folder of this repository.

LICENSE: public domain.

Icon made by Freepik from www.flaticon.com.