No description
Find a file
21M4TW 5a1a400f45
-Two issues were dicovered in get_config_for_all_active_relays which led (#32)
to errors while loading relay configuration from the DB and that also
caused the loaded meta information to be invalid. Mandatory fields for
NostrRelay were not selected by the query, and a dictionary
representation of the meta object should not be returned as it causes
some members such as require_auth_filter and event_requires_auth to not
be accessible, leading to breaking exceptions.
2025-06-16 11:59:13 +03:00
.github/workflows feat: improve codequality and CI (#25) 2024-08-30 13:20:23 +02:00
relay [fix] Ws api tests (#31) 2024-11-11 15:25:25 +02:00
static feat: update to v1.0.0 (#30) 2024-11-08 15:32:04 +02:00
templates/nostrrelay feat: update to v1.0.0 (#30) 2024-11-08 15:32:04 +02:00
tests [fix] Ws api tests (#31) 2024-11-11 15:25:25 +02:00
.gitattributes fix: do not remove README from archive 2023-04-19 14:41:14 +03:00
.gitignore [fix] Ws api tests (#31) 2024-11-11 15:25:25 +02:00
.prettierrc feat: improve codequality and CI (#25) 2024-08-30 13:20:23 +02:00
__init__.py [fix] Ws api tests (#31) 2024-11-11 15:25:25 +02:00
client_manager.py feat: improve codequality and CI (#25) 2024-08-30 13:20:23 +02:00
config.json feat: update to v1.0.0 (#30) 2024-11-08 15:32:04 +02:00
crud.py -Two issues were dicovered in get_config_for_all_active_relays which led (#32) 2025-06-16 11:59:13 +03:00
description.md feat: improve codequality and CI (#25) 2024-08-30 13:20:23 +02:00
helpers.py chore: code format 2023-03-17 15:06:09 +02:00
LICENSE Initial commit 2023-01-27 14:36:27 +00:00
Makefile [fix] Ws api tests (#31) 2024-11-11 15:25:25 +02:00
manifest.json fix: repository 2024-03-21 15:35:19 +02:00
migrations.py feat: differentiate between publisher and author 2023-02-17 09:38:49 +02:00
models.py [fix] Ws api tests (#31) 2024-11-11 15:25:25 +02:00
package-lock.json feat: improve codequality and CI (#25) 2024-08-30 13:20:23 +02:00
package.json feat: improve codequality and CI (#25) 2024-08-30 13:20:23 +02:00
poetry.lock feat: update to v1.0.0 (#30) 2024-11-08 15:32:04 +02:00
pyproject.toml feat: update to v1.0.0 (#30) 2024-11-08 15:32:04 +02:00
README.md chore: code format 2023-02-21 16:20:19 +02:00
tasks.py feat: update to v1.0.0 (#30) 2024-11-08 15:32:04 +02:00
toc.md feat: improve codequality and CI (#25) 2024-08-30 13:20:23 +02:00
views.py feat: update to v1.0.0 (#30) 2024-11-08 15:32:04 +02:00
views_api.py feat: update to v1.0.0 (#30) 2024-11-08 15:32:04 +02:00

Nostr Relay

One click and spin up your own Nostr relay. Share with the world, or use privately.

Configure:

  • Free Plan: with limitted storage (limit can be changed)
  • Paid Plan: pay to join and pay for storage
  • Storage Limit (can buy more)
  • Rate Limit
  • Filter Limit
  • Allow/Block accounts
  • Optional Auth for Events and Filters

Supported NIPs

  • NIP-01: Basic protocol flow
  • NIP-02: Contact List and Petnames
    • kind: 3: delete past contact lists as soon as the relay receives a new one
  • NIP-04: Encrypted Direct Message
    • if AUTH enabled: send only to the intended target
  • NIP-09: Event Deletion
  • NIP-11: Relay Information Document
  • NIP-12: Generic Tag Queries
    • todo
  • NIP-15: End of Stored Events Notice
  • NIP-16: Event Treatment
    • Regular Events
    • Replaceable Events
    • Ephemeral Events
  • NIP-20: Command Results
    • todo: use correct prefixes
  • NIP-22: Event created_at Limits
  • NIP-26: Delegated Event Signing
    • not planned
  • NIP-28 Public Chat
    • kind: 41: handled similar to kind 0 metadata events
  • NIP-33: Parameterized Replaceable Events
    • todo
  • NIP-40: Expiration Timestamp
    • todo
  • NIP-42: Authentication of clients to relays
    • todo: use correct prefix
  • NIP-50: Search Capability
    • todo

Create Relay

Creating a new relay is straightforward. Just click New Relay then enter the Relay Info.

Note

The relay can be activated/deactivated.

  • New Relay Dialog
    • image

Configure Relay

Find your Relay in the list and click the expand button (+) to configure it.

Relay Info

This tab contains data according to NIP-11 (Relay Information Document).

Note

: the domain is added automatically and shoud be corrected manually if needed. This value is used for NIP-42 (Authentication of clients to relays)

  • Relay Info Tab
    • image

Payment

By default the relay is free to access, but it can be configured to ask for payments. It is encourage to also activate the Require Auth option for paid relays.

Note

: check the info button (I) tooltip for a description of each field.

  • Payment Config Tab
    • image

Click on the Relay ID (or visit https://{your_domain}/nostrrelay/${relay_id}) for the Relay public page. Here the entry and storage fees can be paid.

  • Relay Public Page
    • image

Config

Configure NIP-22 (Event created_at Limits), NIP-42 (Authentication of clients to relays) and other Relay parameters.

Some configurations are not standard (NIPs) but they help control what clients are allowed to do, thus blocking (some) attack vectors.

Note

: check the info button (I) tooltip for a description of each field.

  • Config Tab
    • image

Accounts

Allows the Relay operator to Block or Allow certain accounts.

If an account is allowed then it is not required to pay to join.

When an account is blocked it does not matter if it paid to join or if it is allowed.

  • Accounts Tab
    • image

Development

Create Symbolic Link:

ln -s /Users/my-user/git-repos/nostr-relay-extension/ /Users/my-user/git-repos/lnbits/lnbits/extensions/nostrrelay