Befehlsreferenz

Alle nostrfy-Befehle: init, start, stop, stats, upgrade und migrate-strfry, plus CLI-Zugriffslisten und inbox/outbox-Abonnementfilter.

Übersicht

Alle Befehle akzeptieren --config <path> (standardmäßig nostrfy.toml).

BefehlBeschreibung
nostrfy initSchreibt eine standardmäßige nostrfy.toml und beendet sich; die Datei wird mit 0600 erstellt
nostrfy genkeyErzeugt einen geheimen Schlüssel für NIP-29-Gruppen, schreibt ihn in relay.private_key, setzt die Konfiguration auf 0600 und gibt den öffentlichen Schlüssel aus; wird die Datei nach dem Lesen geändert, bricht der Befehl ohne Schreiben ab
nostrfy checkValidiert die Konfiguration (vor dem Start ausführen)
nostrfy startStartet als Daemon; --foreground führt im Terminal aus
nostrfy stopStoppt den laufenden Daemon
nostrfy restartStoppt und startet neu (liest die Konfiguration neu)
nostrfy statsZeigt Live-Statistiken
nostrfy upgrade [version]Aktualisiert das Binary auf das neueste GitHub-Release (oder die angegebene Version); lädt das passende Plattform-Asset, verifiziert dessen sha256 und führt eine --version-Prüfung aus, dann ersetzt es das Binary atomar; parallele Läufe werden per Lock-Datei serialisiert; ohne Versionsangabe wird nie herabgestuft; --force erzwingt eine Neuinstallation
nostrfy migrate-strfryImportiert Events aus einem strfry-Relay — entweder strfry export über --strfry-db ausführen, eine JSONL-Datei mit --input lesen oder Eingaben über stdin pipen; wiederholbar, mit --dry-run, --since und optionalem Zusammenführen der Einstellungen

Zugriffslisten verwalten

Die Allow/Deny-Listen des Relays und die Blossom-Upload-Allowlist liegen in LMDB und gelten sofort — der laufende Daemon wird automatisch neu geladen:

sh
nostrfy relay allow npub1...
nostrfy relay deny npub1...
nostrfy relay list

nostrfy blossom allow npub1...
nostrfy blossom deny npub1...
nostrfy blossom list

Ein gesperrter Pubkey wird beim Veröffentlichen immer abgelehnt und beim Lesen nie ausgeliefert.

nostrfy access unblockip <ip> Entfernt eine IP aus der persistierten NIP-86-Blockliste (Wiederherstellung nach Selbstaussperrung); zum Anwenden den Daemon neu starten.

Inbox/outbox-Abonnementfilter

nostrfy erweitert die REQ-Filtersyntax für das Inbox/Outbox-Routingmodell um zwei Komfortschlüssel — eine nostrfy-Erweiterung, kein Teil eines NIP. "outbox" wird zu "authors" erweitert: nur von diesem Pubkey erstellte Events. "inbox" wird zu "#p" erweitert: nur an diesen Pubkey adressierte Events (Erwähnungen, Antworten, Zaps und DMs). Werte dürfen 64-stellige Hex- oder npub1-kodiert sein oder Arrays, die mit einem vorhandenen authors/#p-Schlüssel zusammengeführt; ein ungültiger Pubkey lehnt das Abonnement ab:

jsonc
["REQ", "my-feed", {"outbox": "npub1..."}]
["REQ", "mentions", {"inbox": "npub1...", "kinds": [1, 7]}]

Auch die Endpunkte sind schreibbeschränkt: /outbox akzeptiert nur Events, die vom NIP-42-authentifizierten Pubkey der Verbindung erstellt wurden (server.outbox_write_policy = "any"), oder nur die eigenen Events des Relays ("relay"); /inbox akzeptiert nur Events mit p-Tag.

Migration von strfry

Ein Befehl übernimmt die Events eines bestehenden strfry-Relays. Die Migration ist offline (stoppen Sie zuerst das nostrfy-Relay — bei belegter Datenbank verweigert sie den Start), liest strfrys eigenes Exportformat und ist sicher wiederholbar: Duplikate werden übersprungen, Löschnebenwirkungen erneut angewendet.

sh
# zuerst Dry-Run — prüft jedes Event und schreibt nichts
nostrfy migrate-strfry --strfry-db /var/lib/strfry-db --dry-run

# Import (vorher das nostrfy-Relay stoppen)
nostrfy migrate-strfry --strfry-db /var/lib/strfry-db

Es bietet außerdem an, passende strfry-Einstellungen nach nostrfy.toml zu übernehmen, und kann nach einer Unterbrechung mit --since fortgesetzt werden. NIP-29-Gruppen und NIP-43-Rollen werden beim ersten Start aus den importierten Events neu aufgebaut. Das vollständige Handbuch steht in Migrationsanleitung.

Schritt für Schritt
Die meisten Befehle werden außerdem im Schnellstart Schritt für Schritt erklärt.