Pátek, 1. srpen 2008

Opravdu nelze z Bandzone.cz stahovat mp3?

Zase jsem jednou neměl co dělat. Vzpomněl na svého kamaráda, co má nějaké mp3 své kapely na Bandzone.cz. Jen pro upřesnění, Bandzone používá flash přehrávač pro přehrávání rádoby skladeb hudebních skupin a sólistů. Lze nastavit (nejspíš v nastavení profilu), co se může stáhnout a co bude zapovězené, nestáhnutelné, neviditelné. Co já vím jak se jim to tam jmenuje. Ale k věci. Když jsem se tenkrát s kamarádem bavil a on mi říkal o tom jak je to super, a že to pak lidi budou muset přehrávat jen z oněch černých stránek a tak uvidí pokaždé to jejich Hovno 1. Já jsem prohlásil, že to musí jít nějak obejít. Svoje tvrzení jsem neměl čas dlouho dokázat, až teď.

Princip

Pokud chcete překonat, přechytračit, zničit, využít nějaký systém, musíte nejdříve zjistit jak funguje. Flashové přehrávače mohou přehrávat konkrétní soubor, nebo soubory z playlistu. Přehrávač na Bandzone si bere cesty k mp3 souborům z XML souboru. K tomuto playlistu se tedy musíme dostat, abychom získaly adresy oněch mp3 skladeb.

Zdrojový kód

Zdrojový kód je nutno prohlédnout jako první. Zkusil jsem vyhledat koncovku XML, která by poukazovala na přímý odkaz na playlist. Obvykle se podaří nalézt kód přehrávače. Z toho kódu je nutné empiricky získat adresu playlistu. Někdy to není tak snadné, proto je nutná dávka zkušeností s flash přehrávači a jejich vkládáním do stránky (pomocí HTML nebo Javascriptu).

Playlist pro skupinu How No jsem našel v pohodě asi po třech minutách.

Ve zdrojové kodu je:
howno%2Fplaylist.xml

to odpovídá
howno/playlist.xml

Logicky jsem doplnil doménu a vyšlo to.
http://bandzone.cz/howno/playlist.xml

Při otevření však prohlížeč zobrazí pouze hlášku o nepovoleném přístupu. Hoši z Bandzone to mají pořešený. Přemýšlel jsem jak. Nejspíše flash přehrávač posílá při žádosti o playlist ještě nějaký dodatečný hash, ten však bude složité odhadnout. Každopádně tato metoda funguje na 90% webů, kde je přehrávač. Většinou nikoho nenapadne ošetřit možnost zjištění adresy souborů.

Jelikož jsem se nechtěl vzdát, nasadil jsem trochu jiné metody.

Odposlech síťového zařízení

Ten nikdy nezradí. Playlist jsem měl stažený za 10 sekund. Odposlech však klade důraz na trochu pokročilejší znalosti uživatele. Zamezit odposlechu také není jednoduché. Pokud si pustíte přehrávač u sebe na počítači, v tu chvíli protékají vaším síťovým zařízením pakety, obsahující i onen playlist. Není pak problém si zpětně sestavit co bylo přeneseno. Jak to provést, si zjistěte každý sám. Hochy z Bandzone už víc nasírat nebudu.

Ochrana

Jak tedy zabezpečit svoje nicotné přehrávače před krutými uživateli? První možnost byla již nastíněna. Při žádosti o playlist posílat i předem dohodnutý hash. Může sestávat z názvu playlistu a seedu. Také bych určitě kontroloval referenční IP adresu, pokud by přišel požadavek na playlist z jiného než mého serveru, tak je požadavek zamítnut. Je důležité mít toto u velkých serverů ošetřené. Není problém napsat skript, který na základě zadaných názvů kapel projde celý server a postahuje jejich mp3. Takový skript jsem si pro sebe napsal a používám ho při stahování ze serveru Magnatune.com. O tom až příště.

Ošetření odposlechu je také jednoduché. Místo přenosu přes HTTP bych použil HTTPS. Nevím však, zda Flash umožňuje komunikaci přes tento protokol. Je to jen moje teorie. Také je možné XML playlist posílat v zašifrované podobě. Následně ho proti klíči rozšifrovat až v přehrávači. Opět ale narážíme na možnosti Flash platformy.

Odkazy:
  1. http://bandzone.cz/howno

Pondělí, 16. červen 2008

Hrdinové dnešní doby...

...nejsou fotbalisté, ale vědci a lékaři. Proč se jim nevěnuje tolik pozornosti jako těm, co umí akorát kopat do míče? Nemocní rakovinou by si taky rádi zaskákali, ale nemůžou. I když to jsou Češi.

