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 »Richard Stallman přednáší ve středu 7. května od 16:30 na Technické univerzitě v Liberci o vlivu technologií na svobodu. Přednáška je určená jak odborné tak laické veřejnosti.
Tak jsem splodil další stahovací skripty, tentokrát to jsou iskladka.cz, ulozisko.sk a subory.sk.
Protože je to převážně výsledek copy&paste z předchozích skriptů a protože už se mi chce spát, tak se k tomu nebudu rozepisovat. Jenom poznámka, ulozisko.sk funguje jenom z ČR nebo SR.
#!/bin/bash if [ $# -eq 0 ];then cat <<EndHelp Usage: $0 URL ... EndHelp else tmpdir="$( mktemp -d )" while [ $# -gt 0 ];do url1="$1" shift output1="$( wget -O - -q --keep-session-cookies --save-cookies="$tmpdir/cookies" "$url1" )" url2="$( dirname "$url1" )/$( echo "$output1" | perl -e ' undef $/; $a=<STDIN>; if ((($url)=($a=~m,<iframe[^>]+src="(iCopy/index.php[^"]+)",is)) and (($path,$param)=($url=~m,^(.*)\?file=(.*)$,i))) { $param=unpack("H*",$param); $param=~s/(..)/%$1/g; print sprintf("%s?file=%s",$path,$param); }; ' )" output2="$( wget -O - -q --keep-session-cookies --save-cookies="$tmpdir/cookies" --load-cookies="$tmpdir/cookies" --referer "$url1" "$url2" )" data3="$( echo "$output2" | perl -e ' undef $/; $a=<STDIN>; ($link)=($a=~m,var\s+downloadCounterLink\s*=\s*[\x27"]([^\x27"]+)[\x27"]\s*;,is); ($counter)=($a=~m,var\s+downloadCounter\s*=\s*(\d+)\s*;,is); if (($url)=($a=~m,^\s+document\.getelementbyid\("downloadstatus"\)\.innerhtml\s*=\s*"\s*<iframe[^>]+src=\x27(http.*/icopy/downloadbalancer[^\x27]+)\x27,im)) { $url=~s,"\+downloadCounterLink\+",$link,is; } $link=~tr/+/ /; $link=~s/%(..)/chr(hex($1))/ge; print sprintf("%s\\%s\\%s",$counter,$link,$url); ' )" url3="${data3##*\\}" delay="${data3%%\\*}" file="${data3%\\*}" file="${file#*\\}" echo "URL: $url3" echo "FILE: $file" if [ -e "$file" ];then echo "SKIP: the file $file exists" else if [ -n "$delay" ];then for i in `seq $delay -1 1`;do echo -en "waiting $delay seconds [ $i ] \r";sleep 1;done;echo;fi if [ -n "$url3" ];then wget -O "$file" -c --load-cookies="$tmpdir/cookies" --referer="$url2" "$url3" else echo "ERROR: no url to download" exit 1 fi fi done rm -rf "$tmpdir" fi
#!/bin/bash console=0 if [ $# -eq 0 ];then cat <<EndHelp Usage: $0 URL ... EndHelp else tmpdir="$( mktemp -d )" while [ $# -gt 0 ];do case "$1" in "-c") console=1 ;; "-x") console=0 ;; * ) url1="$1" shift output1="$( wget -O - -q --keep-session-cookies --save-cookies="$tmpdir/cookies" "$url1" )" data="$( echo "$output1" | perl -e ' undef $/; $a=<STDIN>; ($delay)=($a=~m,^\bcislo\s*=\s*(\d+)\s*;,im); ($form)=($a=~m,(<form[^>]+name=captchaform[^>]*>.*?</form>),is); ($img)=($form=~m,<img[^>]+src="(/captcha3/captcha\.php\?id=[^"]+)"[^>]*>,is); ($url)=($form=~m,<form[^>]+action="([^"]+)",is); print sprintf("%s\\%s\\%s",$delay,$img,$url); ' )" echo "$data" baseurl="${url1%/download/*}" url2="$baseurl${data##*\\}" captchaimg="${data#*\\}" captchaimg="$baseurl${captchaimg%\\*}" wait="${data%%\\*}" echo "URL: $url2" echo "captcha: $captchaimg" echo "wait: $wait" waitstart="$( date +"%s" )" if [ -n "$url2" ] && [ -n "$captchaimg" ];then wget $rate -U "$agent" -nv -O "$tmpdir"/cap.jpg --load-cookies="$tmpdir"/cookies --save-cookies="$tmpdir"/cookies --keep-session-cookies "$captchaimg" if [ -n "$DISPLAY" ];then gqview "$tmpdir"/cap.jpg >/dev/null 2>&1 & pid="$!" ; fi code="" if [ -n "$DISPLAY" ] && [ $console -eq 0 ];then while [ -z "$code" ];do code="$( Xdialog --no-cancel --title 'Megaupload downloader' --screen-center --stdout --inputbox 'Enter the CAPTCHA code' 10 40 )" ; if [ $? -eq 1 ];then code="-";fi;done else while [ -z "$code" ];do read -p 'Code ["-" for stop]: ' code;done fi if [ -n "$DISPLAY" ];then kill "$pid" ; fi if [ "$code" != "-" ];then if [ -n "$wait" ]; then realwait="$(( $( date +"%s" ) - ( $waitstart + $wait ) ))" if [ $( date +"%s" ) -le $(( $waitstart + $wait )) ] ; then while [ $( date +"%s" ) -le $(( $waitstart + $wait )) ];do echo -en "waiting $wait seconds [ $(( $waitstart + $wait - $( date +"%s" ) )) ] \r";sleep 1; done ; echo ; fi fi postdata="submitted=1&str=$code" wget --load-cookies="$tmpdir/cookies" --post-data="$postdata" --referer="$url1" "$url2" fi fi ;; esac done rm -rf "$tmpdir" fi
#!/bin/bash proxiesfile="$HOME/.download-proxies" if ! [ -e "$proxiesfile" ];then echo "Please, create file $proxiesfile" exit fi allproxylist="$( awk -F '|' '{print $2;}' "$proxiesfile" | tr '\n' ' ' )" sshtunnels="$( awk -F '|' '$1~/^.+$/{print " " $1,$2;}' "$proxiesfile" )" sshtunservers="$( awk -F '|' '$1~/^.+$/{print $1;}' "$proxiesfile" | tr '\n' ' ' )" console=0 if [ $# -gt 0 ];then i=$# while [ $i -gt 0 ];do case "$1" in -a) if [ $# -gt 1 ];then id="$[$2+1]" proxylist="$proxylist $( echo "$allproxylist" | tr -s '[[:space:]]' '\n' | sed -n "${id}p" )" i=$[$i-1] shift 2 else echo "value please" exit fi ;; -d) if [ $# -gt 1 ];then id="$[$2+1]" if [ -z "$proxylist" ] ;then proxylist="$allproxylist";fi proxylist="$( echo "$proxylist" | tr -s '[[:space:]]' '\n' | sed "${id}d" )" i=$[$i-1] shift 2 else echo "value please" exit fi ;; -r) if [ $# -gt 1 ];then rate="--limit-rate=$2" i=$[$i-1] shift 2 else echo "value please" exit fi ;; -p) if [ $# -gt 1 ];then proxylist="$2" shift 2 i=$[$i-1] else echo "value please" exit fi ;; -c) console=1 shift ;; -x) console=0 shift ;; *) v="$1" shift 1 set "$@" "$v" ;; esac i=$[$i-1] done if [ -z "$proxylist" ] ;then proxylist="$allproxylist";fi tmpdir="$( mktemp -d )" echo "TMPDIR: $tmpdir" while [ $# -gt 0 ];do echo "Downloading URL $1" for proxy in $proxylist ;do if [ "$proxy" = "NONE" ];then unset http_proxy else export http_proxy="$proxy" fi echo "HTTP PROXY: $http_proxy" url1="$1" output1="$( wget -O - -q --keep-session-cookies --save-cookies="$tmpdir/cookies" "$url1" )" data="$( echo "$output1" | perl -e ' undef $/; $a=<STDIN>; ($form)=($a=~m,(<form[^>]+name\s*=\s*"formular"[^>]*>.*?</form>),is); ($delay)=($form=~m,function\s+set\s*\(\s*\)\s*\{\s*cas_\d+\s*=\s*(\d+)\s*;\s*\},is); ($img)=($form=~m,<img[^>]+src="(/obrazky/obrazky\.php\?[^"]+)"[^>]*>,is); ($url)=($form=~m,<form[^>]+action\s*=\s*"([^"]+)",is); while (($hidden)=($form=~m,(<input[^>]+type\s*=\s*"hidden"[^>]*>),is)) { $form=~s,(<input[^>]+type\s*=\s*"hidden"[^>]*>),,is; ($name)=($hidden=~m,name\s*=\s*"([^"]+)",is); ($val)=($hidden=~m,value\s*=\s*"([^"]+)",is); $file=$val if ($name eq "name"); $val=unpack("H*",$val); $val=~s/(..)/%$1/g; push @hidden,sprintf("%s=%s",$name,$val); } print sprintf("%s\n%s\n%s\n%s\n%s",$delay,$img,$url,join("&",@hidden),$file); ' )" baseurl="http://www.ulozisko.sk" wait="$( echo "$data" | sed -n -e '1p;' )" captchaimg="$( echo "$data" | sed -n -e '2p;' )" url2="$( echo "$data" | sed -n -e '3p;' )" postdata="$( echo "$data" | sed -n -e '4p;' )" filename="$( echo "$data" | sed -n -e '5p;' )" echo "URL: $baseurl$url2" echo "captcha: $baseurl$captchaimg" echo "wait: $wait" waitstart="$( date +"%s" )" if [ -n "$url2" ] && [ -n "$captchaimg" ];then url2="$baseurl$url2" captchaimg="$baseurl$captchaimg" wget $rate -U "$agent" -nv -O "$tmpdir"/cap.png --load-cookies="$tmpdir"/cookies --save-cookies="$tmpdir"/cookies --keep-session-cookies "$captchaimg" if [ -n "$DISPLAY" ];then gqview "$tmpdir"/cap.png >/dev/null 2>&1 & pid="$!" ; fi code="" if [ -n "$DISPLAY" ] && [ $console -eq 0 ];then while [ -z "$code" ];do code="$( Xdialog --no-cancel --title 'Ulozisko.Sk downloader' --screen-center --stdout --inputbox 'Enter the CAPTCHA code' 10 40 )" ; if [ $? -eq 1 ];then code="-";fi;done else while [ -z "$code" ];do read -p 'Code ["-" for stop]: ' code;done fi if [ -n "$DISPLAY" ];then kill "$pid" ; fi if [ "$code" != "-" ];then if [ -n "$wait" ]; then realwait="$(( $( date +"%s" ) - ( $waitstart + $wait ) ))" if [ $( date +"%s" ) -le $(( $waitstart + $wait )) ] ; then while [ $( date +"%s" ) -le $(( $waitstart + $wait )) ];do echo -en "waiting $wait seconds [ $(( $waitstart + $wait - $( date +"%s" ) )) ] \r";sleep 1; done ; echo ; fi fi postdata="$postdata&antispam=$code" wget -c --load-cookies="$tmpdir/cookies" --post-data="$postdata" --referer="$url1" "$url2" fi fi done shift done rm -rf "$tmpdir" else cat <<EndOfInfo ssh tunnels: $sshtunnels proxy list: $( echo "$allproxylist" | tr -s '[[:space:]]' '\n' | nl -v0 -w4 -s' -- ' ) $sshtunservers Usage: $0 [ -a proxynum ] [ -d proxynum ] [ -r rate-limit ] [ -p proxyurl ] [ { -c | -x } ] URL ... -a proxynum add proxy at line proxynum -d proxynum delete proxy at line proxynum in ACTUAL proxy list -r rate-limit limit wget download rate -p proxyurl insert proxy specified by proxyurl -c use console to enter captcha code -x use X dialog to enter captcha code (this is default) URL URL to download EndOfInfo fi
Tiskni
Sdílej:
dobra prace, jen bych z toho udelal jeden skript, kterej by to detekoval podle URL
jojo, uz jsme o tom u jednoho blogu premyslel, ze bych to trosku sjednotil do jednoho skriptu, udelal funkce a detekoval URL. Ale nevim, jestli by to nebylo zbytecne prace. Uz i takhle by se to dalo hodne optimalizovat. Ale nechci u toho travit vsechen cas, uz takhle to sezere nejakej ten cas zjistovani, ze ktery stranky na kterou stranku, ktery udaje vytahnout a pak pripadny upravy, kdyz neco zmeni. Takze nevim, mozna kdyz se budu nudit, ze z toho jeden skript udelam (je zase pravda, ze by se pak neopakoval kod na zobrazeni capcha a zadani hesla a pod). No, uvidime ...