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.
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.
curl -fsSL https://raw.githubusercontent.com/iqbqioza/nostrfy/main/install.sh | shSenza 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.
VERSION=v0.1.16 curl -fsSL https://raw.githubusercontent.com/iqbqioza/nostrfy/main/install.sh | shINSTALL_DIR=/usr/local/bin sudo curl -fsSL https://raw.githubusercontent.com/iqbqioza/nostrfy/main/install.sh | shcurl -fsSL https://raw.githubusercontent.com/iqbqioza/nostrfy/main/install.sh | sh -s -- --forcegit clone https://github.com/iqbqioza/nostrfy.git && cd nostrfy && cargo build --releaseStai migrando da strfry?
Porta i tuoi eventi esistenti con un solo comando — offline, verificato e sicuro da ripetere.
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
nostrfy init
# scrive un nostrfy.toml predefinito ed escenostrfy start
# avvia il relay come demonenostrfy stats
# connessioni, eventi, dimensione del databasecurl 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.
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.
Un ecosistema di ottimi client
nostrfy parla gli standard NIP aperti su cui i client fanno affidamento — le migliori app Nostr si collegano e ottengono l’esperienza completa. Qualsiasi client conforme agli NIP funziona con il tuo relay.
Ditto usa davvero questi NIP — ricerca NIP-50, commenti in thread NIP-22, zap NIP-57, media NIP-94 e statistiche NIP-85 fanno parte del suo quotidiano — e ognuno corrisponde a una funzione del relay nostrfy.
Un client completo che usa davvero questi NIP — ricerca NIP-50, messaggi privati NIP-17/59, zap NIP-57, sondaggi NIP-88 e media Blossom funzionano con il tuo relay.
Sviluppi su Nostr? Punta qualsiasi client verso il tuo relay — vedi Riferimento completo dei NIP.
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.