No description
  • Svelte 57.9%
  • TypeScript 41%
  • Nix 0.4%
  • HTML 0.4%
  • CSS 0.2%
  • Other 0.1%
Find a file
2026-03-03 14:52:46 +01:00
e2e Add event sync feature and multi-relay support 2026-02-13 09:21:28 +01:00
src Add file import to sync page and fix admin method support checks 2026-03-03 14:33:11 +01:00
static Initial commit: NIP-86 relay management web app 2026-02-12 13:23:07 +01:00
.envrc Initial commit: NIP-86 relay management web app 2026-02-12 13:23:07 +01:00
.gitignore Initial commit: NIP-86 relay management web app 2026-02-12 13:23:07 +01:00
.npmrc Initial commit: NIP-86 relay management web app 2026-02-12 13:23:07 +01:00
CLAUDE.md Initial commit: NIP-86 relay management web app 2026-02-12 13:23:07 +01:00
flake.lock Initial commit: NIP-86 relay management web app 2026-02-12 13:23:07 +01:00
flake.nix Initial commit: NIP-86 relay management web app 2026-02-12 13:23:07 +01:00
package.json Add event sync feature and multi-relay support 2026-02-13 09:21:28 +01:00
playwright.config.ts Initial commit: NIP-86 relay management web app 2026-02-12 13:23:07 +01:00
pnpm-lock.yaml Add event sync feature and multi-relay support 2026-02-13 09:21:28 +01:00
README.md Replace template README with project documentation 2026-03-03 14:52:46 +01:00
svelte.config.js Initial commit: NIP-86 relay management web app 2026-02-12 13:23:07 +01:00
tsconfig.json Initial commit: NIP-86 relay management web app 2026-02-12 13:23:07 +01:00
vite.config.ts Initial commit: NIP-86 relay management web app 2026-02-12 13:23:07 +01:00
vitest.config.ts Add event sync feature and multi-relay support 2026-02-13 09:21:28 +01:00

Relay Manager

Web-based admin panel for managing Nostr relays that support NIP-86 (Relay Management API).

Features

  • Dashboard — Relay info, stats, and status overview
  • Event browser — Browse and inspect stored events
  • Pubkey management — View and manage known pubkeys
  • Moderation — Ban/unban pubkeys and events
  • Access control — Configure relay allow/deny lists
  • Admin management — Add or remove relay administrators
  • Relay-to-relay sync — Sync events between relays
  • Settings — Relay configuration and schema management

Tech Stack

Getting Started

Prerequisites

  • Node.js 22+ and pnpm (or use nix develop with the included flake)

Install & Run

pnpm install
pnpm dev

Build

pnpm build
pnpm preview  # preview the production build

Authentication

On the login screen, enter a relay URL and choose a signing method:

  • Extension (NIP-07) — Browser extension like nos2x or Alby
  • Bunker (NIP-46) — Remote signing via a bunker URL
  • nsec — Direct private key entry (stored in memory only, never persisted)

API calls to the relay are authenticated with NIP-98 HTTP auth events.

Development

pnpm dev          # start dev server
pnpm build        # production build
pnpm test         # run unit tests (vitest)
pnpm test:e2e     # run e2e tests (playwright)
pnpm check        # svelte-check + type checking
pnpm format       # format with prettier
pnpm lint         # check formatting

Nix

A flake.nix is included for reproducible development environments with Node.js 22, pnpm, and Playwright:

nix develop