Jak funguje webový Popcorn Time? Naprogramujeme si ho

Před rokem se objevil první „pirátský Netflix“ Popcorn Time. Letos jej ale doplnily ještě lákavější webové verze, které nepotřebují žádný doplněk a P2P klient. Jak vlastně v nitru fungují?

Na titulní stránky světových technologických médií se tento týden opět dostal nechvalně proslulý pirátský přehrávač Popcorn Time – respektive jedna z jeho webových odnoží, která běží přímo v prohlížeči a k chodu nepotřebuje žádný speciální technologii a doplněk – jen základní schopnosti HTML5.

Něčeho podobného se autorské svazy právem bojí jako čert kříže, protože pirátské streamování filmů přímo v prohlížeči je dostupné prakticky pro každého. Nepotřebujete instalovat žádný speciální software – prostě jen otevřete adresu a vyberete si film.

Klepněte pro větší obrázek Klepněte pro větší obrázek
Nebezpečně jednoduchý pirátský Browser Popcorn přímo v prohlížeči a bez potřeby jakýchkoliv doplňků včetně Flash Playeru. I proto vydržel na scéně jen několik málo hodin.

Podobné webové přehrávače nejsou samozřejmě ničím novým, zpravidla ale filmy streamovaly z nějakého pirátského doupěte, jehož provozovateli stačilo pohrozit žalobou a majitelé práv měli brzy klid.

Jenže doba se mění a dnešní webové pirátské přehrávače mohou streamovat data přímo z bittorrentové sítě, jejíž blokace je fakticky i právně mnohem složitější. Spuštění webové stránky, která by fungovala podobně jako zmíněný Browser Popcorn nebo třeba jarní Popcorn in your browser, je ke všemu velmi snadné.

Jak si naprogramovat vlastní Popcorn Time

Dnes si ukážeme, jaké technologie by mohl autor ke zprovoznění vlastního webového popcornu použít.

Nejjednodušším způsobem, jak dostat bittorrentová data do prohlížeče, je klasická HTTP brána. To v praxi znamená, že samotný P2P klient, který stahuje jednotlivé dílky souborů od různých uživatelů rozesetých po internetu, se vůbec nenachází na vašem počítači, ale kdesi na serveru.

No, a tento server vám pak stahovaný torrent předá skrze běžný protokol HTTP, jako byste stahovali třeba soubor MP4 z libovolné webové adresy. Optikou prohlížeče je jediný rozdíl zpravidla v tom, že se soubor začne stahovat až po určité chvíli, než se na straně serveru iniciuje samotná P2P komunikace, což může trvat i desítky sekund v závislosti na počtu a linkové rychlosti seedů – počítačů, na kterých jsou soubory, které chcete získat.

Jakmile prohlížeč obdrží první data třeba videosouboru MP4, zobrazí je pomocí HTML5 prvku <video> a na monitoru se začne přehrávat film.

HTTP BitTorrent jménem Coinado

Přesně na tomto principu byl založený první webový popcorn na adrese popcorninyourbrowser.net, který jako HTTP bránu používal komerční službu Coinado. Tehdy běžela v bezplatné betaverzi, ohromný zájem o zmíněný webový přehrávač však autory přinutil, aby ji krátce na to zpoplatnili, což znamenalo i konec experimentu popcorninyourbrowser.net, který neměl komerční ambice.

Klepněte pro větší obrázek Klepněte pro větší obrázek
Letos na jaře se na webu objevila první verze webového Popcorn Timu. FIlmy z BitTorrentu streamovala pomocí služby Coinado.

Coinado.io je nicméně alesoň pro individuální použití docela levné. Neplatí se zde žádný paušál, ale datový tok. Za zhruba 24 korun můžete přenést 20 GB (0,05 dolarů/GB).

Coinado je nerd-friendly aplikace, má tedy výhradně textové rozhraní. Jedná se vlastně o primitivní skript napsaný v Pythonu, který vám vygeneruje váš unikátní identifikátor (který se zapíše natvrdo přímo do skriptu), pomocí kterého si pak nabijete účet buď přes PayPal, nebo Bitcoin.

