WebTorrent 是一個用 JavaScript 編寫的點對點流式 Torrent 客戶端。
在直接下載出現之前,BT下載曾風靡一時,之後又出現了其他滿足資訊分享需求的解決方案。此外,BT下載之所以流行,部分原因在於當時盜版內容氾濫,大量盜版資源也透過這種媒介傳播。
此後直至今日,種子文件仍然被廣泛使用,儘管使用程度有所降低,但仍有大量用戶更喜歡使用這種媒介來共享和獲取文件,包括 Linux 發行版、書籍、資訊、圖像等等。
現有的各種種子用戶端提供各種功能,但一直以來最受歡迎的功能之一是能夠使用網頁瀏覽器作為客戶端,從而簡化許多操作。
為了因應這種情況,WebTorrent應運而生。它完全用JavaScript編寫,並使用WebRTC進行點對點傳輸。無需任何瀏覽器插件、擴充功能或安裝。 WebTorrent利用開放的Web標準,將網站使用者連結起來,形成一個分散式去中心化網路。與PeerCDN不同,WebTorrent是自由軟體。
WebTorrent 協定的工作原理與 BitTorrent 協定完全相同,差異在於它使用 WebRTC 而非 TCP/UTP作為傳輸協定。瀏覽器之間的直接通訊消除了中間環節,使用戶能夠自主地進行通訊。不再有客戶端/伺服器模式,取而代之的是點對點網絡,所有用戶地位平等。 「WebTorrent 是網路重新中心化進程中的第一步,」WebTorrent 官方寫道。
為了支持 WebRTC 連接模型,WebTorrent 團隊對跟踪協議進行了一些更改。 因此,基於瀏覽器的 WebTorrent 客戶端或“web peer”只能連接到支持 WebTorrent/WebRTC 的其他客戶端。
一旦對等點連接起來,用於通信的有線協議就與常規 BitTorrent 中的完全相同。 這應該可以輕鬆地將 WebTorrent 支持添加到現有流行的 Torrent 客戶端,如 Transmission 和 uTorrent。
“我們編碼網絡的方式將決定我們如何在線生活。 所以我們需要將我們的價值觀融入到我們的代碼中。 言論自由必須納入我們的準則。 隱私必須內置到我們的代碼中。 普遍獲取所有知識。 但現在這些價值觀並沒有嵌入到網絡中,”互聯網檔案館的創始人布魯斯特卡爾說。
WebTorrent 最有趣的用途之一是點對點串流媒體。像維基百科和互聯網檔案館這樣的非營利項目可以透過允許訪客參與來降低頻寬和託管成本。熱門內容在瀏覽器之間進行串流傳輸,而存取頻率較低的內容則透過 HTTP 從來源伺服器可靠地提供。
此外,還有一些有趣的商業用例,例如 CDN 和應用程式交付。
“WebTorrent 具有巨大的商業潛力,可以從根本上改變傳統的客戶端-服務器概念,應用程序用於內部基礎設施和來自外部用戶的封閉通信。 WebTorrent 已經從一個想法變成了一項科學實驗,現在正處於可行的邊緣。 這真的很酷,”Chris Kranky 說。
需要注意的是,在瀏覽器中,WebTorrent 只能下載由 WebRTC 兼容的 torrent 客戶端提供的 torrent。 以下是 WebRTC 兼容的 Torrent 客戶端:
- WebTorrent Desktop - 開源 Torrent 流媒體客戶端。 適用於 Mac、Windows 和 Linux;
- Vuze:強大而完整的 Torrent 客戶端;
- 播放:開源JavaScript視頻播放器;
- [*]webtorrent-hybrid:Node.js 包(命令行和 API);
- Instant.io:網站上的簡單 WebTorrent 客戶端;
- βTorrent – 客戶端:用於瀏覽器的完整 WebTorrent;
- TorrentMedia : Bureau 的 WebTorrent 客戶端。
獲取 WebTorrent
對於那些有興趣獲得 WebTorrent 的人,您應該知道在 node.js 中,webtorrent-hybrid 可以從 WebRTC 對等點或 TCP 對等點下載種子。 要安裝 webtorrent-hybrid,只需在終端中運行以下命令。
npm install webtorrent-hybrid –g