OpenSource-Hub
I

iroh

SHA-256
9.4k stars·開発ツール·SHA-256 チェックサム確認済み

公鍵によるダイヤルでIPアドレスを代替するモジュラーRustネットワークスタック、自動的な穴あけ(NATトラバーサル)とリレー、内蔵のblob、gossip、docsプロトコルコンビネーション。

スマートダウンロード

Download 版をダウンロード

v1.0.0 · 4.8 MB

電話をかけるようにネットワークに接続する。IPアドレスは変わるが、公開鍵は変わらない。

主な機能

  • 公開鍵による本人確認を使用し、IPアドレスの変更を気にする必要がない。自動NAT越えにより直接接続を実現し、失敗時はパブリックリレーにフォールバックする。QUICプロトコルをベースに、暗号化、マルチストリーム、データグラムサポートを内蔵。すぐに使える3つのプロトコルを提供:blobs(コンテンツアドレス転送)、gossip(パブリッシュ/サブスクライブ)、docs(キーバリューストア)。継続的なパフォーマンステストにより、接続速度を保証。

できないこと

  • 現在のバージョンは主にRust開発者向けであり、他の言語ではFFIバインディング(iroh-ffi、現在開発中)を介する必要があります。公開リレーサーバーは追加の遅延を引き起こす可能性があるため、本番環境ではリレーを自前で構築するか、プライバシー要件を評価することを推奨します。ホールパンチングの成功率はネットワーク環境に依存し、厳格なNAT環境下では常にリレーが使用される可能性があります。

使用例

  • ピアツーピアファイル同期とコンテンツ配信
  • 分散型ソーシャルネットワークまたはメッセージシステム
  • IoTデバイス間の直接安全通信

詳細説明

IrohはRustで書かれたモジュラー型ネットワークスタックであり、脆弱なIPアドレスに代わり公開鍵によるダイヤルを核概念としています。QUICプロトコルをベースとし、NAT穴あけと中継フォールバックを自動で行い、暗号化、マルチストリーム、低遅延転送を提供します。libp2pなどの従来フレームワークと比べて、irohはより軽量で習得が容易です。相手の公開鍵を電話番号のように入力するだけで、ルーティング最適化はすべてライブラリが処理します。プロジェクトには3つの組み合わせ可能な高レベルプロトコル(BLAKE3ベースのコンテンツアドレス転送を行うBlobs、スケーラブルなパブリッシュ-サブスクライブオーバレイネットワークGossip、結果整合性を持つキーバリューストアDocs)が内蔵されており、すぐに使えます。現在GitHubスター数は9.4Kで、デュアルライセンスを採用しており、分散型アプリケーション、IoTダイレクト接続、ファイル同期などのシナリオに適しています。注意:現時点では主にRust言語をサポートしており、FFIバインディングは開発中です。公開中継サーバーに依存する場合はレイテンシに注意が必要です。

タグ

p2pnetworkingrustquichole-punchingdecentralizedblob-transfergossipkey-value-store

はじめ方

1

インストーラをダウンロード

上のボタンをクリックして、お使いのシステム用のインストーラをダウンロード

2

ソフトウェアをインストール

ダウンロードしたインストーラをダブルクリックし、指示に従ってください

3

Rustツールチェーン(rustup)がインストールされていることを確認し、次にcargo add irohを実行して依存関係を追加してください。

4

コード内でEndpoint::bind()を使用してエンドポイントを作成し、connect(公開鍵, ALPN)を呼び出して接続を確立します。

5

QUICストリームを介してデータを送信し、受信側でProtocolHandlerを実装してメッセージを処理し、コンパイルして実行すれば完了です。

インストールガイド
  1. Rustツールチェーン(rustup)がインストールされていることを確認し、次にcargo add irohを実行して依存関係を追加してください。
  2. コード内でEndpoint::bind()を使用してエンドポイントを作成し、connect(公開鍵, ALPN)を呼び出して接続を確立します。
  3. QUICストリームを介してデータを送信し、受信側でProtocolHandlerを実装してメッセージを処理し、コンパイルして実行すれば完了です。
ファイルの整合性

SHA-256 チェックサム確認済み

GitHub 公式 Release ページから抽出されたチェックサム

SHA256 チェックサム

9a3113360f882b510b55e18dfaed57899d8c350d0108ea8827daf42ce3353a3c

このチェックサムは GitHub Release ページから抽出されたものです。ダウンロード後にファイルの整合性を確認してください。

本プラットフォーム上のすべての SHA-256 チェックサムは、プロジェクトの公式 GitHub Release ページから抽出されたもので、一切の改変はありません。GitHub Releases ページで独自に検証できます。

オープンソースの透明性

GitHub ソースを見る
環境ガイド

アンインストール情報

Cargo.toml 内の iroh 依存行を削除し、その後 cargo update を実行してキャッシュをクリアします。ソースからクローンした場合は、プロジェクトディレクトリを直接削除してください。

追加の依存関係なし

ダウンロード後すぐに使用可能。追加のランタイムは不要です。

プロジェクト情報
ライセンスApache-2.0
最終更新2026-06-17T07:28:56Z
GitHub リポジトリ公式サイト

類似プロジェクト