Le relais Nostr qui ne tombe jamais.
nostrfy est un moteur de serveur relais Nostr tout-en-un. Rapide par conception, léger par nature, puissant par défaut. Installation en une ligne, configuration dans un seul fichier TOML et exécution sur presque n’importe quel VPS.
Installation en une ligne
Le script d’installation détecte votre OS et votre architecture, télécharge le binaire précompilé correspondant, vérifie sa somme sha256 et le place dans votre PATH. Ni clonage, ni compilation, ni sudo.
curl -fsSL https://raw.githubusercontent.com/iqbqioza/nostrfy/main/install.sh | shsans sudo
Installe dans ~/.local/bin, ~/bin ou ~/.cargo/bin — le premier déjà présent dans le PATH.
Linux + FreeBSD
Binaires précompilés pour Linux x86_64 et aarch64, ainsi que FreeBSD x86_64.
Somme de contrôle vérifiée
La somme de contrôle de la release est récupérée et vérifiée avant que le binaire ne touche le disque.
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 --releaseVous migrez depuis strfry ?
Reprenez vos événements existants en une commande — hors ligne, vérifié et réexécutable sans risque.
Opérationnel en moins d’une minute
nostrfy fournit un démon, un validateur de configuration, des statistiques en direct, la rotation des journaux et le rechargement à chaud — tout ce dont un opérateur a besoin, dans un seul binaire.
- nostrfy init écrit un nostrfy.toml par défaut entièrement commenté
- nostrfy check valide la configuration avant le démarrage
- SIGHUP recharge la plupart des réglages sans redémarrage
- nostrfy upgrade met à jour le binaire vers la dernière version
nostrfy init
# écrit un nostrfy.toml par défaut et quittenostrfy start
# lance le relais en démonnostrfy stats
# connexions, événements, taille de la basecurl http://localhost:8080/health
# {"status":"ok"}Pointez votre client Nostr vers ws://<host>:8080 — terminé.
Pour des relais en production
Chaque fonctionnalité répond à deux objectifs : ne jamais tomber et être entièrement conforme aux spécifications. Le résultat : un relais qui survit aux abus, aux disques bloqués et aux hôtes à mémoire limitée.
Entièrement conforme
Tous les NIP côté relais implémentés et vérifiés par rapport aux spécifications officielles — plus de 36 NIP et le serveur de fichiers Blossom.
Ne tombe jamais
Protection contre la surcharge, threads de lecture dédiés, isolation des panics et limites de ressources strictes maintiennent le relais en service sous abus prolongé.
Serveur multimédia Blossom
Téléversements adressés par SHA-256 sur leur propre nom d’hôte — disque local ou buckets compatibles S3 (AWS S3, Cloudflare R2), avec suppression signée par le propriétaire.
REST API
Une API /api/v1 en lecture seule pour interroger les événements par npub1, nevent1 ou naddr1 — son propre thread de lecture empêche le trafic REST de bloquer les abonnés WebSocket.
Persistance LMDB
Stockage durable et résistant aux crashs via heed. La carte mémoire est réservée de façon creuse jusqu’à sa limite — aucun redimensionnement à chaud, empreinte physique minuscule.
Tout est configurable
Tous les réglages sont dans nostrfy.toml — aucune option de compilation. Modifiez, envoyez SIGHUP, terminé. Limites, interrupteurs NIP, stockage et plus.
Fonctionne derrière un proxy TLS
nginx, Caddy, Cloudflare Tunnel — les mises à niveau WebSocket et X-Forwarded-Proto sont respectées, wss:// fonctionne derrière n’importe quel proxy.
Rust + FreeBSD
Un seul binaire Rust statique pour Linux x86_64, Linux aarch64 et FreeBSD x86_64 — vérifié sur un VPS 0,25 vCPU / 512 Mo.
Performances mesurées
Version release, base de données neuve, portable 8 threads. Le débit d’écriture est limité par un unique thread d’écriture LMDB et des commits groupés sans fsync ; les lecteurs ne le bloquent jamais.
Reproductible avec les benchmarks fournis — voir notes de performance.
Prise en charge complète des NIP selon la spécification
Chaque NIP côté relais est implémenté et vérifié. La liste publiée dans NIP-11 est dynamique — un NIP disparaît automatiquement lorsque ses kinds sont bloqués.
Un écosystème de grands clients
nostrfy parle les standards NIP ouverts sur lesquels les clients s’appuient — les meilleures applications Nostr se connectent et profitent de l’expérience complète. Tout client conforme aux NIP fonctionne avec votre relais.
Ditto utilise réellement ces NIP — recherche NIP-50, commentaires imbriqués NIP-22, zaps NIP-57, médias NIP-94 et statistiques NIP-85 font partie de son quotidien — et chacun correspond à une fonctionnalité du relais nostrfy.
Un client complet qui utilise réellement ces NIP — recherche NIP-50, messages privés NIP-17/59, zaps NIP-57, sondages NIP-88 et médias Blossom fonctionnent avec votre relais.
Vous développez sur Nostr ? Pointez n’importe quel client vers votre relais — voir Référence complète des NIP.
Lancez votre propre relais en quelques minutes
Du plus petit VPS à une flotte mondiale — le binaire précompilé, le validateur de configuration et les guides de déploiement rendent le tout indolore.
Des questions ? FAQ ou la comparaison entre nostrfy et strfry — et migrez en une commande.