Devadesátková hra Brány Skeldalu prošla portací a je dostupná na platformě Steam. Vyšel i parádní blog autora o portaci na moderní systémy a platformy včetně Linuxu.
Lidi dělají divné věci. Například spouští Linux v Excelu. Využít je emulátor RISC-V mini-rv32ima sestavený jako knihovna DLL, která je volaná z makra VBA (Visual Basic for Applications).
Revolut nabídne neomezený mobilní tarif za 12,50 eur (312 Kč). Aktuálně startuje ve Velké Británii a Německu.
Společnost Amazon miliardáře Jeffa Bezose vypustila na oběžnou dráhu první várku družic svého projektu Kuiper, který má z vesmíru poskytovat vysokorychlostní internetové připojení po celém světě a snažit se konkurovat nyní dominantnímu Starlinku nejbohatšího muže planety Elona Muska.
Poslední aktualizací začal model GPT-4o uživatelům příliš podlézat. OpenAI jej tak vrátila k předchozí verzi.
Google Chrome 136 byl prohlášen za stabilní. Nejnovější stabilní verze 136.0.7103.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 8 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
Homebrew (Wikipedie), správce balíčků pro macOS a od verze 2.0.0 také pro Linux, byl vydán ve verzi 4.5.0. Na stránce Homebrew Formulae lze procházet seznamem balíčků. K dispozici jsou také různé statistiky.
Byl vydán Mozilla Firefox 138.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 138 je již k dispozici také na Flathubu a Snapcraftu.
Šestnáctý ročník ne-konference jOpenSpace se koná 3. – 5. října 2025 v Hotelu Antoň v Telči. Pro účast je potřeba vyplnit registrační formulář. Ne-konference neznamená, že se organizátorům nechce připravovat program, ale naopak dává prostor všem pozvaným, aby si program sami složili z toho nejzajímavějšího, čím se v poslední době zabývají nebo co je oslovilo. Obsah, který vytvářejí všichni účastníci, se skládá z desetiminutových
… více »Takže máme tady další stahovací skriptík. Tentokrát videa z oblíbeného(?) facebook.com.
Tak jsem se stal obětí. Je to jako mor, někomu řekneš "ukaž mi ty fotky, kde je máš na Internetu?" a on ti řekne "mám je na facebooku". No co, tak si řeknu, "OK, mrknu tam". No jo, jenže ty fotky (a případně i videa) můžete vidět, jenom když jste registrovaní - to, že musíte být ještě označení jako "přítel" toho dotyčné, už je jenom "třešnička".
No, ale budiž, registrace je rychlá, nechtěji ověřovat moje jméno a údaje, takže samozřejmě fake, a email, kterej používam na spamy.
No, tak jsem si přidal toho člověka, od kterýho jsem to video chtěl, ale ouha, to video nejde jednoduše stáhnout (aspoň jsem žádný tlačítko nebo odkaz nenašel). Prostě zase podělanej flash player, kterej mi navíc řve, že si mám nainstalovat novej flash.
Tak jsem se naprdnul a zatímco jsem upravoval svůj disk na jednom kompu, tak jsem na notebooku na čerstvě nainstalovaným FreeBSD 7.1 (poprvý jsem v něm dělal na skutečnej mašině, dřív jsem zkoušel jenom ve Vmware) prohrabal ty stránky na facebook.com a udělal si tenhle skriptík na stahování videa. Snad to bude fungovat na všechny videa.
Skriptík se přihlásí na facebook.com a ze zadané stránky vytáhne URL a to pak stáhne do aktuálního adresáře.
Tak jsem teď zjistil, že se to dá najít i stáhnout bez tohohle skriptíku. Stačí ve zdrojáku stránky s videem najít text addVariable("video_src" a pak to URL jenom dekódovat (nahradit všechny %XX za znak s hexa kódem XX). Nechápu, že jsem si toho nevšimnul hned na začátku, ale holt skript už je hotovej, tak se hodí pro cmdline stahování třeba na vzdáleným serveru. Login email a heslo se dá zadavát na cmdline parametrama.
Snad to bude fungovat pro všechny videa, já tahal mp4 (uděláno na telefonu) a šlo to. Případný updaty budu dělat jako pro ostatní skripty, pokud bude čas a možnosti a pokud to bude řešitelné bez nějakých větších problémů.
#!/bin/bash function tourl() { if [ $# -gt 0 ];then while [ $# -gt 0 ];do echo "$1" | perl -pe 'chomp;$_=unpack("H*",$_);s/(..)/%$1/g;' shift done else perl -pe 'chomp;$_=unpack("H*",$_);s/(..)/%$1/g;' fi } agent="Mozilla/5.0 (X11; U; Linux i686; cs; rv:1.9.0.5) Gecko/2009010219 Gentoo Minefield/3.0.5" mail="" pass="" if [ $# -lt 1 ];then echo "$0 [ -m EMAIL ] [ -p PASSWORD ] URL ..." else dir="$( mktemp -d /tmp/down-facebook-video.XXXXXX )" i=$# while [ $i -gt 0 ];do a="$1" shift case "$a" in "-m" ) if [ $# -eq 0 ];then echo "error: -m needs value" ; exit ; else mail="$1" ; shift ; fi ;; "-p" ) if [ $# -eq 0 ];then echo "error: -p needs value" ; exit ; else pass="$1" ; shift ; fi ;; * ) set -- "$@" "$a" ;; esac i=$(( $i - 1 )) done while [ -z "$mail" ];do read -p "Your login email address [enter '-' to stop]: " mail done if [ "$mail" != "-" ] ; then while [ -z "$pass" ];do stty -echo ; read -p "Your password [enter '-' to stop]: " pass ; stty echo ; echo done if [ "$pass" != "-" ];then ### facebook access url1="http://www.facebook.com/" wget -nv -O "$dir"/p1 --save-cookies="$dir"/cookies --keep-session-cookies -U "$agent" "$url1" ### read login form data="$( perl -e ' undef $/; $a=<STDIN>; if (($form)=($a=~m,(<form[^>]+name="menubar_login"[^>]*>.*?</form>),si)) { while (($el)=($form=~m,(<input[^>]+type="hidden"[^>]*>),si)) { $form=~s,(<input[^>]+type="hidden"[^>]*>),,si; ($elname)=($el=~/name="([^"]+)"/si); ($elval)=($el=~/value="([^"]*)"/si); $elval=unpack("H*",$elval); $elval=~s/(..)/%$1/g; push @postdata,sprintf("%s=%s",$elname,$elval); } ($url)=($form=~/action="([^"]+)"/si); }; print sprintf("%s|%s",$url,join("&",@postdata)); ' < "$dir"/p1 )" ### login url and POST data url2="${data%%|*}" postdata="${data#*|}&email=$( tourl "$mail" )&pass=$( tourl "$pass" )" if [ -z "$url2" ] || [ -z "$data" ] ; then echo "error: url2 and/or data empty" echo "keep temporary directory $dir" exit 1 else wget -nv --no-check-certificate -O "$dir"/p2 --save-cookies="$dir"/cookies --keep-session-cookies --load-cookies="$dir"/cookies -U "$agent" --referer "$url1" --post-data="$postdata" "$url2" url2="http://www.facebook.com/home.php" while [ $# -gt 0 ];do ### get video URL url3="$1" shift ### download video page wget -nv -O "$dir"/p3 --save-cookies="$dir"/cookies --keep-session-cookies --load-cookies="$dir"/cookies -U "$agent" --referer "$url2" "$url3" ### get video URL urlv="$( perl -e 'undef $/;$a=<STDIN>;print "$url" if (($url)=($a=~m/addVariable\s*\(\s*"video_src"\s*,\s*"([^"]+)"/si)) and $url=~s/%(..)/chr(hex($1))/ge;' < "$dir"/p3 )" if [ -z "$urlv" ];then echo "error: urlv empty" echo "keep temporary directory $dir" exit 1 else ### download video wget -c "$urlv" fi done fi fi fi rm -rf "$dir" fi
Tiskni
Sdílej:
Na podobné "přehrávače" doporučuji program WireShark. Stačí jen odchytit začátek streamu, najít si pakety, které streamu náleží -> Follow TCP Stream a pomocí CTRL+C a CTRL+V si zkopčit adresu. A pokud je to náhodou nějaký chytrý stream, který neustále mění svou adresu a požaduje cookie(no prostě hnus zelený, který si nepřeje být stáhnut. z.B. IMEEM) tak to stačí ve WireSharku odchytit vše -> Uložit jako raw dump -> pomocí hexaeditoru odstřihnout HTTP hlavičky -> mplayerem dumpnout audio/video stopu.
ale exituje tam nějaký video
Kde?
Hehe, tak tohle byl muj prvni pokus, kdyz jsem prave nemohl najit to URL toho videa primo v HTML strankach:) Tak jsem zjistil, ze ty videa se daji tahat volne, aniz by clovek musel byt prihlasen (btw: hehe, neni tohle nahodou security/privacy bug?). Je sice hezky, ze na seznam videi se clovek bez prihlaseni a kamaradstvi nedostane, ale jakmile jednou nekdo zverejni URL primo na video, tak si ho muze stahnout kdokoliv:)
No a kdyz tam to URL je, tak je wireshark zbytecnej. Ale na jiny videa (a prehravace), ktery se nahrajou jenom s nejakym kodem a sami si pak stahnout prislusne URL videa to pomaha, ale opet jenom dokud ten prehravac netaha to video nejakym silenym zpusobem. Uz jsme se setkal s prehravacem, kterej to tahal pres nejakej real nebo wmf stream, proste nebylo to obyc HTTP.
Nastesti bastl ala IMEEM nepouzivam, takze me to tolik netrapi. Ale jinak pres wireshark je to asi jedinej zpusob, jak to z toho dostat.
Ale na jiny videa (a prehravace), ktery se nahrajou jenom s nejakym kodem a sami si pak stahnout prislusne URL videa to pomaha, ale opet jenom dokud ten prehravac netaha to video nejakym silenym zpusobem. Uz jsme se setkal s prehravacem, kterej to tahal pres nejakej real nebo wmf stream, proste nebylo to obyc HTTP.
Pokud by to byl RTSP, tak to také není problém, protože protokol je plně zdokumentován a lze jej mplayerem nebo VLCčkem zachytit. Myslím, že se právě bavíme o Flash Video Streaming Service(z.B. streamy na nova.cz nebo Yahoo Videos) a s těmi už to tak jednoduché není. Prej už se to podařilo reverznout v projektu gnash nebo swfdec, ale nějaký způsob jak to dumpnout jsem ještě neviděl.
Jo, presne, nova.cz ma tyhle hnusny streamy. Ty jsem chtel, protoze ikdyz ma clovek 512kbps a prepne si video na nizsi kvalitu (ktera by mela byt prave tech 512kbps), tak se to stejne cuka (ikdyz jsem ve flashi dal, aby se ukladalo neomezene do cache).
No, ja to myslel tak, ze kdyz treba nekam do dizkuse vlozim odkaz na nejaky fotoalbum, tak se na to nedostane clovek, kterej neni na facebooku a neni pritel. Kdyz tam ale vlozim primy odkazy, tak to je volne pristupny pro kohokoliv (proste komu se to URL dostane do ruky, trebas i omylem nebo treba hacknutim email uctu, tak ma pristup, kdezto kdyz bude odkaz jenom na album, tak pristup automaticky neni). Ted uz zbyva jenom rozlousknout algoritmus tvoreni tech kodovych nazvych a muze se mirrorovat:)
Tak je to zrejme stejny jako u videa. Kdyz chces videt album, tak musis byt prihlasenej (odkaz na album me v jinym firefox profilu presmeroval na login.php). Ale kdyz si zobrazim primo fotku a zkopiruju link a ten pak vlozim do druhyho firefoxu, tak ji v pohode zobrazim. Je to teda asi tak, ze pristup do chranenych oblasti na domene facebook.com je chranena loginem, ale fotky a videa (a kdo vi co jeste) jsou zrejme bez ochrany a primym linkem se na ne clovek dostane bez omezeni. A pak si dejte neco na facebook a verte tomu, ze se k tomu nikdo cizi nedostane.
Dyt jsou jednodussi zpusoby. Staci pres napr interent explorer. Nejdrive si prehrajte video az do konce, pak si najedte na tools/internet options a settings v kolonce browsing history, pak na view files. Tam si jej najdete a zkopirujte nekam k sobe do slozky prejmenujte a muzete koukat. Ja to tak delam a jede to v poho.
JO, pokud je to video, jako video, tak to neni problem:) Jenze spousta webu dneska pouziva ty flash prehravace, ktery prubezne video tahaji a prehravaji z cache, kterou samozrejme po prehrani ihned mazou, nektery (napr. Nova) dokonce pouzivaji normalni stream, takze nejde jednoduse vydolovat URL videa a stahnout treba pomoci wget.
Jinak by to bylo fakt hezky, kdybych si to video mohl pustit, ono to treba i trhane hralo, ale kdyz bych to spustil znovu, tak by to uz jelo z disku bez trhani, ale takhle to bohuzel uz nefunguje. Na druhou stranu musim uznat, ze aspon ty prehravace umi prehrat vic, nez media player z Win Vista. Manzelka se takhle chtela podivat na to video, co jsem z FB vydoloval a bohuzel ji to neslo (MP4 video), tak jsme to musel mplayerem prevest na nejakej DivX nebo Xvid nebo co v avi. Sice to AVI bylo vetsi, ale aspon to slo.
BTW: Nepouzivam Windows ani Internet Explorer:)