Klepněte pro větší obrázek
Příkaz coinado balance zobrazí stav účtu a instrukce k nabití kreditu
Klepněte pro větší obrázek
Coinado v akci. Stahuje torrent, ale skrze běžný protokol HTTP. Je to vlastně jen převlečený linuxový nástroj wget.

Díky  čistě textové formě můžete Coinado elegantně integrovat do dalších aplikací zejména na linuxových systémech, přičemž skript bez jediného zádrhele funguje třeba i na populárních komunitních firmwarech pro domácí routery OpenWrt a DD-Wrt. Pokud to má Python a wget, Coinado tam prostě poběží.

Coinado lze ale použít i přímo zadáním běžného HTTP odkazu, který bude obsahovat identifikátor torrentu (jeho hash) a váš uživatelský klíč. No a to se už konečně dostáváme k tomu, jak lze Coinado elegantně integrovat přímo do prohlížeče.

Dejme tomu, že se budete chtít přímo v Chromu, Firefoxu nebo IE podívat na dokumentární snímek TBP AFK, který se šíří pod svobodnou licencí. Jeho HTTP adresa pro stažení skrze Coinado by pak mohla vypadat třeba takto:

https://coinado.io/i/79816060EA56D56F2A2148CD45705511079F9BCA /auto?u= cdswulkcl8ze8cvpi7

Všimněte si tří tučných součástí adresy. Tou první je tzv. hash torrentu – jedinečný identifikátor v celosvětové bittorrentové síti, který je součástí třeba tzv. magnetických linků. Tím tedy dáváme Coinadu najevo, co má najít a začít stahovat.

Parametr auto pak Coinadu přikazuje, aby z torrentu, který může obsahovat hromadu doprovodných souborů, vybralo největší soubor (což bude náš MP4 soubor). No a úplně na závěr nesmí chybět číslo našeho uživatelského účtu, aby Coinado vědělo, komu má strhnout kredit.

Takže to zrekapitulujme. Když takový odkaz zadáme do prohlížeče, Coinado na serveru spustí bittorrentový klient, začne stahovat torrent a data nám už bude posílat skrze šifrované HTTPS spojení.

Je to elegantní, je to jednoduché, a pokud takovým odkazem nakrmíme integrovaný přehrávač webového prohlížeče pomocí HTML5 značky <video>, zprovozníme tu nejjednodušší variantu Popcorn Timu v prohlížeči opravdu s pomocí několika málo řádků Javascriptu.

Klepněte pro větší obrázek
A takto by mohl vypadat kód primitivního webového přehrávače postaveného na Coinadu
Klepněte pro větší obrázek Klepněte pro větší obrázek
Klepněte pro větší obrázek
A náš testovací bittorrentový filmový přehrávač v akci. HTML5 video podporuje i externí titulky, ty bychom tedy mohli v dalším kroku nahrát z některého katalogu, třeba opensubtitles.org.
Klepněte pro větší obrázek
Pokud má torrent kvalitní seedy, Coinado nemá problémy s rychlostí a HTML5 přehrávač tedy může video začít přehrávat z vlastní cache s minimálním zpožděním. Tedy pokud bude rozumět formátu.

Zdrojem torrentů je pirátské YTS

Skutečné webové alternativy Popcorn Timu tento technologický základ rozšiřují vlastně jen o to, že formou miniatur zobrazí seznam dostupných filmů, takže samotný uživatel nemusí hledat hashe konkrétních torrentů.

Jako zdroj prakticky ve všech případech slouží pirátský torrentový producent a katalog YTS (možná jej znáte pod starším označením YIFY). Jelikož všechny Popcorn Timy stojí a padají na funkčností YTS, pokud má výpadek, nefungují ani koncové aplikace. To se děje právě v těchto dnech a pirátská komunita bije na poplach už i na Twitteru

WebRTC + BitTorrrent = WebTorrent

HTTP brány pro bittorrentovou síť jako Coinado a další však nejsou jedinou možností, jak dostat Popcorn Time do prohlížeče. Ostatně i ony trpí tím, že se majitel práv může pokusit právně tlačit právě na podobnou bránu, která je vlastně zprostředkovatelem přenosu a nese tedy v rámci legislativy DMCA veškerou zodpovědnost.

