В рамках проекта WebTorrent (https://webtorrent.io/) подготовлен первый BitTorrent-клиент, реализованный в форме запускаемого внутри браузера web-приложения, не требующего для работы внешней серверной инфраструктуры и браузерных плагинов. Интеграция кода WebTorrent на сайты позволяет сформировать децентрализованную сеть распространения контента, функционирующую через связывание между собой браузеров посетителей этих сайтов. WebTorrent написан на языке JavaScript и использует технологию WebRTC (http://webrtc.org/) для организации прямого P2P-канала связи между браузерами. Исходные тексты проекта распространяются (https://github.com/feross/webtorrent) под лицензией MIT.
В качестве примера практического использования WebTorrent, на основном сайте (https://webtorrent.io/) проекта организован показ свободного фильма Sintel, который размещён в форме torrent-а, содержимое которого загружается с систем пользователей, просматривающих данный фильм. Особенностью WebTorrent, отличающей данную технологию от обычных Torrent-клиентов, является интеграция с Web и существенное упрощение работы. От пользователя не требуется установка и запуск дополнительных программ. Передача данных осуществляется непосредственно из браузеров других посетителей, без обращения к промежуточным серверам, которые потенциально могут стать жертвой MITM-атаки.
Подобная технология может стать подспорьем для создания YouTube-подобных видеохостингов, в которых посетители участвуют в хранении контента, или для построения новых децентрализованных сетей хранения, информация в которых распределена по системам пользователей. WebTorrent также может применяться в качестве комбинированной сети доставки контента (CDN) для таких ресурсов как Wikipedia и Internet Archive, в которой популярный контент передаётся с привлечением пользователей, а редкий контент продолжает отдаваться с сайта напрямую. WebTorrent уже применяется в сервисе обмена файлами
Instant.io (https://instant.io/), децентрализованном варианте GitHub GitTorrent (https://github.com/cjb/GitTorrent), системе размещения сайтов без серверов PeerCloud (https://github.com/jhiesey/peercloud), платформе запуска web-приложений из торрентов Webtorrentapp (https://github.com/alexeisavca/webtorrentapp) и гибридном настольном torrent-клиенте webtorrent-hybrid (https://github.com/feross/webtorrent-hybrid).
WebTorrent поддерживает magnet-ссылки, API (https://github.com/feross/bittorrent-protocol#extension-api) для расширения протокола, передачу файлов в виде потоков, допускающих смену позиции в потоке до завершения его загрузки, автоматическое обнаружение пиров через dht (https://github.com/feross/bittorrent-dht), tracker (https://github.com/feross/bittorrent-tracker) и ut_pex (https://github.com/fisch0920/ut_pex), вещание видео с задействованием HTML5-тега video. Дополнительно поставляется вариант WebTorrent для Node.js, который поддерживает потоковое вещание в AirPlay, Chromecast и VLC.
URL: https://news.ycombinator.com/item?id=10921773
Новость: http://www.opennet.ru/opennews/art.shtml?num=43690