WebTorrentは、JavaScriptで書かれたピアツーピア(P2P)ストリーミング・ トレント・クライアントで、ウェブブラウザ内で直接BitTorrent機能を有効にします。YouTube Instantの開発者であるFeross Aboukhadijehによって開発されたWebTorrentは、ピアツーピア・データ転送にWebRTCを用いたBitTorrentプロトコルを実装しており、ユーザーは従来のトレント・クライアント・ソフトウェアを必要とせずにトレントをダウンロードおよびストリーミングできます。
このプロジェクトは、ブラウザベースのJavaScriptライブラリと、Electronで構築されたスタンドアロンのデスクトップアプリケーションであるWebTorrent Desktopで構成されています。WebTorrent Desktopは、WebTorrentネットワークと従来のBitTorrentネットワーク間のブリッジとして機能し、Webベースと従来のTorrentクライアント間の相互運用性を実現します。このソフトウェアは、ブラウザ内ストリーミング用の一般的なビデオファイル形式とオーディオファイル形式をサポートしているため、特にメディアストリーミングアプリケーションに適しています。
WebTorrentはMITライセンスに基づいて配布されるオープンソースソフトウェアであり、GitHubで活発に開発されています。このプロジェクトは、ユーザーが追加のソフトウェアやブラウザプラグインをインストールすることなく、Webアプリケーションに分散型ファイル共有機能を提供できることから、 Web開発コミュニティで広く採用されています。
WebTorrent を作成する前に、開発者はまず、ピアツーピアのコンテンツ配信ネットワークである PeerCDN を作成しましたが、これは 2013 年にYahoo!に買収されました。
WebTorrentの背後にある考え方は、BitTorrentとの互換性を可能な限り維持しながら、Webブラウザ上で動作するBitTorrentのようなプロトコルを作ることです。[2]どのWebブラウザも、ピアツーピアのスウォームに接続し、コンテンツを取得し、その正当性を検証し、ユーザーに表示できる必要があります。これらすべてを、ユーザーのブラウザのネットワークに完全に依存する中央サーバーなしで、可能な限り実現する必要があります。[3] WebTorrentはBitTorrentと同じプロトコルを使用しますが、異なるトランスポート層を使用します。WebTorrentは主にWebRTC接続に依存しますが、BitTorrentはTCP接続とUDPデータグラムを直接使用します。[3]
WebTorrentデスクトップは、WebRTCベースのWebTorrentとTCP/UDPベースのBitTorrentという2つのネットワークを同時にブリッジします。BitTorrentクライアントのVuze(旧Azureus)は、WebTorrentをそれほど洗練されていないものの、十分な機能を備えており、ソフトウェアに同時ネットワークブリッジ機能を追加しました。開発者は、ChromeとNode.jsのすべてのAPIにアクセスできるJavaScriptデスクトップアプリを開発するElectronを使用しました。[3]
WebTorrentが最も有効に活用できるのはオンラインビデオであるため、オンラインビデオが主な用途です。小さなファイルやデータセットには適していませんが、大きなファイルには最適です。[3]
BitTorrentと同様に、ファイルの可用性はトレントシーディングに依存しています。少数のユーザーのみがファイルを共有している場合は、Webシーディングを提供するHTTPサーバーが代替手段となります。Webシーディングなしでは共有はできません。しかし、これにはいくつかの良い影響があります。中間アップロードサイトを使用して大きなプライベートファイルを他の人と共有するのではなく、WebTorrentを使用すると、痕跡を残さず、アップロードサイトにアーカイブされる可能性もなく直接接続できます。ファイルをドラッグアンドドロップするだけで、友人と共有できるマグネットリンクが作成されます。接続は既に暗号化されていますが、別の方法で送信するためのキーを使用して、追加の暗号化レイヤーを追加できます。RAMの制限はIndexedDBで管理できます。[3]
クライアントはダウンロード部分を時系列順に優先順位付けするため、ダウンロードが完了する前でもファイルを中断することなくストリーミングできます。[4]
WebTorrentはWebRTCのような広くサポートされているオープンウェブ標準を使用しているため、Google Chrome、Firefox、デスクトップ版およびAndroid版のOpera、Microsoft Edge、Safariなど、あらゆる最新ブラウザで動作します。[5] [より適切な情報源が必要]
BraveウェブブラウザはWebTorrentをネイティブ実行ファイルにバンドルし、WebTorrentをUIに統合しています。[6]
一部のトレントクライアントはWebTorrentピアへのシードをサポートしています。たとえば、BiglyBT (Android版あり)や、 QBittorrent、Deluge 、LibreTorrent(Android)などのlibtorrent [4]ベースのクライアントです。
2017年に開始された[7] BitChuteは、 WebTorrent P2P技術を使用した動画ホスティングサービスです。 [8] [9]集中型ストリーミングの帯域幅の問題を軽減するために開発されたと主張しています。[7] Fredrick Brennanによると、BitChuteが実際にピアツーピア技術を使用しているという証拠はほとんどありません。[10] Ars Technicaによると、2021年4月までに、BitChuteでWebTorrentを使用して動画をホストするオプションは「廃止されたようだ」とのことです。[11]
PeerTubeは以前はWebTorrentを使用していましたが、複雑さを維持できないため使用を中止しました。[12]
技術的負債を解消する必要がありました。v6ではWebTorrentのサポートを削除し、HLS(WebRTC P2Pを使用)に注力します。