Skip to content

andotherstuff/groups_relay

 
 

Repository files navigation

Groups Relay

codecov

A Nostr relay server specialized for group chat functionality.

Implements NIP-29: Relay-based Groups.

Project Structure

This is a Rust workspace with these main crates:

  • groups_relay: The main relay server implementing NIP-29 group chat functionality.
  • websocket_builder: A middleware-based WebSocket framework.

Key Features

groups_relay

  • Groups:

    • Support for managed and unmanaged groups
    • Group metadata management
    • Event metrics and monitoring
  • NIP-42 Auth: Client authentication

  • NIP-70: Protected events

  • Management UI: Preact-based frontend for group administration

websocket_builder

  • Middleware pipeline for message processing
  • Type-safe message conversion
  • Connection state management
  • Configurable channel sizing

Development

Prerequisites

  • Rust 1.84 or later
  • Docker (optional)

Quick Start

Build and test:

cargo build --workspace
cargo test --workspace

Run the relay:

cargo run -p groups_relay

Run with Docker:

docker compose up --build

License

AGPL

About

Nostr NIP-29 (and NIP-72) Relay

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 74.8%
  • TypeScript 23.6%
  • Shell 1.0%
  • CSS 0.3%
  • Dockerfile 0.2%
  • JavaScript 0.1%