Byla vydána beta verze openSUSE Leap 16. Ve výchozím nastavení s novým instalátorem Agama.
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 »Tento skript umí stahovat soubory ze serverů rapidshare (.de, .com). Využívá pouze základní nástroje a měl by tak fungovat všude (no dobře, na mikrovlnce mi to nefungovalo, na Asus WL500g taky ne, ale stačí oprava na jeden řádek). Umí ověřit základní chybové stavy (soubor už na serveru není, soubor na serveru sice je, ale server ho ještě nedovolí stáhnout). Od takto jednoduchého skriptu se nedá čekat, že by uměl lámat captcha, takže se zeptá uživatele, zbytek dělá sám.
Skript využijete, pokud potřebujete stahovat něco na počítač, ke kterému nemáte momentálně fyzický přístup. Na tomto počítači vůbec nemusí být v provozu grafika, protože si captcha obrázek můžete prohlédnout z jiného počítače. Typické využití asi bude: sedím ve škole/práci a počítač doma sosá.
Stahování probíhá tak, že člověk někde získá odkaz, zadá do prohlížeče a dostane se tak na úvodní (první) stránku (kde se vybírá Premium nebo Free). Když klikne na Free, dostane se na druhou stránku, kde je captcha. Po napsání správného kódu se soubor začne stahovat.
Servery jsou proti botům chráněny pomocí captcha. Obrázek se stahuje protokolem https. (může někdo vysvětlit, proč nestačí http?)
Obě varianty rapidshare se trošku liší v uživatelském rozhraní. Na modifikaci .com se server (zrcadlo, mirror), odkud se má stahovat, nastavuje už ve formuláři na úvodní stránce , kdežto na .de se to řeší až na druhé stránce (tam, kde je captcha). V obou modifikacích se dá server (zrcadlo) změnit na druhé stránce.
Modifikace .de nutí uživatele čekat nějakou dobu, než se zobrazí captcha. Je to spojené s ošklivě vypadajícím javascriptem (unescape a změť znaků, z nichž třetina je %). Existují návody, jak toto obejít, ale zdá se, že už nefungují, aspoň na mě vždy vybafla hláška psaná nejspíš německy. Modifikace .com čekací dobu nepoužívá a zobrazí captcha hned.
Smysl pro humor: když si zkopírujete adresu obrázku captcha a později si ho necháte zobrazit v prohlížeči, přečtete na něm "LOL".
Fair Play: když si necháte zobrazit captcha obrázek několikrát po sobě bez načtení celé stránky, bude na obrázku nápis, že jste bot a server se s vámi nebude bavit. Když načtete celou stránku znova, je všechno v pořádku, žádný IP ban se nekoná.
Zdá se, že captcha na rapidshare je case insensitive. Navíc možná umožňuje záměnu nuly a písmene 'O', protože se mi ještě nikdy nestalo, že bych napsal kód špatně, i když v něm bylo něco kulatého.
- #!/bin/sh
- #usage: $0 <url>
- #tested on rapidshare.de and rapidshare.com
- #user settings
- url=$1
- directory=~/tmp/rs
- captchaimage=$directory/captcha.png
- tmpfile=$directory/wgettmp
- #other settings
- wget=/usr/bin/wget
- #auxiliary functions
- countdown(){
- echo Countdown
- x=$1
- until [ $x -le 0 ]; do
- echo -e -n "\\r$x "
- x=$(($x - 1))
- sleep 1
- done
- }
- #============================================================
- #The first page
- $wget -O $tmpfile $url
- present=`grep "You want to" $tmpfile | wc -l `
- if [ $present -ge 0 ]
- then
- echo "The file is present"
- else
- echo "The file is not present, exitting"
- exit 1 #the file is not available
- fi
- #============================================================
- #The second page (with captcha)
- action=`grep "action=" $tmpfile | sed -e 's/.*action="\([^"]*\)".*/\1/'`
- uri=`grep 'name="uri"' $tmpfile | sed -e 's/.*name="uri" value="\([^"]*\)".*/\1/'`
- if [ x$uri != x ]
- then
- postData="uri=$uri&dl.start=Free" # rapidshare.de
- server="de"
- else
- postData="dl.start=Free" # rapidshare.com
- server="com"
- fi
- echo Debug information: ----------------
- echo Action is $action
- echo Post Data are $postData
- echo Server is $server
- echo -----------------------------------
- #The second page is downloaded here
- $wget --post-data="$postData" -O $tmpfile $action
- echo Second page downloaded ------------
- if [ $server = "de" ]
- then
- #the "hidden" form with needed information)
- encoded=`grep unescape $tmpfile| sed "s/.*unescape('\(.*\)'.*/\1/"`
- if [ x$encoded = x ]
- then
- minutes=`grep "Or wait" $tmpfile | sed -e "s/.*Or wait\(.*\)minutes.*/\1/"`
- echo Cannot download file yet, wait $minutes minutes
- exit 2
- fi
- wait=`grep "var c =" $tmpfile | sed -e "s/.*var c =\([^;]*\);.*/\1/"`
- #some not fully understood hack, it does not work everywhere
- #http://www.j-pfennig.de/LinuxImHaus/kde_cgi_tutorial.html
- # uencoded=`printf "${encoded//\%/\x}"`
- substitued=`echo $encoded | sed 's/%/\\\\x/g'`
- uencoded=`printf $substitued`
- imagename=`echo $uencoded | sed -e 's/.*<;img src="\([^"]*\)">.*/\1/'`
- action=`echo $uencoded | sed -e 's/.*action="\([^"]*\)".*/\1/'`
- echo Debug information: ----------------
- echo Imagename is $imagename
- echo Action is $action
- echo Wait $wait
- echo -----------------------------------
- #rapidshare.de forces you to wait some time and it seem that
- #it really checks the time interval
- countdown $wait
- else #rapidshare.com
- action=`grep '<;form name="dl" action="' $tmpfile | sed -e 's/.*<;form name="dl" action="\([^"]*\)".*/\1/'`
- if [ x$action = x ]
- then
- minutes=`grep "Or wait" $tmpfile | sed -e "s/.*Or wait\(.*\)minutes.*/\1/"`
- echo Cannot download file yet, wait $minutes minutes
- exit 3
- fi
- imagename=`grep "Please enter" $tmpfile | sed -e 's/.*<;img src="\([^"]*\)".*/\1/'`
- fi
- echo Debug information: ----------------
- echo Imagename is $imagename
- echo Action is $action
- echo -----------------------------------
- #When the download form is displayed
- $wget -O $captchaimage "$imagename"
- #you will probably want to change the following line
- display $captchaimage &
- echo -----------------------------------
- echo ------ Enter Captcha ------------
- echo -----------------------------------
- echo -n "Enter captcha from the image: "
- read captcha
- if [ $server = "de" ]
- then
- postData="actionstring=Download&captcha=$captcha"
- else
- postData="actionstring=Download&accesscode=$captcha"
- fi
- echo Debug information: ----------------
- echo Post Data are $postData
- echo Action is $action
- echo Calling $wget:
- echo $wget --directory-prefix $directory --post-data="$postData" $action
- echo -----------------------------------
- #get the file
- $wget --directory-prefix $directory --post-data="$postData" $action
- echo Finished
chybí příkaz 'wc', takže řádek 26 se musí upravit. Jako varování uvedu, že následující oprava nefunguje:
Program wget (vlastně busybox), který je v Olegově firmware, neumí '--post-data'. Je tedy potřeba použít plnou verzi wget [2]. Stačí rozbalit binárku kamkoliv na disk (binárka má přes 2MB, takže se asi musí dát na externí disk připojený přes USB) a na řádku 10 si nastavte správnou cestu. Nezapomeňte nastavit práva na spuštění.
Tiskni
Sdílej:
#!/bin/bash countDown() { i=26 while ((--i >= 0)); do echo -n "$i" sleep 1 tput el1 tput cub 3 done } if [ $# != 1 ]; then echo -e "\nUsage:\n\t$0 URL\n" exit 1 fi UA="Opera/9.12 (X11; Linux i686; U; en)" OUTPUT=~/Desktop/"$(basename $1 | sed -r 's/_[^_]+$//' | sed -r 's/-([^-]+)$/\1/')" DOWNLOAD="$(echo $1 | sed s/stahni/stahnout/)" echo -n Getting SID... SID="$( curl -I --user-agent "$UA" "$1" 2>/dev/null | grep -Po '(?<=SID=)[^;]+' )" if [ -z "$SID" ]; then echo " :(" exit 1 fi echo " done: $SID" countDown curl --user-agent "$UA" \ --output "$OUTPUT" \ --cookie SID="$SID" \ --referer "$1" \ "$DOWNLOAD"
wget -c -i links.txt --http-user=USERNAME --http-password=PASSWORD
[maros@wl-500gp root]$ wc -h wc: illegal option -- h BusyBox v1.1.3 (2007.01.01-14:37+0000) multi-call binary Usage: wc [OPTION]... [FILE]...A nainstalovat plnohodnotný wget taky není žádný problém:
#ipkg install wget-sslAktuální verze je 1.10.2-3. To je myslím dost nové
Mam BusyBox v1.1.3 (2006.06.29-17:07+0000), to je trosku starsi. Myslim, ze verze firmwaru ma na konci 7f, v dobe, kdy jsem to instaloval, byla posledni stable.
Tu anabazi s wget tam mam proto, ze to bude fungovat i bez ipkg (staci jedna binarka). Je pravda, ze potom nemas ani screen a nemohl by ses jenom pripojit, pustit stahovani a zase se odpojit. Samozrejme, ze ipkg je mocny nastroj a uz se chystam zprovoznit nahravani z internetovych radii pomoci streamripper (skript mam, jenom vyzkousim, jestli funguje).
[maros@wl-500gp root]$ type wget wget is a tracked alias for /opt/bin/wget [maros@wl-500gp root]$ ipkg files wget-ssl Package wget-ssl (1.11.4-1) is installed on /opt/ and has the following files: /opt/bin/wget /opt/man/man1/wget.1 /opt/etc/wgetrc Successfully terminated. [maros@wl-500gp root]$ wget --version GNU Wget 1.11.4 Copyright (C) 2008 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://www.gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Originally written by Hrvoje Niksic . Currently maintained by Micah Cowan . [maros@wl-500gp root]$