Software | Internet | BitTorrent

WebTorrent: Moderní náhrada BitTorrentu se hlásí o slovo a umí toho stále více

  • Na jaře to byla jen knihovna pro vývojáře
  • Dnes už máme desktopový klient i webovou službu
  • Vyzkoušejte „BitTorrent“ uvnitř prohlížeče

Když jsme zkraje roku poprvé napsali o WebTorrentu, byla to především zajímavá technologie pro webové vývojáře a ano, i pirátskou scénu, jak přenést bittorrentovou síť přímo do webového prohlížeče, WebTorrent je totiž do posledního bajtu napsaný v Javascriptu a k samotnému sdílení používá vestavěnou multimediální P2P technologii WebRTC.

Jednoduše řečeno, surfař, kteří navštíví stránku, na kterém bude třeba HTML5 přehrávač streamující video z webtorrentové sítě, jej vlastně budou stahovat od všech ostatních, kteří se zrovna také dívají. To je v kostce základní princip BitTorrentu.

587677077
Co pixel, to jedna hvězda obrovského 3D modelu naší galaxie zobrazeného pomocí WebGL. Data se nestahují z centrálního webového serveru, ale z distribuované sítě WebTorrent.

Ačkoliv je tento princip odjakživa spojován spíše s pirátskou scénou, krásným příkladem, že technologie sama za nic nemůže, je třeba tento webový 3D model naší rodné galaxie Mléčná dráha se dvěma miliony hvězd. I v tomto případě se totiž jedná o webovou stránku postavenou nad technologií WebTorrent, takže samotnou databázi s hvězdami při návštěvě stránky nestahujete z nějakého centrálního a jedinečného serveru, ale od všech ostatních, kteří se zrovna také dívají.

Instant.io

Autoři WebTorrentu v mezidobí nezaháleli a po několika měsících usilovné práce představili dvě zajímavé a docela použitelné aplikace. Tou první je Instant.io – jednoduchá stránka k webtorrentovému sdílení libovolných souborů.

Stačí přejít na adresu webu, kde objevíte formulář pro výběr souboru. Nejedná se však o webové úložiště, ale o P2P sdílení, čili po výběru souboru se nikam nenahraje, ale vytvoří se jeho jedinečný identifikátor, který fanoušci BitTorrentu znají jako magnet link.

974896464
Jednodušší nativní torrentové sdílení neexistuje. K tomuto potřebujete jen moderní prohlížeč s podporou WebRTC (ideálně Chrome)

Pokud jej komukoliv předáte a ten jej na webu Instant.io vloží do formuláře, skrze takzvaný DHT systém WebTorrent najde všechny aktivní uživatele v síti, kteří mají soubor s tímto jedinečným identifikátorem, a začne jej od nich stahovat. Když od vás bude soubor stahovat jen jeden člověk, bude to vlastně přímé sdílení mezi dvěma počítači. Pokud byste však magnet link předali třeba deseti lidem, soubor by nestahovali jen od vás, ale postupně i od ostatních, kteří by měli staženo už nějaké relevantní množství dat.

U malého obrázku by to nemělo smysl, nicméně u velkého souboru by se již mohla v plné síle využít výhoda distribuovaného sdílení, kdy vám deset lidí neucpe internetovou linku, ale ucpou si ji (ovšem menší zátěží) všichni navzájem.

264352411
Jakmile do Instant.io vložíte soubor, vygeneruje se pro něj webtorrentový hash, magnet i klasický torrent a můžete jej sdílet se všemi, kterým předáte některý z těchto idnetifikátoru. Sdílení je aktivní, dokud nezavřete okno prohlížeče a máte přehled o počtu připojených klientů (peerů) i přenosové rychlosti.

Instant.io nicméně zůstává zatím spíše experimentální betaverzí, a co je horší, BitTorrent i WebTorrent se může stát obětí všemožných QoS (Quality of Service) politik, poněvadž tento protokol mnozí operátoři (třeba ti mobilní) blokují a omezují nejen kvůli špatné pirátské pověsti, ale i pro velkou zátěž.

WebTorrent Desktop

Ačkoliv je WebTorrent téměř identickou kopií BitTorrentu, která běží celá v Javascriptu, oba systémy nejsou navzájem kompatibilní. Když tedy pomocí Instant.io vytvoříte magnet link a vložíte jej do svého bittorrentového klientu, nic se nestáhne, protože se jedná o dvě odlišné sítě.

Proto autoři WebTorrentu představili ještě jednu aplikaci – tentokrát desktopovou verzi, která podobně jako Instant.io slouží ke sdílení a stahování webtorrentového obsahu, nicméně se zároveň jedná i o bránu do BitTorrentu.

108520760 267517865
Netradiční klient, který v sobě kloubí multimediální přehrávač s webtorrentovým a bittorrentovým klientem

Díky WebTorrent Desktopu tedy můžete sdílet soubor na počítači nebo třeba i celou složku jak ve WebTorrentu, tak v BitTorrentu.

Program zároveň slouží jako multimediální přehrávač pro sdílené filmy, které tak můžete přímo v něm streamovat a sledovat, aniž byste je museli nejprve stáhnout. Hned po instalaci si to můžete vyzkoušet, v nabídce je totiž několik animovaných filmů se svobodnou licencí.

