Chorus is a nostr relay
  • Rust 97.4%
  • Shell 1.9%
  • Dockerfile 0.7%
Find a file
2026-04-30 05:16:55 +12:00
contrib update contrib/chorus.toml for last commit 2025-04-22 12:40:03 +12:00
docker Update docker setup: 2026-04-27 11:41:16 +12:00
docs Add configs for: banner_url, privacy_policy, terms_of_service (the latter 2 locally served) 2025-04-22 12:23:46 +12:00
sample Add configs for: banner_url, privacy_policy, terms_of_service (the latter 2 locally served) 2025-04-22 12:23:46 +12:00
src Shrink Error type enum to 48 bytes 2026-02-21 12:18:50 +13:00
test_blossom FIX: test_blossom needed to add a user first 2025-05-27 09:15:20 +12:00
test_with_relay_tester Files for testing chorus with relay-tester 2025-03-28 09:51:24 +13:00
.gitignore TLS 2024-02-17 09:53:47 +13:00
Cargo.lock 2.0.2 2026-04-30 05:16:55 +12:00
Cargo.toml 2.0.2 2026-04-30 05:16:55 +12:00
CHANGELOG.md Move changelog to CHANGELOG.md 2025-03-15 08:52:36 +13:00
LICENSE.txt Update copyright date in license file 2024-02-18 19:53:12 +13:00
README.md Move changelog to CHANGELOG.md 2025-03-15 08:52:36 +13:00
run_sample.sh Log level filter work 2024-02-21 14:31:26 +13:00

Chorus

Chorus is a nostr relay.

It is pretty fast: docs/PERFORMANCE.md.

It can work as your personal relay (or as an open relay): docs/PERSONAL_RELAY.md

It can serve as a blossom server.

To deploy chorus, read docs/DEPLOYING.md

To configure chorus read docs/CONFIG.md

To undertand the relay's behavior, read docs/BEHAVIOR.md

To understand command line tools, read docs/TOOLS.md

To understand the management API, read docs/MANAGEMENT.md

Chorus does not have any provisions for charging users.

Chorus does not have any provisions for synchronizing events with other relays outside of the nostr protocol.

Alternatives

strfry

strfry is a more mature relay that offers additional features including:

  • Synchronizing events with other relays efficiently (negentropy)
  • Zero-downtime restarts
  • Websocket permessage-deflate
  • Plugins for event sifting

However:

  • Chorus is probably faster (more efficient)
  • Chorus has personal relay rules by default
  • Chorus has extensive IP banning and rate limiting to protect your relay from abuse
  • Chorus supports NIP-42 (AUTH), NIP-59 (GiftWrap), NIP-65 (Relay Lists) and PR 1030 and PR 1325.
  • Chorus has a moderation cmd line tool and a moderation API (PR 1325)
  • Chorus can act as a blossom server

nostream

nostream

nostr-rs-relay

nostr-rs-relay

khatru

khatru

Git branches

Use the branch latest.

Do not run off of the master branch. Master is updated with breaking changes that are not only unstable, but which may require you to update your configuration. I will not announce upgrade instructions until release.