Dernière version |
1.0.0 ()[1] 2.1.36 ()[2] |
---|---|
Dépôt | github.com/webtorrent/webtorrent |
Écrit en | JavaScript |
Type | Protocole réseau |
Licence | Licence MIT |
Site web | webtorrent.io |
WebTorrent est un client de streaming peer-to-peer basé sur Bittorrent qui utilise la technologie web WebRTC comme protocole de transport. Il est implémenté en JavaScript et Node.js et fonctionne sur les plateformes HTML lui permettant de fonctionner sur n'importe quel système. Il existe également un client pour le bureau, appelé WebTorrent Desktop, développé également en JavaScript et basé sur Node.js et le framework Electron[3],[4], pour Linux, MacOS et Windows[5]. La technologie a été développée à l'origine par Feross Aboukhadijeh, un diplômé de l'université Stanford[6].
Il est possible de produire un réseau de diffusion de contenu (RDC ou en anglais CDN), basé sur le protocole WebRTC avec ce système[7].
La bibliothèque libtorrent supporte ce protocole dans sa version de développement[8].
Il sert de protocole de réseau à différentes applications, parmi lesquelles le service de diffusion décentralisé de vidéo, PeerTube, développé à partir de 2015 à l'initiative de Framasoft et connecté au réseau Fediverse (principalement connu pour son outil Mastodon)[9],[5], avant d'être intégralement remplacé par HLS à partir de la version 6[10]. C'est le cas également du service centralisé, BitChute, de partage de vidéo créées par ses utilisateurs.
Le service de cartographie spatiale de la Voie lactée, Gaia 3D, est également basé sur WebTorrent[4], il utilise les données fournies par l'Agence spatiale européenne, et en extrait les 2 millions d'étoiles connues de la voie lactée[11].
Le navigateur web Brave, utilise également WebTorrent pour télécharger directement les fichiers partagés par le réseau Bittorrent, via un lien Magnet[4],[12].
La première version diffusée, est la version v0.1.1, sortie le [13].
À l'origine WebTorrent, ne se connecte que via TCP et UDP en node.js, le client WebTorrent-Hybrid a été créé pour pouvoir se connecter à la fois directement dans ces protocoles, ainsi qu'en WebRTC[14],[5].
Feross Aboukhadijeh présente la technologie à la JSConf Asia 2014[15].
Le support a été ajouté à libtorrent, permettant d'utiliser cette bibliothèque pour créer des clients hybrides[16],[8].