Právě proto vznikají nejrůznější pokusy, jak zprovoznit bittorrentovou komunikaci přímo v prohlížeči s pomoci prostého Javascriptu a technologií z rodiny HTML5. Podařilo se to třeba autorům javascriptová knihovny WebTorrent (GitHub), která realizuje P2P spojení pomocí nativní technologie WebRTC, kterou dnes v největší šíři podporuje především Chrome.

Pokud by tedy některý další Popcorn Time pro prohlížeč využil právě tuto technologii, sám o sobě bude prakticky nezničitelný, data totiž bude do HTML5 přehrávače stahovat opravdu přímo z bittorrentové sítě. Na stranu druhou tím pádem ale přenese i veškerou zodpovědnost na koncového uživatele, který už nebude výhradně pasivním divákem, ale i aktivním prvkem P2P sítě, a může tedy licencované dílo ilegálně šířit dál – stejně jako v desktopovém Popcorn Timu.

S rozvojem nových multimediálních a síťových technologií uvnitř internetových prohlížečů je však jedna věc už dnes docela jistá. Podobných webů bude přibývat a jejich spouštění bude extrémně jednoduché a levné. Uvidíme, jak na to bude postupem času reagovat Hollywood.


V článku se pokoušíme poodhalit technické zákulisí určitého fenoménu posledních měsíců. V žádném případě vás nechceme nabádat k tomu, abyste Coinado a prezentovaný kód, který slouží pouze jako ukázka, používali k čemukoliv, co by mohlo být v rozporu se zákonem.

20 komentářů

Nejnovější komentáře

  • prone1 26. 10. 2015 12:17:27
    Píšete že není potřeba speciální software a spokojí se to s prohlížečem s...
  • Doggg 25. 10. 2015 8:02:48
    Přijde mi hlavně zvláštní, že v článku nezaznělo, že je popcorntime...
  • jklmnpqrst 25. 10. 2015 7:43:10
    nechapem to premostenie od "jednoduchsieho prehravania torrentov priamo...

Určitě si přečtěte


Nejlepší programy pro střih videa na doma: 10 video editorů, ze kterých si vyberete

Nejlepší programy pro střih videa na doma: 10 video editorů, ze kterých si vyberete

** Adobe Premiere Pro ani Final Cut se pro běžné uživatele příliš nehodí ** Programy na domácí střih většinou stojí do dvou tisíc ** V desítce nejzajímavějších najdete i 3 videoeditory dostupné zdarma

19.  9.  2016 | Stanislav Janů | 37

Pojďme programovat elektroniku: Vyzkoušíme IR, ovládneme světýlko přes Bluetooth a vyšleme zprávu na sto metrů

Pojďme programovat elektroniku: Vyzkoušíme IR, ovládneme světýlko přes Bluetooth a vyšleme zprávu na sto metrů

** Budeme odposlouchávat IR ovladač klimatizace ** Vyrobíme laciný rádiový vysílač ** Vyzkoušíme komunikaci pomocí Bluetooth a v pásmu 433 MHz

21.  9.  2016 | Jakub Čížek | 18

Vymazat se z internetu není možné, velkou část osobního obsahu však odstranit můžete

Vymazat se z internetu není možné, velkou část osobního obsahu však odstranit můžete

** Online stopy i se svým jménem zanechá většina uživatelů internetu ** Jejich smazání nikdy nebude stoprocentní ** Poradíme, jak odstranit jejich větší část

20.  9.  2016 | Stanislav Janů | 21

Zoner Photo Studio X: Umí vrstvy, vyrobí fotoknihu a získáte jej za roční paušál

Zoner Photo Studio X: Umí vrstvy, vyrobí fotoknihu a získáte jej za roční paušál

** Je to největší aktualizace za poslední roky ** Konečně umí vrstvy, vyrobí fotoknihu i obraz ** Nově pouze jako předplatné s průběžnými upgrady

19.  9.  2016 | Jakub Čížek | 67


Aktuální číslo časopisu Computer

Srovnání výhodných 27" monitorů

Velký test levných rychlých routerů

Jak nastavit Android, aby vás nesledoval

45 podrobných testů a recenzí