Теперь для скачивания и просмотра фильмов с торрентов не нужен отдельный торрент-клиент. Также как и для раздачи файлов по протоколу BitTorrent тоже не нужен отдельный клиент. Достаточно обычного браузера, поддерживаются Chrome, Firefox и Opera (десктоп и Android).

Всё это благодаря WebTorrent — гибриду BitTorrent и WebRTC. Скачивание и раздача происходят прямо через сайт. Встроенный плеер начинает показ фильма, как только скачано несколько процентов.

Для указания файлов на загрузку или раздачу работает сайт https://instant.io/. Там указывается магнет-ссылка или хеш для скачивания (например, как в заблокированных раздачах RuTracker).

Как вариант, стандартный интерфейс торрент-клиента реализован в неофициальном проекте ?Torrent.



WebTorrent — детище стэнфордского выпускника, программиста Феросса Абухадиеха (Feross Aboukhadijeh). Это довольно известный разработчик, раньше он уже выступал с несколькими неординарными проектами. Например, показывал эксплойт HTML5 Fullscreen API для фишинговой атаки. В этом случае браузер жертвы принудительно переводят в полноэкранный режим, в котором отрисован интерфейс такого же браузера.

До этого разработчик создал пиринговую сеть доставки контента PeerCDN, которую продал Yahoo в 2013 году.

Последний проект Феросса может вдохнуть новую жизнь в торренты, потому что многие современные пользователи, пресыщенные онлайновыми видеосервисами в стиле Netflix, уже ленятся скачать торрент-клиент и не хотят раздавать файлы. WebTorrent делает это в фоновом режиме, незаметно доля человека, через обычный браузер, с помощью технологии WebRTC.

Может быть, в будущем с помощью протокола WebTorrent люди будут раздавать не только отдельные файлы, но и целые веб-сайты. Такие сайты, которые хостятся на компьютерах тысяч пользователей, нельзя будет ни закрыть, ни заблокировать.

WebTorrent — первый торрент-клиент, который работает в вебе, не требует плагинов, расширений или установки другого дополнительного ПО. Он полностью написан на JavaScript и использует WebRTC для честной пиринговой передачи данных.

Первые сырые версии WebTorrent появились пару лет назад, но к настоящему времени технология уже созрела для серьёзного использования. Более того, полгода назад даже сам Netflix в одном из job application указал знание WebTorrent как одно из желаемых требований к кандидату. Это значит, что даже большие компании рассматривают P2P-стриминг как потенциальную бизнес-возможность.

В самом деле, такая технология способна значительно сократить расходы на трафик и даже улучшить качество сервиса.



«Если бы Netflix использовал WebTorrent, пользователи получили бы видеопоток лучшего качества в пиковые часы, — говорит автор. — WebTorrent даёт возможность клиентам одного интернет-провайдера обмениваться видеофрагментами друг с другом, не покидая сеть провайдера. Это гарантирует наилучшее качество даже когда канал между провайдером и Netflix полностью забит».

К сожалению, пока не все браузеры поддерживают WebRTC, но есть основания полагать, что именно за такими децентрализованными технологиями — будущее веба.

