Rust · MIT または Apache-2.0 · 最新リリース v0.1.16

落ちない Nostr リレー。

nostrfy はオールインワンの Nostr リレーサーバーエンジン。 設計から高速、本質的に軽量、標準で強力。1 行でインストールし、単一の TOML ファイルで設定して、 ほぼどんな VPS でも動かせます。

リレー側 NIP 36 以上 Linux · FreeBSD · コンテナ バイナリ 1 つ、依存なし
稼働中のリレー
wss://relay.nostrfy.org

1 行でインストール

インストールスクリプトが OS とアーキテクチャを検出し、一致するビルド済みバイナリをダウンロードして sha256 チェックサムを検証し、PATH に配置します。 クローンもビルドも sudo も不要です。

sh
curl -fsSL https://raw.githubusercontent.com/iqbqioza/nostrfy/main/install.sh | sh

sudo 不要

~/.local/bin、~/bin、~/.cargo/bin のうち PATH にある最初のディレクトリにインストールします。

Linux + FreeBSD

x86_64 / aarch64 Linux と FreeBSD x86_64 のビルド済みバイナリを提供。

チェックサム検証

バイナリがディスクに書き込まれる前にリリースのチェックサムを取得して検証します。

バージョンを指定
sh
VERSION=v0.1.16 curl -fsSL https://raw.githubusercontent.com/iqbqioza/nostrfy/main/install.sh | sh
システム全体にインストール
sh
INSTALL_DIR=/usr/local/bin sudo curl -fsSL https://raw.githubusercontent.com/iqbqioza/nostrfy/main/install.sh | sh
既存を上書き
sh
curl -fsSL https://raw.githubusercontent.com/iqbqioza/nostrfy/main/install.sh | sh -s -- --force
ソースからビルド
sh
git clone https://github.com/iqbqioza/nostrfy.git && cd nostrfy && cargo build --release

strfry からの移行をお考えですか?

既存のイベントを 1 コマンドで取り込み — オフライン、検証済み、再実行しても安全です。

移行ガイド

1 分以内に稼働

nostrfy にはデーモン、設定バリデータ、ライブ統計、ログローテーション、ホットリロード — リレー運用に必要なすべてが 1 つのバイナリに含まれています。

  • nostrfy init が完全にコメント付きの既定の nostrfy.toml を書き出します
  • nostrfy check が起動前に設定を検証します
  • SIGHUP で再起動せずにほとんどの設定をリロードできます
  • nostrfy upgrade がバイナリを最新リリースに更新します
クイックスタートガイドを開く
sh
nostrfy init
# 既定の nostrfy.toml を書き出して終了
sh
nostrfy start
# リレーをデーモンとして起動
sh
nostrfy stats
# 接続数、イベント数、データベースサイズ
sh
curl http://localhost:8080/health
# {"status":"ok"}

お使いの Nostr クライアントを ws://<host>:8080 に向けるだけ — 完了です。

実運用のリレーのために

すべての機能は 2 つの目標に沿って設計されています。落ちないこと、そして仕様を完全に実装すること。 その結果、攻撃、ディスクの停滞、メモリの少ないホストに耐えるリレーになりました。

仕様を完全実装

リレー側の NIP をすべて実装し、公式仕様に照らして検証済み — 36 以上の NIP と Blossom ファイルサーバー。

落ちない

過負荷保護、専用リーダースレッド、パニック隔離、厳格なリソース上限により、継続的な攻撃下でもサービスを提供し続けます。

Blossom メディアサーバー

SHA-256 アドレス指定のアップロードを専用ホスト名で提供 — ローカルディスクまたは S3 互換バケット(AWS S3、Cloudflare R2)、投稿者署名による削除に対応。

REST API

読み取り専用の /api/v1 で npub1・nevent1・naddr1 からイベントを検索 — 専用リーダースレッドにより REST トラフィックが WebSocket 購読者を妨げることはありません。

LMDB 永続化

heed による堅牢でクラッシュセーフなストレージ。メモリマップは上限までスパースな仮想予約として確保 — 実行時のリサイズなし、実メモリ使用量はわずか。

すべて設定可能

設定はすべて nostrfy.toml に — コンパイル時オプションはありません。編集して SIGHUP を送れば完了です。上限、NIP スイッチ、ストレージなど。

TLS リバースプロキシ対応

nginx、Caddy、Cloudflare Tunnel — WebSocket アップグレードと X-Forwarded-Proto を尊重し、どのプロキシの背後でも wss:// がそのまま動作します。

Rust + FreeBSD

単一の静的 Rust バイナリで Linux x86_64、Linux aarch64、FreeBSD x86_64 に対応 — 0.25 vCPU / 512 MB の VPS で動作確認済み。

実測パフォーマンス

Release ビルド、新規データベース、8 スレッドのノート PC。書き込み速度は単一の LMDB ライタースレッドと バッチ化された fsync なしコミットに制約され、リーダーがそれを妨げることはありません。

~21k
取り込み(イベント/秒)
単一接続
100%
ライブファンアウト
10,000 / 10,000 件配信
0.32s
保存済みクエリ
20,000 イベント
0.26s
NIP-50 検索
10,000 件
7.9 MB
プライベート RSS
データベース 252 MB

同梱のベンチマークで再現できます — 詳しくは パフォーマンスノート。

NIP を仕様どおり完全サポート

リレー側の NIP はすべて実装・検証済み。NIP-11 で公開されるリストは動的で、 NIP の kind がブロックされると自動的に外れます。

完全な NIP リファレンス
19111317222628293233344042434546475057596265666770777884858687889498A3Blossom

数分で自分のリレーを運用

小さな VPS からグローバル規模まで — ビルド済みバイナリ、設定バリデータ、デプロイガイドで手間なく始められます。

疑問がありますか?FAQ を読むか、 nostrfy と strfry の比較をご覧ください — そして1 コマンドで移行できます。