コマンドリファレンス

すべての nostrfy コマンド:init、start、stop、stats、upgrade、migrate-strfry に加え、CLI のアクセスリストと inbox/outbox 購読フィルター。

概要

すべてのコマンドは次のオプションを受け付けます: --config <path>(既定では nostrfy.toml)。

コマンド説明
nostrfy init既定の nostrfy.toml を書き込んで終了します。ファイルは 0600 で作成されます
nostrfy genkeyNIP-29 グループ用の秘密鍵を生成して relay.private_key に書き込み、設定を 0600 に設定して公開鍵を表示します。読み取り後にファイルが変更されている場合は書き込まずに中止します
nostrfy check設定を検証します(起動前に実行)
nostrfy startデーモンとして起動します。--foreground を付けるとターミナルで実行します
nostrfy stop実行中のデーモンを停止します
nostrfy restart停止して再起動します(設定を読み直します)
nostrfy statsライブ統計を表示します
nostrfy upgrade [version]バイナリを最新の GitHub リリース(または指定バージョン)に更新します。プラットフォームに合ったアセットをダウンロードし、sha256 チェックサムを検証して --version で動作確認し、バイナリをアトミックに置き換えます。並行実行はロックファイルで直列化されます。バージョンを指定しない限りダウングレードしません。--force で再インストールします
nostrfy migrate-strfrystrfry リレーからイベントをインポートします — --strfry-db を指定して strfry export を実行するか、--input で JSONL ファイルを読み取るか、stdin 経由でパイプ入力します。再実行可能で、--dry-run、--since と任意の設定の統合に対応します

アクセスリストの管理

リレーの公開鍵許可/拒否リストと Blossom アップロード許可リストは LMDB に保存され、即座に有効になります — 実行中のデーモンは自動的にリロードされます:

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

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

拒否された公開鍵は投稿時も読み取り時も常に拒否されます。

nostrfy access unblockip <ip> は永続化された NIP-86 ブロック IP リストから IP を削除します(セルフロックアウトからの復旧)。適用にはデーモンの再起動が必要です。

Inbox/outbox 購読フィルター

nostrfy は inbox/outbox ルーティングモデル向けに REQ フィルター構文を拡張し、2 つの便利キーを追加しました — これは nostrfy の拡張であり、どの NIP にも含まれません。"outbox" は "authors" に展開されます:その公開鍵が作成したイベントのみを含みます。 "inbox" は "#p" に展開されます:その公開鍵宛てのイベント(メンション、返信、Zap、DM)のみを含みます。値は 64 桁の 16 進数または npub1 エンコード、または既存の authors/#p キーとマージされる配列です。無効な公開鍵はその購読を拒否します:

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

エンドポイントにも書き込み制限があります:/outbox は、接続の NIP-42 認証済み公開鍵が作成したイベント(server.outbox_write_policy = "any")、またはリレー自身のイベント("relay")のみを受け付けます。 /inbox は、p タグ付きのイベントのみ受け付けます。

strfry からの移行

1 つのコマンドで既存の strfry リレーのイベントを取り込みます。移行はオフラインで(先に nostrfy リレーを停止 — データベースが使用中の場合は実行を拒否します)、strfry 自身のエクスポート形式を読み取り、安全に再実行できます。重複はスキップされ、削除の副作用は再適用されます。

sh
# まず dry-run — すべてのイベントを検証し、何も書き込みません
nostrfy migrate-strfry --strfry-db /var/lib/strfry-db --dry-run

# インポート(先に nostrfy リレーを停止)
nostrfy migrate-strfry --strfry-db /var/lib/strfry-db

同等の strfry 設定を nostrfy.toml に統合することも提案します。中断後は --since オプションで再開できます。NIP-29 グループと NIP-43 ロールは初回起動時にインポートされたイベントから再構築されます。完全な手順は 移行ガイド。

ステップバイステップ
ほとんどのコマンドはクイックスタートガイドにも手順があります。