よくある質問

nostrfy の運用に関する短い回答です。以下はすべて ドキュメントへのリンクです — よければ strfry との比較もご覧ください。

nostrfy とは?

nostrfy は Rust で書かれたオールインワンの Nostr リレーサーバーエンジンです。Nostr クライアントからのイベントを保存し、購読に応じて配信します。すべてのリレー側 NIP に加え、任意の Blossom メディアサーバー、読み取り専用 REST API、NIP-86 管理 API を 1 つのバイナリに収めています。

nostrfy は無料でオープンソースですか?

はい。nostrfy は自由ソフトウェアで、MIT または Apache-2.0 のデュアルライセンス(いずれかを選択)です。ソースは GitHub にあり、有料プラン、テレメトリ、ロックインはありません。

nostrfy の実行には何が必要ですか?

単一の静的バイナリで Linux(x86_64 と aarch64)と FreeBSD(x86_64)上で動作します。0.25 vCPU / 512 MB の VPS で検証済みです。ストレージはローカルの LMDB データベースで、外部データベースサーバーは不要です。

nostrfy のインストール方法は?

一行で:curl -fsSL https://raw.githubusercontent.com/iqbqioza/nostrfy/main/install.sh | sh。スクリプトが OS とアーキテクチャを検出し、一致するビルド済みバイナリをダウンロードしてチェックサムを検証し、PATH に配置します。Cargo でソースからビルドしたり、既成の設定テンプレートをコピーすることもできます。

nostrfy の設定方法は?

すべてはコメント付きの 1 つの nostrfy.toml に収められています — リレー識別情報、制限、ストレージ、アクセス制御、Blossom、RPC。nostrfy check が起動前に検証し、ほとんどの設定は SIGHUP で再起動なしにリロードされます。

nostrfy はどの NIP をサポートしますか?

nostrfy は 36 個の NIP を実装しています。NIP-01、NIP-09 削除、NIP-29 グループ、NIP-42 認証、NIP-50 検索、NIP-57 Zap、NIP-59 ギフトラップ、NIP-65 リレーリスト、NIP-77 negentropy、NIP-86 管理、NIP-98 HTTP 認証などです。NIP-11 の supported_nips リストは動的で、必要な kind がブロックまたは無効化されるとその NIP は消えます。

nostrfy はメディアファイルをホストしますか?

はい。内蔵の Blossom ファイルサーバーが、独自ホスト名で内容アドレス指定のアップロードを提供します。保存先はローカルディスクまたは AWS S3、Cloudflare R2 などの S3 互換バケットです。アップロードは署名された kind-24242 イベントで認可され、許可リストに制限できます。

strfry から移行できますか?

はい。nostrfy migrate-strfry は strfry のデータベースまたは JSONL エクスポートを直接インポートし、置換可能/アドレス指定可能セマンティクス、NIP-09 削除、NIP-29 の管理副作用を適用します。同等の strfry 設定を nostrfy.toml にマージすることもできます。移行はオフラインで dry-run 可能、再実行しても安全です。

nostrfy はリバースプロキシや Cloudflare の背後で動きますか?

はい。server.trusted_proxies にプロキシのアドレスを設定してください(同じホスト上の nginx や Caddy ならループバック、クラウドならロードバランサの範囲)。これにより IP ごとの上限、blockip、ログが実際のクライアントアドレスを認識できます。TLS はプロキシまたはトンネルが終端し、nostrfy はその背後で通常の HTTP と WebSocket を提供します。

nostrfy に REST API はありますか?

はい — 読み取り専用の /api/v1 が WebSocket リレーと同じポートで提供され、専用のリーダースレッドで動作するため、REST トラフィックが購読者を妨げることはありません。npub、nevent、naddr でイベントを照会でき、カウント、作成者統計、日別/月別の内訳、全文検索を提供します。

nostrfy は負荷や攻撃下でどうやって動き続けますか?

過負荷保護、専用リーダースレッド、パニック隔離、厳格なリソース上限。有界キューはメモリを枯渇させる代わりに即座に失敗し、IP ごとの接続上限がソケットフラッドを防ぎ、ディスクの停滞も読み取りを妨げません。サブシステムを隔離しつつリレーは動き続けます。

ユーザー、バン、ロールはどう管理しますか?

NIP-86 JSON-RPC 管理 API を通じて、Bearer token または NIP-98 管理者キーで操作できます。公開鍵のバン、IP のブロック、kind 許可リスト、ロール、招待コードを管理できます。メソッド付与により、完全な管理者権限を与えずにモデレーションを他の公開鍵に委任できます。