214735620 979366574 671009533
V desktopovém WebTorrentu jsem nejprve vytvořil nový torrent (sdílení soubor/adresáře) a zkopíroval adresu pro stažení pomocí Instant.io, kterou nyní mohu předat prakticky komukoliv, aniž by druhá strana musela mít jakýkoliv torrentový program. Jakmile odkaz kdokoliv otevře, spustí se P2P spojení a stáhne z mého počítače sdílená data.

Web2Web

WebTorrent Desktop a Instant.io jsou použitelné demonstrační aplikace přímo od tvůrců WebTorrentu, postupně se ale přidává i komunita dalších vývojářů. Nedávno tak internetem prolétla zpráva třeba o experimentu Web2Web, za kterým stojí Michal elendirx Spicka.

Web2Web používá WebTorrent k distribuovanému hostingu statických webových stránek. HTML soubor tedy není uložen na žádném centrálním webovém serveru, ale jednoduše jej stejně jako v předchozích případech sdílíte do webtorrentové sítě.

547150976
Stránka s HTML5 videem jako každá jiná? Ale vůbec ne. Na adrese výše běží ve skutečnosti pouze webtorrentová brána a veškerý obsah, jak text výše, tak HD video níže, se stahují z P2P sítě.

Pak už stačí znát opět jen jedinečný identifikátor a pomocí něj a webtorrentové brány stránku zobrazit v prohlížeči. Jenže to má jeden záludný háček. Jakmile HTML soubor upravíte a znovu budete sdílet, bude mít odlišný jedinečný identifikátor. Jak se o něm ale surfaři dozvědí?

Michal tedy do hry zapojil i bitcoinový blockchain – distribuovanou databázi, do které se v bitcoinové měně zapisují veškeré transakce mezi bitcoinovými peněženkami. Blockchain v případě Web2Web funguje jako jakýsi doménový systém. Adresou webové stránky je tedy jedinečný identifikátor peněženky a webtorrentový identifikátor sdíleného HTML souboru pak představuje transakční zápis v blockchainu.

Když tedy začnete sdílet první verzi souboru stranka.html, do blockchainu se zapíše jedinečný identifikátor tohoto souboru jako transakce peněženky XYZ. Když soubor upravíte a znovu jej začnete sdílet s novým identifikátorem, zapíše do blockchainu sice nová transakce, ovšem stále peněženky XYZ.

917773355
Sdílení statické HTML stránky ve webtorrentové síti a zkopírování hashe (jejího jedinečného identifikátoru) z magnet linku

Kdokoliv opak bude znát identifikátor peněženky XYZ, najde uvnitř WebTorrentu vždy poslední verzi dokumentu stranka.html. Heuréka!

Opravdu to funguje. Zkuste skrze WebTorrent Desktop nebo Instant.io sdílet nějakou vlastní HTML stránku a její hash – jedinečný identifikátor, který tvoří kostru magnet linku, pak zaregistrujte v tomto formuláři, který zároveň funguje i jako webtorrentová brána, čili na sdílenou stránku se pak v prohlížeči ostatní mohou podívat na klasické adrese ve formátu https://elendirx.github.io/web2web-gateway/#/69e2aa264b5693a1105c9fd78fea3d3692bc93d2.

269618189 728533907
Zaregistrování hashe HTML souboru na Web2Web bráně a její podoba, jak ji uvidí každý, kdo bude znát celou adresu. Stránka tedy není hostovaná na centrálním serveru, ale bude dostupná tak dlouho, dokud ji bude alespoň jeden člen webtorrentové sítě sdílet ostatním. Čím více lidí ji bude sdílet, tím bude i dostupnější pro ostatní.

Pokud bude soubor s daným identifikátorem živý (bude aktivně sdílený ostatními uvnitř WebTorrentu), Javascript brány jej stáhne z P2P sítě a zobrazí ve vašem prohlížeči. Jen podotknu, že adresu výše zkoušet nemusíte, jednalo se totiž pouze o zkušební torrent pro přípravu článku a už jej dále nesdílím.

Suma sumárum, WebTorrent se snaží prosadit všemi možnými způsoby a nechce být jen spojovaný s pirátskou scénou jakožto případná náhrada za původní BitTorrent. Autoři naopak chtějí internetovou společnost konečně naučit, že distribuované sdílení a P2P jsou technologie s ohromným a doposud přehlíženým potenciálem a byla by škoda nad nimi lámat hůl a omezovat jejich funkčnost jen proto, že si je oblíbili piráti pro šíření warezu.

Ostatně P2P v nejnovějších sestavení Windows 10 Insider volitelně používá i Microsoft pro snazší šíření systémových aktualizací, které se nemusejí stahovat jen z centrálního zahlceného serveru (a zrcadel po celém světě), ale i od všech ostatních uživatelů Desítek (nebo jen počítačů v bezpečné podnikové síti), jejichž mašiny si již kýženou záplatu stáhly a mohou jej nabídnout ostatním surfařům poblíž.

Diskuze (9) Další článek: Známe ceny nových GTX 1050 a GTX 1050 Ti. Budou levnější, než se čekalo

Témata článku: , , , , , , , , , , , , , , , , , , , , , , , , ,