Minimal and with as few dependencies as possible python scripts for lnurl client side.
All requests are made with tor.
Scripts are self contained, so they can be copied individually everywhere.
Decode an lnurl bech32/url/protocol/address, make the lnurl pay requests and get an invoice.
Supports:
- 06
payRequest
base spec - 12
comments in
payRequest
- 16 paying to static internet identifiers
- 17 scheme prefixes and raw (non bech32-encoded) URLs
- lightning address
Useful for who runs a lightning node without any external tools, and wants to pay lnurls, ln addresses.
requirements: requests[socks]
lnurl-pay-get-invoice [-v | -vv] [-d, --decode] data [amount] [comment]
data can be:
invoice normal, invoice protocol, lnurl bech32,
lnurl url, lnurl protocol, lnurl lightning address
if data is not invoice amount should be present
if service allows comments, comment can be present
if --decode, simply decode the url, without making the requests
Decode the lnurl bech32/url/protocol, make the lnurl auth requests to authenticate.
Supports:
- 04
auth
base spec - 13
signMessage
-based seed generation forauth
protocol - 17 scheme prefixes and raw (non bech32-encoded) URLs
Useful for authenticating in websites directly from the terminal without needing extra tools/wallets.
In order to support signMessage-based seed generation for auth protocol, after obtaining the signature from the lightning node as explained here, do
cat <signature-file> | lnurl-auth --hex lnurl
requirements: requests[socks]
ecdsa
lnurl-auth [-v | -vv] [--linking-key] [--hex] [--no-hmac] data
data can be:
lnurl bech32, lnurl url, lnurl protocol
in stdin it should be present the secret/linking-key
if --linking-key, directly use the string passed in stdin as linking-key
if --hex, treat the string in stdin as an hexadecimal
if --no-hmac, do not hmac with the url
lnurlmini is released under the terms of the ISC license. See LICENSE for more details.