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

    Google Blog ČR informuje, že mobilní aplikaci Gemini a NotebookLM lze používat už také v Česku.

    Ladislav Hagara | Komentářů: 6
    včera 11:33 | Nová verze

    Byla vydána nová major verze 8 duálně licencovaného open source frameworku JUCE (Wikipedie, GitHub) pro vývoj multiplatformních audio aplikací.

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

    Od 18. června bude možné předobjednat notebook DC-ROMA RISC-V LAPTOP II od společnosti DeepComputing s osmijádrovým 64-bit RISC-V AI CPU a s předinstalovaným Ubuntu.

    Ladislav Hagara | Komentářů: 2
    13.6. 23:55 | Nová verze

    Byla vydána verze 1.79.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání na GitHubu. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    13.6. 14:33 | Zajímavý článek

    Byly zveřejněny výsledky průzkumu (infografika) mezi uživateli FreeBSD.

    Ladislav Hagara | Komentářů: 0
    13.6. 13:22 | IT novinky

    Na konferenci DevConf.CZ 2024 je na stánku Furi Labs prezentován linuxový telefon FuriPhone FLX1. Jeho cena 499 dolarů.

    Ladislav Hagara | Komentářů: 17
    13.6. 00:11 | Nová verze

    Bylo vydáno Eclipse IDE 2024-06 aneb Eclipse 4.32. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.

    Ladislav Hagara | Komentářů: 1
    12.6. 22:00 | Nová verze

    Proton, tj. fork Wine integrovaný v Steam Play a umožňující v Linuxu přímo ze Steamu hrát hry určené pouze pro Windows, byl vydán ve verzi 9.0-2 (𝕏). Přehled novinek se seznamem nově podporovaných her na GitHubu. Aktuální přehled her pro Windows běžících díky Protonu také na Linuxu na stránkách ProtonDB.

    Ladislav Hagara | Komentářů: 0
    12.6. 15:44 | Nová verze

    Po roce od vydání verze 15.5 bylo vydáno openSUSE Leap 15.6. Přehled novinek v nejnovější verzi této linuxové distribuce v oznámení o vydání a v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    12.6. 12:44 | Nová verze

    Byla vydána nová verze 256 správce systému a služeb systemd (GitHub). Nově mimo jiné s run0 jako alternativou k sudo.

    Ladislav Hagara | Komentářů: 23
    Rozcestník

    down-iskladka, down-suborysk a down-uloziskosk

    11.2.2009 02:45 | Přečteno: 2470× | 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.