Přečtěte si: http://zdravi.idnes.cz/novy-lek-na-rakovinu-zvysuje-sanci-na-preziti-fow-/diagnoza.asp?c=A070918_095102_diagnoza_bad

Úterý, 20. květen 2008

Já, Linux

Dlouho jsem sem nepsal. To proto, že mne dost zaneprázdnila škola a problémy s Windows XP. Po dvou letech fungování se najednou rozhodly dělat problémy. Vrcholem všeho byl restart, který zrušil filesystém na disku D:, kde jsem měl veškeré soubory, rozpracované projekty, fotky, muziku a hlavně bakalářku (!). Tu jsem měl naštěstí zálohovanou na ftp. Ostatní věci vem čert. Začal jsem obnovovat data. Veškerá moje snaha byla marná, protože programy pracující s RAW nejsou zdarma. Při hledání klíče jsem si do již tak poškozeného chudáčka počítače natahal další sračky. Něco jsem obnovil, na zbytek jsem se vyprd.

Přechod na Kubuntu



Zvolil jsem tedy jako svůj primární operační systém Linux. Jsem zvědav jak dlouho mi to vydrží. Není to žádný med, ale zatím jde vše jak má a vyložené záseky se nekonaly. Linux nedoporučuji lidem dlouhodobě zakrnělým z práce ve Windows XP/Vista, musí se občas trochu přemýšlet. Hlavně co se týče uživatelských práv. Windows mi na disku však zůstane, kvůli hrám. K ničemu jinému nejsou vokna dobrá. Prostředí KDE jsem zvolil, protože je hezčí než GNOME a má zajímavější programy. Těším se na KDE 4.0/4.1, vypadají nadějně. Celkově Linux budu mít hlavně na práci. Je to stabilní a rychlý systém. Chci mít podmínky jako na webovém serveru (hlavně case sensitive). Windows už mne nudil a vyloženě mne otravovalo jak se programy zasekávaly, vše bylo pomalé a nevypočitatelné.Každý systém má své pro a proti. Jen čas ukáže, jestli jsem zvolil správně. PS: Ještě napíšu článek o použití Subversion a ftp, bude to ale až si dohraji s nastavováním systému:)

Pondělí, 5. květen 2008

Vývoj třídy SGraphs

I přesto, že mne čekají státnice a odevzdání bakalářky, nedokážu se odtrhnout od práce nad třídou SGraphs. Baví mne programovat něco, co bude opravdu použitelné a vychytané. Procházel jsem ze zajímavosti různé již existující projekty na toto téma, ale žádná třída mi neučarovala. Všechny jsou tak divně a zbytečně složité. Svojí malinkou třídičku bych rád pojal co nejjednodušeji a vyhnul se zbytečně složitým konstrukcím. Hlavní síla bude v jednoduchém zadávání vstupních dat a parametrů grafu. Třída by měla být blbuvzdorná, to bude asi nejtěžší ze všeho. Těším se však, že si v rámci ladění vyzkouším konečně Unit testy. To je ta část programování, které jsem se doteď vyhýbal.

Nejsem lidumil. Nečekám, že třídu bude někdo používat. Ano, chtěl jsem trochu splatit svůj dluh vůči komunitě. Je tu však další strana mince. Naučím se vést vlastní projekt. Zdokonalím se v dokumentování pomocí WIKI, vytváření TODO, sledování vývoje pomocí changelogu. Google Code jsem zvolil hlavně kvůli možnosti spravovat projekt přes SVN. Možná do budoucna uvítám spolupracovníky. Ale zatím je to jen můj projekt, ruce pryč:).

Vývoj tedy pokračuje vesele dál. Při pročítání dokumentace jsem narazil na pár chyb, pardon vlastností Google Charts. Pokud graf obsahuje záporné hodnoty nelze ho vykreslit, resp. hodnota se nevykreslí. Je to proto, že chybějící hodnoty se zadávají s mínusem. Do budoucna to třída SGraphs bude řešit. V dokumentaci je také nástin řešení, ale víte jak, je to anglicky a já sem lenoch, takže jsem to pořádně nečetl. Další věc jsou vstupní data. Pokud hodnota přesáhne 100, nebude vykreslena (alespoň u spojnicového grafu). Tento nešvar odstraňuje jednoduché, resp. rozšířené zakódování do ASCII znaků. Zatím jsem implementoval jen jednoduché kódování.

Výsledná adresa grafu úměrně narůstá s množstvím dat, popisků a dalších zbytečných serepetiček. Proto jsem implementoval kešování, díky kterému se graf načte jen jednou a nadále se pak načítá z keše. Je to obrana nejen proti validátorům (kteří řvou něco ve smyslu URL je moc dlouhá, zprav si to vole, nebo si nebudeš moci dát na stránky ikonku XHTML valid), ale i proti výpadku Google API či přetečení limitu zobrazení grafu.

