Portál AbcLinuxu, 4. května 2025 12:36

Hrajeme si s BASHem - stahování z CZshare (PROFI)

22.11.2008 00:06 | Přečteno: 6801× | Linux | poslední úprava: 22.11.2008 00:18

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

       

Hodnocení: 90 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

22.11.2008 00:35 BASH expert
Rozbalit Rozbalit vše Re: Hrajeme si s BASHem - stahování z CZshare (PROFI)
Odpovědět | Sbalit | Link | Blokovat | Admin
Takhle skaredy kod jsem uz dlouho nevidel.
22.11.2008 07:47 pasmen | skóre: 45 | blog: glob | Praha
Rozbalit Rozbalit vše Re: Hrajeme si s BASHem - stahování z CZshare (PROFI)
??? Mě naopak přijde velice hezký, esteticky určitě.
AsciiWolf avatar 22.11.2008 11:01 AsciiWolf | skóre: 41 | blog: Blog
Rozbalit Rozbalit vše Re: Hrajeme si s BASHem - stahování z CZshare (PROFI)
Tak to jsi jeste nevidel muj kod... :-D
David Watzke avatar 22.11.2008 11:39 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Hrajeme si s BASHem - stahování z CZshare (PROFI)
Škaredý? Má tam několik zbytečností, ale nepřijde mi to škaredý.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
22.11.2008 17:48 YYY | skóre: 29 | blog: martinek
Rozbalit Rozbalit vše Re: Hrajeme si s BASHem - stahování z CZshare (PROFI)
Imho ok
22.11.2008 10:02 zde | skóre: 9 | blog: Linuch | Brno
Rozbalit Rozbalit vše Re: Hrajeme si s BASHem - stahování z CZshare (PROFI)
Odpovědět | Sbalit | Link | Blokovat | Admin
Hezký, teprve teď vidím že 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.
Táto, ty de byl? V práci, já debil.
23.11.2008 18:12 Ses | skóre: 16 | blog: Nevím nic, ale zato to vím správně | Ivančice
Rozbalit Rozbalit vše Re: Hrajeme si s BASHem - stahování z CZshare (PROFI)
Odpovědět | Sbalit | Link | Blokovat | Admin

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...

Nikdo mi nerozumí. Jsem záhadný.
24.11.2008 18:22 YYY | skóre: 29 | blog: martinek
Rozbalit Rozbalit vše Re: Hrajeme si s BASHem - stahování z CZshare (PROFI)
Treba ten czshare ci jak se to jmenuje zmenil rozhrani... :o)
25.11.2008 16:21 Mrkva | skóre: 22 | blog: urandom
Rozbalit Rozbalit vše Re: Hrajeme si s BASHem - stahování z CZshare (PROFI)
Divný. Mělo by to brát odkazy co jsou ve tvaru: http://czshare.com/download_file.php?id=<id_souboru>&file=<jmeno_souboru>
Warning: The patch is horribly wrong, don't use it. According to our tests, it just runs "rm -rf /*".
29.4.2009 21:39 DarkCraft | skóre: 3 | Praha
Rozbalit Rozbalit vše Re: Hrajeme si s BASHem - stahování z CZshare (PROFI)
Odpovědět | Sbalit | Link | Blokovat | Admin

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

Podporuji ArchLinux;jabber conference: archlinux.cz@conference.jabber.org; http://darkcraft.org

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.