Rust · MIT o Apache-2.0 · ultima versione v0.1.16

Il relay Nostr che non cade mai.

nostrfy è un motore di server relay Nostr tutto-in-uno. Veloce per progettazione, leggero per natura, potente di default. Installazione in una riga, configurazione in un unico file TOML ed esecuzione su praticamente qualsiasi VPS.

oltre 36 NIP lato relay Linux · FreeBSD · container Un binario, nessuna dipendenza

Installazione in una riga

Lo script di installazione rileva il sistema operativo e l’architettura, scarica il binario precompilato corrispondente, ne verifica il checksum sha256 e lo rende disponibile nel PATH. Niente clone, niente compilazione, niente sudo.

sh
curl -fsSL https://raw.githubusercontent.com/iqbqioza/nostrfy/main/install.sh | sh

Senza sudo

Installa in ~/.local/bin, ~/bin o ~/.cargo/bin — il primo già presente nel PATH.

Linux + FreeBSD

Binari precompilati per Linux x86_64 e aarch64, più FreeBSD x86_64.

Checksum verificato

Il checksum della release viene recuperato e verificato prima che il binario tocchi il disco.

Versione specifica
sh
VERSION=v0.1.16 curl -fsSL https://raw.githubusercontent.com/iqbqioza/nostrfy/main/install.sh | sh
Installa per tutto il sistema
sh
INSTALL_DIR=/usr/local/bin sudo curl -fsSL https://raw.githubusercontent.com/iqbqioza/nostrfy/main/install.sh | sh
Sovrascrivi l’esistente
sh
curl -fsSL https://raw.githubusercontent.com/iqbqioza/nostrfy/main/install.sh | sh -s -- --force
Compila dai sorgenti
sh
git clone https://github.com/iqbqioza/nostrfy.git && cd nostrfy && cargo build --release

Stai migrando da strfry?

Porta i tuoi eventi esistenti con un solo comando — offline, verificato e sicuro da ripetere.

Guida alla migrazione

Operativo in meno di un minuto

nostrfy include un demone, un validatore di configurazione, statistiche in tempo reale, rotazione dei log e ricaricamento a caldo — tutto ciò che serve a un operatore, in un unico binario.

  • nostrfy init scrive un nostrfy.toml predefinito completamente commentato
  • nostrfy check convalida la configurazione prima dell’avvio
  • SIGHUP ricarica la maggior parte delle impostazioni senza riavvio
  • nostrfy upgrade aggiorna il binario all’ultima versione
Apri la guida di avvio rapido
sh
nostrfy init
# scrive un nostrfy.toml predefinito ed esce
sh
nostrfy start
# avvia il relay come demone
sh
nostrfy stats
# connessioni, eventi, dimensione del database
sh
curl http://localhost:8080/health
# {"status":"ok"}

Punta il tuo client Nostr su ws://<host>:8080 — fatto.

Per relay in produzione

Ogni funzione risponde a due obiettivi: non cadere mai ed essere completamente conforme alle specifiche. Il risultato è un relay che sopravvive ad abusi, dischi bloccati e host con poca memoria.

Completamente conforme

Tutti i NIP lato relay implementati e verificati rispetto alle specifiche ufficiali — oltre 36 NIP più il file server Blossom.

Non cade mai

Protezione dal sovraccarico, thread di lettura dedicati, isolamento dei panic e limiti rigorosi delle risorse mantengono il relay in servizio sotto abusi prolungati.

Server multimediale Blossom

Upload indirizzati tramite SHA-256 su un hostname dedicato — disco locale o bucket compatibili S3 (AWS S3, Cloudflare R2), con cancellazione firmata dal proprietario.

REST API

Un’API /api/v1 in sola lettura per interrogare gli eventi per npub1, nevent1 o naddr1 — il suo thread di lettura dedicato impedisce al traffico REST di bloccare gli abbonati WebSocket.

Persistenza LMDB

Archiviazione durevole e a prova di crash tramite heed. La mappa di memoria è riservata in modo sparso fino al limite — nessun ridimensionamento a runtime e ingombro fisico minimo.

Tutto configurabile

Tutte le impostazioni sono in nostrfy.toml — nessuna opzione di compilazione. Modifica, SIGHUP, fatto. Limiti, interruttori NIP, archiviazione e altro.

Funziona dietro proxy TLS

nginx, Caddy, Cloudflare Tunnel — gli upgrade WebSocket e X-Forwarded-Proto sono rispettati, quindi wss:// funziona dietro qualsiasi proxy.

Rust + FreeBSD

Un unico binario Rust statico per Linux x86_64, Linux aarch64 e FreeBSD x86_64 — verificato su un VPS da 0,25 vCPU / 512 MB.

Prestazioni misurate

Build release, database nuovo, laptop a 8 thread. La velocità di scrittura è limitata da un unico thread di scrittura LMDB e da commit in batch senza fsync; i lettori non lo bloccano mai.

~21k
eventi/s in ingresso
una connessione
100%
Distribuzione live
10.000 / 10.000 consegne
0.32s
query memorizzata
20.000 eventi
0.26s
ricerca NIP-50
10.000 risultati
7.9 MB
RSS privato
con un database da 252 MB

Riproducibile con i benchmark inclusi — vedi note sulle prestazioni.

Supporto completo dei NIP secondo la specifica

Ogni NIP lato relay è implementato e verificato. La lista pubblicata in NIP-11 è dinamica — un NIP scompare automaticamente quando i suoi kind vengono bloccati.

Riferimento completo dei NIP
19111317222628293233344042434546475057596265666770777884858687889498A3Blossom

Esegui il tuo relay in pochi minuti

Dal VPS più piccolo a una flotta globale — il binario precompilato, il validatore di configurazione e le guide di distribuzione rendono tutto indolore.

Domande? Leggi le FAQ oppure il confronto tra nostrfy e strfry — e migra con un solo comando.