abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 19:44 | IT novinky

    Tribunál Soudního dvora Evropské unie dnes zamítl několik žalob, v nichž se americká společnost Apple ohrazovala proti pravidlům fungování velkých technologických společností na unijním trhu. Applu se nelíbilo, že jeho obchod s aplikacemi a operační systém iOS mají podléhat přísnějším povinnostem jen proto, že Brusel firmu považuje za takzvaného gatekeepera, tedy strážce přístupu.

    Ladislav Hagara | Komentářů: 0
    včera 13:11 | IT novinky

    Na WhatsAppu budou postupně v průběhu následujících měsíců zavedena uživatelská jména. Telefonní čísla tak mohou zůstat soukromá. Aktuálně si lze uživatelské jméno rezervovat.

    Ladislav Hagara | Komentářů: 3
    včera 11:11 | IT novinky

    Byl aktualizován TIOBE Index (Wikipedie). Programovací jazyk Rust se poprvé dostal do první desítky tohoto žebříčku popularity programovacích jazyků. Vede Python následovaný C, C++, Java, C#, …

    Ladislav Hagara | Komentářů: 0
    včera 01:55 | Nová verze

    Proton (Wikipedie), tj. fork Wine integrovaný ve Steamu umožňující na Linuxu hrát hry určené pouze pro Windows, byl vydán ve verzi 11.0-1. Přehled novinek se seznamem nově podporovaných her na GitHubu. Aktuální přehled všech podporovaných her na stránkách ProtonDB

    Ladislav Hagara | Komentářů: 0
    7.7. 20:44 | Zajímavý software

    Byly publikovány zdrojové kódy počítačové hry Unturned. Pro nekomerční účely. V plánu je přelicencování pod MIT. Hra Unturned je postavena nad multiplatformním herním enginem Unity.

    Ladislav Hagara | Komentářů: 1
    7.7. 15:55 | IT novinky

    První česká družice navržená a sestavená výhradně studenty se dostala na oběžnou dráhu Země. Družice KOSTKA, kterou vyvinul studentský tým YSpace z Vysokého učení technického v Brně (VUT), dnes odstartovala na palubě rakety Falcon 9 společnosti SpaceX v rámci mise Transporter-17 z kalifornské základny Vandenberg Space Force Base.

    Ladislav Hagara | Komentářů: 0
    7.7. 05:00 | IT novinky

    Po nákresech ovladače Steam Controller a puku společnost Valve na svém GitLabu publikovala projekt Inkterface, tj. podrobný návod (PDF, video v mp4) na sestavení předního panelu s e-papírovým displejem pro Steam Machine pro zobrazování systémových informací. Použity jsou součástky od společnosti Adafruit.

    Ladislav Hagara | Komentářů: 2
    7.7. 04:00 | Bezpečnostní upozornění

    V jádře Linux byla nalezena a v dubnu letošního roku v upstreamu opravena kritická zranitelnost Bad Epoll aneb CVE-2026-46242. Jedná se o zranitelnost typu "race-condition use-after-free", která běžnému uživateli umožňuje získat práva roota. Na distribucích Linuxu i na Androidu. Dokonce i zevnitř sandboxu prohlížeče Chrome. Chyba byla do Linuxu zavedena v dubnu 2023, tj. Linux 6.4.

    Ladislav Hagara | Komentářů: 0
    6.7. 23:22 | Nová verze

    Byla vydána nová verze 10.4 sady aplikací pro SSH komunikaci OpenSSH. Přináší řadu důležitých bezpečnostních oprav, vylepšení funkcí a oprav chyb. Vyzkoušet lze experimentální podporu postkvantového algoritmu mldsa44-ed25519.

    Ladislav Hagara | Komentářů: 0
    6.7. 16:33 | Zajímavý projekt

    Open Printer je otevřená kompaktní tiskárna od Open Tools. Brzy by měla být spuštěna kampaň na její podporu na Crowd Supply. Současně by měly být uvolněny zdrojové kódy. Postavena je na Raspberry Pi Zero W a STM32. Používá inkoustové kazety HP 302.

    Ladislav Hagara | Komentářů: 3
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (8%)
     (2%)
     (17%)
     (31%)
     (4%)
     (6%)
     (2%)
     (16%)
     (25%)
    Celkem 2078 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    down-iskladka, down-suborysk a down-uloziskosk

    11.2.2009 02:45 | Přečteno: 2542× | Stahovaci skripty

    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.

    down-iskladka

    down-suborysk

    down-uloziskosk

    down-iskladka

    #!/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
    

    down-suborysk

    #!/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
    

    down-uloziskosk

    #!/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
    
           

    Hodnocení: 100 %

            špatnédobré        

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

    Komentáře

    Vložit další komentář

    11.2.2009 10:17 kolcon
    Rozbalit Rozbalit vše Re: down-iskladka, down-suborysk a down-uloziskosk

    dobra prace, jen bych z toho udelal jeden skript, kterej by to detekoval podle URL

    11.2.2009 10:23 RoboShim | skóre: 13 | blog: RoboShim
    Rozbalit Rozbalit vše Re: down-iskladka, down-suborysk a down-uloziskosk

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

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.