Až tedy implementuji rozšířené kódování, chystám se na vkládání vodoznaku (bez keše to ale nepůjde). Možná ale předtím udělám vykreslování speciálních grafů (sin, cos, tg, atd.).

Zaujala někoho tato třída? Máte návrh na funkce, které by měla obsahovat? Napište prosím do komentářů.

Neděle, 4. květen 2008

Xubuntu 8.04

Dnes jsem dával dohromady jeden starší počítač (Celeron 500 MHz, 384 RAM, integrovaná grafika 32 MB). Skládal jsem ho již delší dobu, pořád ale nebyl čas tam nainstalovat operační systém. Ten komp bude jen na internet a na otevírání srandovních příloh. Rozhodl jsem se pro Xubuntu, protože obsahuje XFCE vyladěné pro slabší hardware. Hodně znát je pomalý procesor. Ram je dostačující, grafika také. Jinak jsem spokojen. Mám zadarmo moderní systém, které chodí solidně i na starém železe. Přemýšlel jsem ještě, že bych tam dal Windows 98. Ale to myšlenku jsem hned zavrhl. Zejména proto, že nehodlám shánět ovladač na každou pitomou flashku, kterou tam rodiče strčí. Navíc připojení k internetu je zajištěno přes PCMCIA wifi kartu, se kterou nebyl žádný problém, a byla okamžitě rozpoznána. Celkově si systém krásně poradil se základní deskou od HP a integrovaným hardware (zvukovka, grafika).

Xubuntu je tedy dobrá volba pro slabší počítače. Nemá však cenu jej instalovat na slabší procesory a jít pod 256 MB RAM.

Úterý, 29. duben 2008

Třída SGraphs pro práci s Google Chart Api

Abych tu neplácal místem jen na úvahy a různé nesmyslné teorie o mávání křídly, vynesu na světlo jeden můj nový projekt. Týká se Googlu (toho nenáviděného) a jeho Chart Api (něco s grafy). Neobjevuji USA, ale chci přijít se svojí  troškou do mlýna. Hodně dlouho jsem parazitoval na PHP komunitě, které vytváří různé úžasné třídy, které dělají programátory ještě lenivějšími. Proto jsem se rozhodl pro tento počin, který snad někomu usnadní život.

Tato třída je psaná ve skriptovacím jazyce PHP, jediném jazyce, který aspoň trochu umím. Zatím neumí skoro nic. Jen udělat běžný graf (lineární, sloupcový, koláčový atd.), nastavit šířku a výšku grafu, vykreslit hodnoty a popisky. Přitom ty dvě poslední vlastnosti, ještě moc nefungují. Zatím jsem nad projektem strávil asi hoďku, další hodinku jsem si hrál s nastavením google code.

Třída bude postupně vyvíjena, pokud bude čas. Do budoucna si nebude klást za úkol pouze zobrazovat grafy, ale bude přidáno mnoho funkcí navíc. Jaké to budou, se dozvíte později.

Předem doporučuji vydržet, dokud nebude v downloads ke stažení beta verze. Do té doby můžete sledovat projekt a jeho vývoj na SVN. Nebudu však podávat informace ani technickou podporu dokud neuveřejním beta verzi.

Budu však velice rád, pokud někdo mou třídu využije. Jelikož trochu dělám v Zend frameworku, do budoucna bude třída spolupracovat i s některými ZF třídami.

Sobota, 26. duben 2008

Nový portál televize Nova

