From 88da075509b7de8dbf328e3ce375a519228753cd Mon Sep 17 00:00:00 2001 From: Riccardo Balbo Date: Wed, 24 Jul 2024 13:00:59 +0000 Subject: [PATCH] bell and whistles --- LICENSE | 35 +--------------------- README.md | 42 +++++++++++++++++--------- config.json | 13 -------- static/image/1.png | Bin 13110 -> 0 bytes static/image/2.png | Bin 13110 -> 0 bytes static/image/3.png | Bin 13110 -> 0 bytes templates/nwcprovider/admin.html | 2 -- templates/nwcprovider/index.html | 50 ++++--------------------------- 8 files changed, 34 insertions(+), 108 deletions(-) delete mode 100644 static/image/1.png delete mode 100644 static/image/2.png delete mode 100644 static/image/3.png diff --git a/LICENSE b/LICENSE index 93b0e4e..cfbd23b 100644 --- a/LICENSE +++ b/LICENSE @@ -1,39 +1,6 @@ -> Use any license you like, its your extension. - ---- - -# DON'T BE A DICK PUBLIC LICENSE - -> Version 1.1, December 2016 - -> Copyright (C) 2024 Alan Bits - -Everyone is permitted to copy and distribute verbatim or modified -copies of this license document. - -> DON'T BE A DICK PUBLIC LICENSE -> TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - -1. Do whatever you like with the original work, just don't be a dick. - - Being a dick includes - but is not limited to - the following instances: - - 1a. Outright copyright infringement - Don't just copy this and change the name. - 1b. Selling the unmodified original with no work done what-so-ever, that's REALLY being a dick. - 1c. Modifying the original work to contain hidden harmful content. That would make you a PROPER dick. - -2. If you become rich through modifications, related works/services, or supporting the original work, -share the love. Only a dick would make loads off this work and not buy the original work's -creator(s) a pint. - -3. Code is provided with no warranty. Using somebody else's code and bitching when it goes wrong makes -you a DONKEY dick. Fix the problem yourself. A non-dick would submit the fix back. - ---- - # MIT License -> Copyright (c) 2024 Alan Bits +Copyright (c) 2024 Riccardo Balbo Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index 49c7d37..1bf7653 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,34 @@ -`The README.md typically serves as a guide for using the extension.` +# NWC Service Provider Extension for [LNbits](https://github.com/lnbits/lnbits) -# NWCService - An [LNbits](https://github.com/lnbits/lnbits) Extension +Easily connect your LNbits wallets via [NWC](https://nwc.dev/). -## A Starter Template for Your Own Extension +## Installation -Ready to start hacking? Once you've forked this extension, you can incorporate functions from other extensions as needed. +Install the extension via the .env file or through the admin UI on your LNbits server. More details can be found [here](https://github.com/lnbits/lnbits/wiki/LNbits-Extensions). -### How to Use This Template -> This guide assumes you're using this extension as a base for a new one, and have installed LNbits using https://github.com/lnbits/lnbits/blob/main/docs/guide/installation.md#option-1-recommended-poetry. +## Configuration -1. Install and enable the extension either through the official LNbits manifest or by adding https://raw.githubusercontent.com/lnbits/nwcservice/main/manifest.json to `"Server"/"Server"/"Extension Sources"`. ![Extension Sources](https://i.imgur.com/MUGwAU3.png) ![image](https://github.com/lnbits/nwcservice/assets/33088785/4133123b-c747-4458-ba6c-5cc7c0f124d8) +Configure the extension from the "Settings" page in the top right menu when logged in as admin inside the extension page. -2. `Ctrl c` shut down your LNbits installation. -3. Download the extension files from https://github.com/lnbits/nwcservice to a folder outside of `/lnbits`, and initialize the folder with `git`. Alternatively, create a repo, copy the nwcservice extension files into it, then `git clone` the extension to a location outside of `/lnbits`. -4. Remove the installed extension from `lnbits/lnbits/extensions`. -5. Create a symbolic link using `ln -s /home/ben/Projects/ /home/ben/Projects/lnbits/lnbits/extensions`. -6. Restart your LNbits installation. You can now modify your extension and `git push` changes to a repo. -7. When you're ready to share your manifest so others can install it, edit `/lnbits/nwcservice/manifest.json` to include the git credentials of your extension. -8. IMPORTANT: If you want your extension to be added to the official LNbits manifest, please follow the guidelines here: https://github.com/lnbits/lnbits-extensions#important +### Configuration Options: + +| Key | Description | Default | +|---------------|------------------------------------------------------------------------------------------------------------------------------------|--------------------------------| +| relay | URL of the nostr relay for dispatching and receiving NWC events. Use public relays or a custom one. Specify `nostrclient` to connect to the [nostrclient extension](https://github.com/lnbits/nostrclient). | nostrclient | +| provider_key | Nostr secret key of the NWC Service Provider. | Random key generated on install | +| relay_alias | Relay URL to display in pairing URLs. Set if different from `relay`. | Empty (uses the `relay` value) | + +### Using Nostrclient + +The extension is preconfigured to connect to the nostrclient extension. Install it on the same LNbits instance and configure it to expose public websocket endpoints. Refer to the [nostrclient documentation](https://github.com/lnbits/nostrclient) for more information. + +### Using a Custom Relay + +To use a custom relay, set the `relay` key to the relay URL (e.g., `wss://nostr.wine`) in the extension's Settings page. + +## Usage + +1. Go to the extension page. +2. Select a wallet and click the plus button to create a new NWC connection. +3. Configure expiration, limits, and permissions. +4. A pairing URL will be generated for you to open, copy, or scan with the NWC app. Note that the pairing URL is shown only once, but you can delete and recreate the connection to get a new one. diff --git a/config.json b/config.json index 81b1aca..988bb50 100644 --- a/config.json +++ b/config.json @@ -10,18 +10,5 @@ "role": "Dev" } ], - "images": [ - { - "uri": "https://raw.githubusercontent.com/riccardobl/nwcprovider/main/static/image/1.png" - }, - { - "uri": "https://raw.githubusercontent.com/riccardobl/nwcprovider/main/static/image/2.png" - }, - { - "uri": "https://raw.githubusercontent.com/riccardobl/nwcprovider/main/static/image/3.png" - } - ], - "description_md": "https://raw.githubusercontent.com/riccardobl/nwcprovider/main/description.md", - "terms_and_conditions_md": "https://raw.githubusercontent.com/riccardobl/nwcprovider/main/toc.md", "license": "MIT" } diff --git a/static/image/1.png b/static/image/1.png deleted file mode 100644 index e0a39323dc5363065111296ca3597ac93cc059f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13110 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 diff --git a/static/image/2.png b/static/image/2.png deleted file mode 100644 index e0a39323dc5363065111296ca3597ac93cc059f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13110 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 diff --git a/static/image/3.png b/static/image/3.png deleted file mode 100644 index e0a39323dc5363065111296ca3597ac93cc059f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13110 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 diff --git a/templates/nwcprovider/admin.html b/templates/nwcprovider/admin.html index dbda4a4..940388f 100644 --- a/templates/nwcprovider/admin.html +++ b/templates/nwcprovider/admin.html @@ -79,8 +79,6 @@ try { const response = await LNbits.api .request('POST', '/nwcprovider/api/v1/config', this.g.user.wallets[0].adminkey, data) - - this.$q.notify({ message: 'Config saved, please restart the server', color: 'positive', diff --git a/templates/nwcprovider/index.html b/templates/nwcprovider/index.html index a794dc2..bb7c2d0 100644 --- a/templates/nwcprovider/index.html +++ b/templates/nwcprovider/index.html @@ -8,15 +8,8 @@
- - - - @@ -27,8 +20,6 @@
Connected Apps
- - @@ -69,9 +60,9 @@
-
{{SITE_TITLE}} NWC Service provider extension
+
NWC Service provider

- An extension that turns LNBits into a Nostr Wallet Connect service provider. + Nostr Wallet Connect (NWC) are a way for applications to connect to a remote lightning wallet.

@@ -89,30 +80,13 @@ Settings - +
- - - - - + @@ -152,8 +126,6 @@ Budget (sats)
used/max
- -
Refresh @@ -168,14 +140,10 @@ - - - - Close @@ -186,7 +154,6 @@ - @@ -195,21 +162,15 @@

Please scan this QR code with a supported app

Connect only with app you trust!

-
- - + -
- -

Pairing

Complete the last step of the setup by pasting or scanning your connection's @@ -217,7 +178,6 @@ app to finalise the connection.

Connect only with app you trust!

-