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.

Diskuze (20) Další článek: Týden Živě: Návrat do budoucnosti

Témata článku: Technologie, Web, Programování, Torrent, Pirátství, Dostupný film, Pirátské streamování, Nejjednodušší způsob, Popcorn, Pirátská komunita, Unikátní identifikátor, Podobný web, Nativní přenos, Pirátské doupě, Podobná technologie, Různí uživatelé, Podobný film, Monitory do auta, TPB, Pirátský přehrávač, CDS, Jedinečný identifikátor, Balance, První bitcoin, Tim


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

Nová zbraň Microsoftu proti iPadu: Levný tablet Surface Go bude stát jen deset tisíc

Nová zbraň Microsoftu proti iPadu: Levný tablet Surface Go bude stát jen deset tisíc

** Microsoft představil nový tablet Surface Go ** Nový model zaujme nízkou cenou, ale schopnostmi zařízení Surface ** Microsoft nepoužil čip ARM, ale klasický procesor od Intelu 

Karel Javůrek | 116

15 věcí, které umí Windows 10, ale možná o nich vůbec nevíte

15 věcí, které umí Windows 10, ale možná o nich vůbec nevíte

** Systém Windows 10 umí spoustu užitečných drobností ** O mnoha praktických funkcích pravděpodobně ani nevíte ** Poznejte užitečné tipy, které se vám mohou hodit každý den

Vladislav Kluska | 36

Šmírovačka kamerami Googlu: Koukněte se, co nového zachytily na Street View

Šmírovačka kamerami Googlu: Koukněte se, co nového zachytily na Street View

Google stále fotí celý svět do své služby Street View. A novodobou zábavou je hledat v mapách Googlu vtipné záběry. Podívejte se na výběr nejlepších!

redakce | 44

Jak dopadl velký den Applu s náloží novinek: Sledujte, co letos připravil

Jak dopadl velký den Applu s náloží novinek: Sledujte, co letos připravil

** Apple večer představil novinky ** Ukáže nové operační systémy, ale čekala se i nová zařízení ** Začíná vývojářská konference Applu WWDC 2018

Karel Javůrek | 87

Apple dal do MacBooku procesor Core i9 a 4TB SSD. Ani se neptejte, co za to chce...

Apple dal do MacBooku procesor Core i9 a 4TB SSD. Ani se neptejte, co za to chce...

** Apple aktualizoval notebooky MacBook Pro, dostaly nový hardware ** Těšit se můžete na nové procesory a větší paměť ** Cena nejvybavenějšího modelu překročí 200 tisíc korun

Martin Miksa | 97

Google ADT-2: Miniaturní krabička s Android TV 8.0, kterou si nikdy nekoupíte

Google ADT-2: Miniaturní krabička s Android TV 8.0, kterou si nikdy nekoupíte

** Dlouho se nevědělo, co to přesně má být ** Pak se s krabičkou Google pochlubil na I/O ** Do „Chromecastu“ vtěsnal celý Android TV

Jakub Čížek | 24

Porno insider: Jak virtuální realita vstupuje do filmů pro dospělé

Porno insider: Jak virtuální realita vstupuje do filmů pro dospělé

** Pornografie údajně představuje třetinu internetové obsahu a je technologický tahounem ** Do erotického obsahu postupně zasahuje i virtuální realita ** Kromě vizuálního vjemu se pracuje také na virtuálním uspokojení toho hmatového

Jan Dudek | 28


Aktuální číslo časopisu Computer

Velký test 18 bezdrátových sluchátek

Vše o přechodu na DVB-T2

Procesory AMD opět porážejí Intel

7 NVMe M.2 SSD v přímém souboji