iroh
SHA-256公開鍵を使用したダイヤルによるIPアドレス代替のモジュラーRustネットワークスタック。自動ホールパンチングとリレー、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はより軽量で習得が容易です。相手の公開鍵を電話番号のように入力するだけで、残りのルーティング最適化はライブラリが処理します。プロジェクトには、Blobs(BLAKE3ベースのコンテンツアドレス転送)、Gossip(スケーラブルなパブリッシュ・サブスクライブオーバーレイネットワーク)、Docs(結果整合性を持つキーバリューストア)という3つの組み合わせ可能な高レベルプロトコルが組み込まれており、すぐに使用できます。現在GitHubでスター数は9.4Kで、デュアルライセンスで提供されており、分散アプリケーション、IoTの直接接続、ファイル同期などのシナリオに適しています。注意:現在は主にRust言語をサポートしており、FFIバインディングは開発中です。公開中継サーバに依存する場合はレイテンシに注意が必要です。
タグ
はじめ方
ソフトウェアをインストール
ダウンロードしたインストーラをダブルクリックし、指示に従ってください
Rust ツールチェーン(rustup)がインストールされていることを確認し、次に cargo add iroh を実行して依存関係を追加します。
コード内で Endpoint::bind() を使用してエンドポイントを作成し、connect(公開鍵, ALPN) を呼び出して接続を確立します。
QUIC ストリームを介してデータを送信し、受信側で ProtocolHandler を実装してメッセージを処理し、コンパイルして実行するだけです。
- Rust ツールチェーン(rustup)がインストールされていることを確認し、次に cargo add iroh を実行して依存関係を追加します。
- コード内で Endpoint::bind() を使用してエンドポイントを作成し、connect(公開鍵, ALPN) を呼び出して接続を確立します。
- QUIC ストリームを介してデータを送信し、受信側で ProtocolHandler を実装してメッセージを処理し、コンパイルして実行するだけです。
SHA-256 チェックサム確認済み
GitHub 公式 Release ページから抽出されたチェックサム
SHA256 チェックサム
9a3113360f882b510b55e18dfaed57899d8c350d0108ea8827daf42ce3353a3cこのチェックサムは GitHub Release ページから抽出されたものです。ダウンロード後にファイルの整合性を確認してください。
本プラットフォーム上のすべての SHA-256 チェックサムは、プロジェクトの公式 GitHub Release ページから抽出されたもので、一切の改変はありません。GitHub Releases ページで独自に検証できます。
オープンソースの透明性
GitHub ソースを見るアンインストール情報
Cargo.toml から iroh 依存行を削除し、cargo update を実行してキャッシュをクリアします。ソースからクローンした場合は、プロジェクトディレクトリを直接削除してください。
追加の依存関係なし
ダウンロード後すぐに使用可能。追加のランタイムは不要です。