Tak sem dneska shlédl upoutávku na TN.cz. Ze začátku jsem nevěděl, o co vůbec jde. Mělo mě to však napadnout. Nějaký muž středního věku, co má problémy se čtením a intonací, chraplavým hlasem předčítá přehnaně dlouhé věty. Pak následuje kraťoučké video s různou tématikou. Třeba facka pana Macka. Nebo Krejčíř a jeho cvičení psi. Ani po tomhle mi to nedošlo. Jen mne napadlo, že za tím bude něco velkého, když mají prachy na vysílání reklamy na Nově. Tak jsem se podíval do záznamu Whois (http://whois.domaintools.com/tn.cz) a vše mi docvaklo. Nova se chystá spustit nový zpravodajský portál. Investovali do něj prý už desítky milionů. A mají už i novou redakci. Takže 5. 5. nás čeká další milník v historii českého internetu (ironický smajlík). Jen aby to zase nedopadlo jak tenkrát s jejich hi-tech studiem a HD vysíláním.

Zdroj:

  1. Nova spustí vlastní portál. Bude se jmenovat tn.cz [online]. 2008, [cit. 2008-04-26]. Dostupné z: <http://digiweb.ihned.cz/c1-24185760-nova-chce-dobyt-internet>

Pátek, 25. duben 2008

Motýlí efekt

Tak sem se dneska večer zase flákal. V televizi jsem shlédl, vcelku dobré sci-fi Lovci dinosaurů. Efekty slušné, příběh napínavý. Co mne však zaujalo, byl náznak efektu Motýlích křídel. Ve filmu totiž jednoho nebohého motýla zašlápli a tím se změnila celá budoucnost. Někomu se to může zdát jako učiněný nesmysl. Proto tuto teorii trochu osvětlím.

Motýlí efekt poprvé zmínil ve své přednášce Edward Lorenz v roce 1979. V přednášce vznesl otázku, zda může mávnutí motýlích křídel v Brazílii vyvolat tornádo v Texasu. Svoji teorii opíral o výzkum v oblasti meteorologické předpovědi. Při studiu počasí Lorenz zjistil, že se změny v počasí nedějí vždy tak, jak jsou předpovězeny. Lorenz sestavil matematický model vynucené konvekce v atmosféře. Na tomto modelu demonstroval, že i malá změna v počátečních hodnotách proměnných má za následek veliké rozdíly v chování počasí. Počasí se prostě nechová podle deterministické teorie. Lorenzovi se podařilo pomocí dvanácti rovnic, které se opakovaly neustále dokola a záměrně využívali fluktuace (náhodné kolísání hodnot), napodobit neperiodičnost a nepředpověditelnost počasí. Chyby, nepřesnosti, malé odchylky či fluktuace jsou právě ty prvky, které se špatně simulují. Je potřeba obrovsky výkonných počítačů, aby tyto citlivé závislosti dokázali spočítat.

Tento jistě zajímavý jev se později rozšířil do dalších oborů a můžeme se s ním setkat například i v teologických textech (FIALA, Miroslav. Motýlí efekt. Tři úvahy o chaosu a řádu. Trinitas, Svitavy 2001).

Znalost motýlího efektu může být prospěšná i v běžném životě. Stačí si jen uvědomit, že maličkost může mít obrovský vliv. Může to být něco, co řekneme nebo uděláme. Následně může být ovlivněn život náš, čí někoho jiného. Dávejte si pozor, kam šlapete.

Zdroj:

  1. Edward Lorenz [online]. 2008, [cit. 2008-04-25]. Dostupné z: <http://cs.wikipedia.org/wiki/Edward_Lorenz>
  2. Motýlí efekt [online]. 2008, [cit. 2008-04-25]. Dostupné z: <http://cs.wikipedia.org/wiki/Mot%C3%BDl%C3%AD_efekt>
  3. VRÁBLÍK, Marek. Chaos [online]. [cit. 2008-04-25]. Dostupné z: <http://www.phil.muni.cz/fil/studenti/chaos(vrablik).html>

    Hodně práce, žádná zábava

    Venku je krásně, teď teda ne, teď prší. Ale pro mě je tam krásně. Jsem rád, že prší, protože mi pak není líto, že musím sedět u počítače a dělat že dělám. Škola je náročný koníček. Když je hezky tak se špatně studuje.

    Středa, 23. duben 2008

    Proč blogovat

    Dobře. Stále jsem ještě nevymyslel, o čem budu blogovat. Taky si zatím položím otázku, proč blogovat.

    Proč lidé vlastně blogují? Proč lidé mají tu neutuchající touhu zvracet své intimní zážitky na stránky blogů. Chci také tak dopadnout?

    Mezi tuto skupinu lidí se zařadit nechci. Nebudu psát o tom, že se mi dnes na záchodě protrhl papír. Při smrkání. Udělám si trochu odstup a pokusím se o nadhled. Chci ukázat, že vše není tak černobíle a mince má dvě strany. Ha, pomalu se to rýsuje. Cítím, jak mne to vzadu za uchem šimrá. Možná nápad. Že bych přišel na to o čem psát? Ne nechám si to na později. Je to tam někde vzadu. Na povrch se to dostane v pravou chvíli.

    Takže jaká bude motivace pro moje blogování? Nejlepší vzpruha a motivace do další práce je kladná odezva. Když ale ze začátku žádná není, co s tím? Vydržet, a psát? Nebo nepsat a spíše blog všude protlačovat. Asi to chce obojí. Sakra, to zas bude práce.

    Musím si vytvořit návyk. Bez návyku to nejde. Řeknu si, že každý druhý večer sem napíšu nějaké zamyšlení, nebo zkopíruju hlášku z lamera. To je vcelku jedno. Hlavně se ta činnost musí opakovat jako pravidelná stolice. Nebo návštěva tchýně.

    Myslíte si, že jsou blogeři závisláci? Přispějte do komentářů, ať mám nějakou motivaci. Uděláte aspoň dobrý skutek.