WebTorrent

WebTorrentは、 インターネットブラウザ上で使えるファイル共有ソフトである。JavaScriptで書かれたピアツーピア（P2P）ストリーミング Torrentクライアントで、ウェブブラウザ内で直接BitTorrent機能を有効にする。YouTube Instantの開発者であるFeross Aboukhadijehによって作成されたWebTorrentは、ピアツーピアのデータ転送にWebRTCを使用してBitTorrentプロトコルを実装しており、ユーザーは従来のクライアントソフトウェアを必要とせずにブラウザからTorrentをダウンロードおよびストリーミングできる。

このプロジェクトは、ブラウザベースのJavaScriptライブラリと、 Electronで構築されたスタンドアロンのデスクトップアプリケーションであるWebTorrent Desktopの両方で構成されている。WebTorrent Desktopは、WebTorrentネットワークと従来のBitTorrentネットワーク間のブリッジとして機能し、Webベースと従来のTorrentクライアント間の相互運用性を実現する。このソフトウェアは、ブラウザ内ストリーミング用の一般的なビデオファイルフォーマットと音声ファイルフォーマットをサポートしているため、メディアストリーミングアプリケーションに特に適している。

WebTorrentはMITライセンスの下で配布されているオープンソースソフトウェアであり、GitHubで積極的に開発されている。このプロジェクトは、ユーザーが追加のソフトウェアやブラウザプラグインをインストールする必要なく、分散型ファイル共有機能をウェブアプリケーションにもたらすことができるため、ウェブ開発コミュニティで広く採用されている。

 歴史 
WebTorrentを作成する前に、開発者は最初にピアツーピアのコンテンツデリバリネットワークであるPeerCDNを作成した。これは2013年にYahoo!に買収された。

WebTorrentの背後にある考え方は、BitTorrentとの互換性を可能な限り維持しながら、Webブラウザ上で動作するBitTorrentのようなプロトコルを作成することである。どのWebブラウザでも、 ピアツーピアのスウォームに接続し、コンテンツを取得し、その正しさを検証し、ユーザーに表示できる必要がある。これらすべてを、ユーザーのブラウザのみで、中央サーバーに依存せずに、可能な限り実現する必要がある。 WebTorrentはBitTorrentと同じプロトコルを使用するが、トランスポート層が異なる。WebTorrentは主にWebRTC接続に依存している、BitTorrentはTCP接続とUDPデータグラムを直接使用する。

 WebTorrent Desktop 
WebTorrent Desktopは、WebRTCベースのWebTorrentとTCP/UDPベースのBitTorrentの2つのネットワークを同時にブリッジする。BitTorrentクライアントのVuze（旧Azureus）は、WebTorrentをそれほど洗練されていないものの、十分な機能で組み込み、ソフトウェアに同時ネットワークブリッジングを追加した。開発者は、マルチプラットフォームのGUIデスクトップアプリを作成できるElectronと、ChromeとNode.jsのすべてのAPIにアクセスできるJavaScriptを使用した。

 機能 
WebTorrentが最も有用なのはオンラインビデオであるため、オンラインビデオが中心的な焦点となっている。小さなファイルやデータセットには適していないが、大きなファイルには最適である。

BitTorrentと同様に、ファイルの可用性はトレントシーディングに依存している。少数のユーザーだけがファイルを共有している場合は、Webシーディングを提供するHTTPサーバーがフォールバックになる。Webシーディングなしでは共有できない。しかし、これはいくつかのプラスの影響をもたらす可能性がある。仲介アップロードサイトを使用して大きなプライベートファイルを他の人と共有するのではなく、WebTorrentを使用すると、痕跡を残さず、アップロードサイトにアーカイブされる可能性もなく直接接続できる。ファイルをドラッグアンドドロップするだけで、友人と共有できるマグネットリンクを作成できる。接続はすでに暗号化されているが、別の方法で送信するためのキーを使用して、さらに暗号化レイヤーを追加できる。RAMの制限はIndexedDBで管理できる。

クライアントはダウンロード部分を時系列で優先順位付けするため、ダウンロードが完了する前でもファイルを中断することなくストリーミングできる。

 脚注 

 関連項目 

 BitTorrentクライアントの比較
 InterPlanetary File System
 YouTube Instant

Category:P2Pソフトウェア
Category:通信プロトコル
Category:インターネットのプロトコル
Category:2013年開設のウェブサイト
Category:ファイル転送プロトコル
Category:ファイル共有ソフト
Category:分散データ共有
Category:BitTorrentクライアント
Category:アプリケーション層プロトコル
Category:匿名ネットワーク
Category:動画共有サイト
Category:P2Pファイル共有