Portál AbcLinuxu, 4. května 2025 12:36
Protože mě už nebavilo pokaždé, když chci z czshare.com něco stáhnout otevřít odkaz, kliknout na profi download, vybrat soubor a dát stahovat, napsal jsem si BASHový skript, který mi to krásně usnadní.
Použití je jednoduché: ./skript.sh czshare login czshare heslo cílový adresář
DŮLEŽITÉ: SKRIPT STÁHNE CELÝ OBSAH FRONTY V PROFI SEKCI! A frontu po sobě nevymaže!
Samozřejmě tento skript používáte na vlastní riziko, já (autor) za nic neručím
Poznámka: je možné, že jsem něco zapomněl prřevést na HTML entitu, takže když to nebude fungovat, ozvěte se :)
#!/bin/bash echo "czshare.com profi linux downloader. (c) Mrkva" if [ $# -lt 3 ]; then echo "Pouziti: $0 [czshare login] [czshare heslo] [cilovy adresar]" exit 1 fi login=$1 password=$2 destdir=$3 function cleanup { if [ -e /tmp/czsharedown ]; then rm -r /tmp/czsharedown fi } function errmsg { cleanup echo $1 exit 1 } cleanup mkdir /tmp/czsharedown wget -q --keep-session-cookies --post-data "step=1&jmeno=${login}&heslo=${password}&prihlasit=Prihlasit" http://czshare.com/prihlasit.php \ --save-cookies /tmp/czsharedown/cookies -O -|grep '<br /><br /><br /><span class="nadpis">Profi sekce</span><br /><br /><br />'> /dev/null \ || errmsg "Prihlaseni selhalo!" echo "Nyni nakopirujte vase odkazy" echo "Upozorneni: budou stazeny VSECHNY soubory, ktere mate ve fronte na profi uctu!" while read line; do ID=`echo $line|egrep "id=[0-9]*" -o|egrep "[0-9]*" -o` || errmsg "Doslo k chybe pri ukladani souboru do fronty" wget -q --load-cookies /tmp/czsharedown/cookies -O - --post-data "id=${ID}" http://czshare.com/profi/profi_down.php > /dev/null \ || errmsg "Doslo k chybe pri ukladani souboru do fronty" done echo "Odkazy pridany do fronty, stahuji frontu" wget -q --load-cookies /tmp/czsharedown/cookies http://czshare.com/profi/index.php -O - | \ egrep -o "http\:\/\/www[0-9]{0,1}\.czshare\.com/[0-9]*/[a-zA-Z0-9_]*/[a-zA-Z0-9_]*/" > /tmp/czsharedown/linky \ || errmsg "Doslo k chybe pri stahovani fronty" echo "Stahuji soubory" while read line; do SERVER=`echo $line|awk -F '/' '{print $3}'` ID=`echo $line|awk -F '/' '{print $4}'` KOD=`echo $line|awk -F '/' '{print $5'}` ACP=`echo $line|awk -F '/' '{print $6'}` wget --load-cookies /tmp/czsharedown/cookies --content-disposition -P $destdir --referer="$line" \ "${SERVER}/profi.php?id=${ID}&kod=${KOD}&acp=${ACP}" || echo "Soubor nemohl byt stazen!" done < /tmp/czsharedown/linky cleanup exit 0
Tiskni
Sdílej:
wget
umí něco jako --load-cookies
.. Já obvykle podobné věci lepím v pythonu pomocí urllib
, ale ta docela dost saje- věci jako redirecty nebo zpracování Set-Cookie headerů se na to musejí nabalovat ručně. Sice je to jen cca 20 řádků kódu navíc, ale přesto mě to vždycky štve.
Nějak mi to nefunguje (nebo nechápu, jak to má fungovat)... Myslel jsem si, že stačí mít ty soubory ve frontě na CZshare a program je najde a spustí, ale zřejmě se musí jednotlivé odkazy vkládat přímo do konzole, což mi taky nefunguje. Snažím se tam vložit jak "normální" odkaz, tak i ten, co vede z fronty. Pokaždé mi to napíše, že došlo k chybě při vkládání do fronty...
CZShare asi neco zmenil, takze tento script nefunguje, bohuzel :) Mozna ho autor opravi, ale pokud ne, tak tady je funkcni - http://withoutnick.cz/articles/view/czshare-linux-downloader
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.