コマンドリファレンス
すべての nostrfy コマンド:init、start、stop、stats、upgrade、migrate-strfry に加え、CLI のアクセスリストと inbox/outbox 購読フィルター。
概要
すべてのコマンドは次のオプションを受け付けます: --config <path>(既定では nostrfy.toml)。
| コマンド | 説明 |
|---|---|
nostrfy init | 既定の nostrfy.toml を書き込んで終了します。ファイルは 0600 で作成されます |
nostrfy genkey | NIP-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-strfry | strfry リレーからイベントをインポートします — --strfry-db を指定して strfry export を実行するか、--input で JSONL ファイルを読み取るか、stdin 経由でパイプ入力します。再実行可能で、--dry-run、--since と任意の設定の統合に対応します |
アクセスリストの管理
リレーの公開鍵許可/拒否リストと Blossom アップロード許可リストは LMDB に保存され、即座に有効になります — 実行中のデーモンは自動的にリロードされます:
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 キーとマージされる配列です。無効な公開鍵はその購読を拒否します:
["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 自身のエクスポート形式を読み取り、安全に再実行できます。重複はスキップされ、削除の副作用は再適用されます。
# まず 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 ロールは初回起動時にインポートされたイベントから再構築されます。完全な手順は 移行ガイド。