Vergleich
nostrfy vs strfry
Beide sind Nostr-Relays, jeweils als einzelnes Binary, speichern Events in LMDB und sprechen dasselbe Protokoll. Sie treffen jedoch unterschiedliche Kompromisse: strfry ist das ausgereifte C++-Relay mit Write-Policy-Plugin-System, während nostrfy eine Rust-Engine ist, die die Operator-Funktionen — Gruppen, Medien, REST, Verwaltung — in einem Binary und einer Konfigurationsdatei bündelt.
Auf einen Blick
| nostrfy | strfry | |
|---|---|---|
| Sprache | Rust | C++ |
| Lizenz | MIT oder Apache-2.0 | GPL-3.0 |
| Speicher | LMDB (keine externe Datenbank) | LMDB (keine externe Datenbank) |
| Konfiguration | Eine nostrfy.toml, Hot-Reload (SIGHUP) | Eine strfry.conf, Hot-Reload |
| Beworbene NIPs | 34 (36 implementiert, inkl. Opt-in) | 11 Kern-NIPs |
| NIP-29-Gruppen + LiveKit | Integriert | — |
| Blossom-Mediaserver | Integriert (lokale Festplatte oder S3/R2) | — |
| REST-API | Integriertes /api/v1 | — |
| Verwaltungs-API | NIP-86 JSON-RPC mit delegierten Administratoren | — |
| Negentropy (NIP-77) | Ja | Ja — strfry hat es hervorgebracht |
| Write-Policies / Plugins | Integrierte Allow/Deny-Listen + NIP-86 | Write-Policy-Plugin-Schnittstelle |
| Migrationswerkzeug | nostrfy migrate-strfry | strfry import / export / sync |
Lizenz
strfry steht unter der GPL-3.0-Lizenz, die verlangt, dass abgeleitete Werke unter denselben Bedingungen erscheinen. nostrfy steht unter der MIT- oder Apache-2.0-Lizenz, sodass es in Closed-Source-Produkte eingebettet und frei neu lizenziert werden kann. Ist Ihr Relay Teil eines kommerziellen oder anderweitig lizenzierten Stacks, ist das oft der entscheidende Unterschied.
Konfiguration und Betrieb
- nostrfy wird durch eine einzige, vollständig kommentierte
nostrfy.toml-Konfiguration gesteuert: Identität, Limits, Speicher, Zugriffskontrolle, Blossom und RPC an einem Ort. Die meisten Einstellungen laden bei SIGHUP neu. - Jede Option wird vor dem Start des Relays von
nostrfy checkvalidiert — falsche Typen, unmögliche Limits und Aussperrkombinationen werden mit Korrekturvorschlägen gemeldet. - Der Daemon bringt Log-Rotation, Live-Statistiken, einen Health-Endpunkt und Prometheus-Metriken mit; die CLI verwaltet Zugriffslisten, Upgrades und Migrationen.
Integrierte Funktionen
Statt Zusatzdienste anzubinden, bringt nostrfy die Dienste mit, die ein öffentliches Relay üblicherweise braucht:
NIP-29-Gruppen + LiveKit
Relay-erzwungene Gruppen, Moderationsereignisse und Relay-signierte Gruppenmetadaten, plus Audio/Video-Räume über LiveKit.
Blossom-Mediaserver
Inhaltsadressierte Uploads laufen unter eigenem Hostnamen, auf lokaler Festplatte oder in einem S3-kompatiblen Bucket (AWS S3, Cloudflare R2).
REST-API
Schreibgeschütztes /api/v1 in einem eigenen Reader-Thread: Events per npub, nevent oder naddr abfragen, mit Zählern, Statistiken und Suche.
NIP-86-Verwaltung
JSON-RPC-Verwaltungs-API mit Bearer- oder NIP-98-Authentifizierung, delegierten Method-Grants und Einladungscodes.
Wo strfry glänzt
strfry bleibt eine hervorragende Wahl: Es hat das Negentropy-Protokoll hervorgebracht, unterstützt Neustarts ohne Ausfallzeit und optionale WebSocket-Kompression, und seine Write-Policy-Plugin-Schnittstelle erlaubt beliebige Logik bei jeder Veröffentlichung. Wenn Sie eine Plugin-Sandbox und sonst nichts aus dieser Liste brauchen, ist strfry ideal. Wenn Sie Gruppen, Medien, REST und Verwaltung ab Werk bevorzugen — oder eine permissive Lizenz benötigen — ist nostrfy der kürzere Weg.
Migration von strfry
Sie müssen nicht bei null anfangen. nostrfy migrate-strfry liest strfrys eigenes Exportformat, verifiziert jedes Event und importiert die gesamte Datenbank — einschließlich NIP-09-Löschungen, NIP-29-Moderationsnebenwirkungen und First-Seen-Zeitstempeln. Es ist offline, dry-run-fähig und sicher wiederholbar.