- WebRTC上のHTTP
- WebRTC DataChannelを通じて、HTTPクライアントラッパー(HTML Fetchに類似)とサーバー側HTTPプロキシを実装
- Webブラウザーから、ファイアウォールの背後に隠れたエッジデバイス(IoTまたはサーバー)へ安全に直接アクセス可能
- 主な特徴:
- 安全なアプリケーション空間で実行(sudo不要)
- エンドツーエンド暗号化
- カスタムVPN設定が不要
- データトンネリングのためのクラウド仲介者が不要
- Dynamic DNSサービスが不要
- カスタムのファイアウォールルールが不要
- プログラミング言語に依存しない(現在はJavaScriptとPythonで利用可能)
ユースケース:
- クラウド事業者と映像を共有せず、Webアプリから個人用ホームセキュリティカメラへユーザーが直接アクセス
- 直接P2P通信が可能なIoTデバイスのメッシュ
- 個人Webアプリが公開IPアドレスを露出せず、エンドユーザーとのみデータを直接共有(ファイル、ノート、写真など)
- Federated Learning - MLモデルがローカルユーザーデータで学習し、中央集約型のモデル集約サーバーなしで学習済み状態を相互に直接共有
GN⁺のまとめ
peerfetchは、WebRTCを通じて直接的で安全なP2P HTTP通信を可能にするプロジェクト
- クラウド仲介者やカスタムVPN設定なしでもエンドツーエンド暗号化を提供し、セキュリティを高める
- IoTデバイスや個人Webアプリで、プライバシーを保ちながらデータを直接共有できる有用なツール
- 類似機能を提供するプロジェクトとして、WebRTCベースの他のP2P通信ライブラリがある
1件のコメント
Hacker Newsの意見
Camectは、WebRTCを通じて個人サーバー上のカメラにアクセスできるようにするシステム
Webtorrentは興味深いアイデア
シグナリングサーバーなしでこれを実現する方法があるのか気になる
WebRTCで動画を録画できるソリューションがあるのか気になる
シグナリングサーバーがどこにあり、どう動作するのか理解できない
Tailscaleのような代替手段もある
Service Workerを組み合わせて分散型Webサイトを実装するアイデアを試したことがある
興味深いプロジェクトが投稿されてHNで大きな議論になるが、ライブラリを試してみると保守されておらず、最後の更新が3年前ということがよくある
期待していたが、そのリポジトリは3年以上更新されていなかった