Комментарии (21)


  1. MiXaiL27
    14.12.2015 15:45

    А вот про распределенные сайты было бы поинтереснее почитать. Главным образом, как разослать уведомление по сети, что часть контента обновилась и кому именно её доставить? Это далеко не такая тривиальная задача, как потоковое скачивание пачки файлов, пускай и со сложной структурой. Получается должны распределятся, скорее, инструкции в какую-то исполняемую среду, но тут сотни векторов для эксплоитов и простой песочницей уже не обойтись. Хорошо внедрим подписывание сертификатами и каждому участнику сети нагенерим каких-нибудь отпечатков и будем их сверять: как сделать этот процесс распределенным? Блокчейн, ну тоже все далеко не самоочевидно. Для каждого сайта по блокчейну?

    В общем я все это к тому, что к распределенному вебу идти из этой технологии, как до холодного синтеза из нынешних технологий!


    1. domix32
      14.12.2015 18:51

    1. ivan386
      14.12.2015 21:37

      1. MiXaiL27
        15.12.2015 02:56

        Так это все еще объединить нужно еще. Вы будете смеяться, но что-то мне видится в объединение этих технологий гипертекстовый фидонет!


  1. ximaera
    14.12.2015 17:45
    +7

    Круто, а раздавать кто будет? Пушкин?


    1. dron_k
      15.12.2015 00:32

      Пока смотришь раздаешь,
      возможно какую-то часть в кеш смогут закинуть и раздавать когда снова страницу откроешь в браузере.
      Нагенерят кучу ифреймов и под каждый кусочек локалсторадж заюзают.


  1. rPman
    14.12.2015 19:47
    +1

    Ждем поддержки webtorrents в uTorrent и rTorrent 9точнее libtorrent) тогда станет реально круто.


  1. glushak
    14.12.2015 22:03

    Пользуюсь instant.io, чтобы скидывать файлы сразу большу числу получаталей (до 10-15).
    Меня устраивает


  1. amarao
    14.12.2015 22:37
    +5

    Как удержать клиента в табе после завершения просмотра? То есть для стриминга видео с центрального хостинга — конфетка, а не технология. А вот для старых добрых торрентов не очень. Потому что там самым важным является наличие сидов долгое время. Долгое — это месяцы и годы.

    Самый длинный торрент, который я сидил (какие-то лекции по физике, выложенные русским университетом) у меня раздавались примерно месяцев 10 (потом мне понадобилось место, извините).

    Вторым вопросом является: где данные хранятся-то? В localstorage? Эм… В памяти? Эм2


    1. rPman
      14.12.2015 23:31

      webtorrent, пока не будут решены вопросы, озвученные вами, пока только как инструмент уменьшения локальных нагрузок на сайт, не для хранения файлов в p2p-облаке.
      но, если будет предложено адекватное решение по хранению файлов (доступ из браузеру к файловой системе, пусть ограниченный хотя бы типами файлов и каталогом) то да
      приложение 'в табе' возможно переедет в приложение в браузере (без таба) по типу тех же месседженеров (как работает hangout в chromium).


    1. Chamie
      15.12.2015 11:47

      Как удержать клиента в табе после завершения просмотра?
      Например, смотришь очередной фильм = раздаёшь все уже просмотренные.


      1. amarao
        15.12.2015 17:38

        И тогда мы переходим к тому, где браузер «всё просмотренное» хранит. Хотя как идея — очень хорошо. На современных интернетах люди смотрят дольше, чем скачивание, так что рейт раздачи будет выше 1, плюс постоянность клиента сделает его ценным сидом, который в сети иногда появляется (такие сиды ценны, если у них редкие вещи).

        Но вопрос хранения совершенно открыт, потому что фильмотека на сотню фильмов — это явно не localstorage в браузере.


        1. ivan386
          15.12.2015 21:14

          Хранит в blob' ах похоже. Т.е. в памяти.


  1. zim32
    15.12.2015 00:13

    Не могу понять, это можно использовать для лайв стриминга?


    1. ivan386
      15.12.2015 09:47

      Нет. Это для онлайн просмотра торрентов.


  1. Revertis
    15.12.2015 10:30

    Такие сайты, которые хостятся на компьютерах тысяч пользователей, нельзя будет ни закрыть, ни заблокировать.
    Ну, с этим вы, к сожалению, погорячились…


  1. fareloz
    15.12.2015 12:45

    Залип на визуальной «молекуле» подключений


  1. ivan386
    15.12.2015 21:17

    Произвольный торрент из Bittorrent в Webtorrent не грузится. Видимо гибриды его тоже должны грузить (Я думал они как прокси для любого торрента работают). WebTorrent похоже использует WebSeed.


  1. DjOnline
    16.12.2015 10:18

    И как оно будет ворочать BD-Remuxы по 35Гб? Особенно если на системном разделе осталось всего 10Гб, а сайт не предлагает другой путь для сохранения файлов?
    У меня кстати не заработало на совсем даже небольших файлах, после добавления магнета с rutor (в том числе и укороченного) просто ничего не происходит. Ссылку на открытый торрент с rutor тоже не смог съесть со словами Failed to fetch.


    1. ivan386
      16.12.2015 11:06

      Это отдельная сеть. Для того чтобы через неё скачать в раздаче должны участвовать гибриды. Либо кто то должен перераздать сразу в ней. Как это сделать не создавая нового торрента я не понял. Хотя если указать WebSeed то данные загрузятся с него и будут раздаваться в WebTorrent.


  1. Spurlos
    21.12.2015 03:19

    Есть похожий проект jstorrent.com Работает как расширение в хроме. Можно выбирать куда качать. В общем создан по образу и подобию uTrorrent