[HOWTO] Ściąganie z rapidshare bez konta premium (free)

Sekcja dla weteranów którym nie wystarczają standardowe funkcje NAS'a.

[HOWTO] Ściąganie z rapidshare bez konta premium (free)

Postprzez hypnosiss » 17 lut 2009, o 23:57

ŚCIĄGANIE Z RAPIDSHARE BEZ KONTA PREMIUM

Stworzyłem prosty skrypt w pythonie lecz miał on kilka błędów.
Mój znajomy powiedział mi że jest w internecie podobny projekt napisany w bashu wykorzystujący głównie wgeta. Bardzo mnie to zaciekawiło, ponieważ w takiej sytuacji będzie można b. łatwo zaimpletować w Download Station.
Oczywiście info do QNAPa zostało wysłane przez Silasa, lecz zanim dostaniemy pełną decyzje przygotowałem Wam HOWTO wykorzystujący tejże skrypt lecz niestety obsługiwany przez SSH (lub telnet).


Krok po kroku INSTALACJA:

1. Instalujemy OPTWARE z QPKG(znajdującym się w Panelu Administracyjnym) oraz ustawiamy wartośc na Enabled(włączony).
2. Logujemy się na SSH.
3. Tworzymy plik.

Wpisuj kolejno:
Kod: Zaznacz cały
# cd ..
# cd /share/Qdownload


Tworzymy plik rapid.sh:
Kod: Zaznacz cały
# vi rapid.sh

Wciskamy klawisz "i"
Kopiujemy to:
Kod: Zaznacz cały
#!/bin/sh
#
# Download files from Rapidshare using free access (NOT premium accounts).
# Output files downloaded to standard output (one per line).
#
# Dependencies: sed, sleep, expr, wget.
#
# Web: http://code.google.com/p/megaupload-dl/wiki/RapidShare
# Contact: Arnau Sanchez <tokland@gmail.com>.
#
# License: GNU GPL v3.0: http://www.gnu.org/licenses/gpl-3.0-standalone.html
#
set -e

# Echo text to standard error.
#
debug() { echo "$@" >&2; }

# Get first line that matches a regular expression and extract string from it.
#
# $1: POSIX-regexp to filter (get only the first matching line).
# $2: POSIX-regexp to match (use parentheses) on the matched line.
#
parse() { sed -n "/$1/ s/^.*$2.*$/\1/p" | head -n1; }

# Check if a string ($2) matchs a regexp ($1)
#
match() { grep -q "$1" <<< "$2"; }

# Output a rapidshare file download URL given its rapidshare URL
#
# $1: A rapidshare URL
#
get_rapidshare_file_url() {
    URL=$1
    while true; do
        WAIT_URL=$(wget -O - "$URL" | parse '<form' 'action="\(.*\)"')
        test "$WAIT_URL" || { debug "can't get wait-page URL"; return 2; }
        DATA=$(wget -O - --post-data="dl.start=Free" "$WAIT_URL")
        test "$DATA" || { debug "can't get wait URL contents"; return 2; }
        LIMIT=$(echo "$DATA" | parse "try again" "\([[:digit:]]\+\) minutes")
        test -z "$LIMIT" && break
        debug "download limit reached: waiting $LIMIT minutes"
        sleep $((LIMIT*60))
    done
    FILE_URL=$(echo "$DATA" | parse "<form " 'action="\([^\"]*\)"')
    SLEEP=$(echo "$DATA" | parse "^var c=" "c=\([[:digit:]]\+\);")
    test "$FILE_URL" || { debug "can't get file URL"; return 2; }
    debug "URL File: $FILE_URL"
    test "$SLEEP" || { debug "can't get sleep time"; SLEEP=100; }
    debug "Waiting $SLEEP seconds"
    sleep $(($SLEEP + 1))
    echo $FILE_URL   
}

# Guess is item is a rapidshare URL, a generic URL (try bulk download)
# or a file with links
#
process_item() {
    ITEM=$1
    BASEURL="\(http://\)\?\(www\.\)\?rapidshare.com"
    if match "^$BASEURL/" "$ITEM"; then
        # Rapidshare URL
        echo "$ITEM"
    elif match "^\(http://\)" "$ITEM"; then
        # Non-rapidshare URL, extract RS links (highly fallible!) and download
        wget -O - "$ITEM" | tr -d '\r' | grep -o "$BASEURL/[^\"<>]\+" | uniq
    else
        # Assume it's a file and read links (discard comments and empty lines)
        grep -v "^[[:space:]]*\(#\|$\)" -- "$ITEM"
    fi
}

# Don't run main code on testing
#
test "$TESTMODE" = "1" && return

# Main
#
if test $# -eq 0; then
    debug "usage: $(basename $0) URL|FILE [URL|FILE ...]"
    exit 1
fi

for ITEM in "$@"; do
    process_item "$ITEM" | while read URL; do
        debug "start download: $URL"
        FILE_URL=$(get_rapidshare_file_url "$URL") &&
            wget "$FILE_URL" && echo $(basename "$FILE_URL") ||
            debug "could not download: $URL"
    done
done

i wklejmy do konsoli klikajac prawym przyciskiem myszy w konsole(a dokladniej w czarne tlo )
Wciskamy ESC oraz SHIFT + Z,Z.
Czekamy aż skończy wklejanie i potwierdzi że zapisano plik.

4. Nadajemy chmody.
Kod: Zaznacz cały
# chmod 755 rapid.sh


5. Instalujemy screen.
Kod: Zaznacz cały
# ipkg update
# ipkg instal screen



SKRYPT ZAINSTALOWANY !


Zawsze przed użyciem skryptu najlepiej wejść do folderu z nim. A zatem:
Kod: Zaznacz cały
# cd ..
# cd /share/Qdownload


~~ Linki do skryptu można dodawać na trzy sposoby ~~

- wskazując plik z linkami(oddzielonymi enterem). Przykład:
Kod: Zaznacz cały
# ./rapid.sh urls.txt


- podając adress strony www z linkami.
Kod: Zaznacz cały
# ./rapid.sh http://server.com/page-with-rapidshare-links.html


- podajac przy uruchamianiu skryptu linki odzielając spacją
Kod: Zaznacz cały
# ./rapid.sh rapidshare.com/link1 rapidshare.com/link2 rapidshare.com/link3 [...]


Odpalamyna screenie tak:
- Pierwszy raz(tzn jesli nie masz uruchomionego screena). Przykładowo:
Kod: Zaznacz cały
# cd /share/Qdownload
# screen -a
# ./rapid.sh [opcja]


- Jeśli będąc na screenie chcesz wyjść z konsoli i zostawić ściąganie na nocke wciskasz CTRL+A+D

- Jeśli bedziesz chciał wrócic do screena wpisujesz:
Kod: Zaznacz cały
# screen -r


- Jeżeli jesteś na screenie i chcesz otworzyć nowe "okienko" wciskasz CTRL+A+C

- Jeżeli jesteś na screenie i masz wiele otwartych okienek, możesz się przełączać między nimi skrótami CTRL+A+N lub CTRL+A+P.

- Jeżeli będąc na screenu z działającym skryptem i chcesz ten skrypt wyłączyć wciskasz CTRL+C.


Źródła: http://code.google.com/p/megaupload-dl/wiki/RapidShare
Skrypt wykonany przez: Arnau Sanchez. Na licencji GNU GPL v3.0 .
Avatar użytkownika
hypnosiss
Moderator globalny
 
Posty: 337
Dołączył(a): 6 lip 2008, o 22:09
Lokalizacja: Polska, Wrocław
Płeć: Mężczyzna
Model NAS: TS-109
HDD: SAMSUNG HD321KJ(320GB)
Ethernet: 100 Mbps

Re: [HOWTO] Ściąganie z rapidshare bez konta premium (free)

Postprzez hypnosiss » 18 lut 2009, o 11:22

wczoraj pisałem to na szybko, jest pare błędów, już poprawiam :)
Avatar użytkownika
hypnosiss
Moderator globalny
 
Posty: 337
Dołączył(a): 6 lip 2008, o 22:09
Lokalizacja: Polska, Wrocław
Płeć: Mężczyzna
Model NAS: TS-109
HDD: SAMSUNG HD321KJ(320GB)
Ethernet: 100 Mbps

Re: [HOWTO] Ściąganie z rapidshare bez konta premium (free)

Postprzez SiLAS » 18 lut 2009, o 11:25

popraw popraw... bo QNAP bardzo chce zobaczyc Twoja prace...
daj mi znac wiadomoscia na pm...
Commodore 64 (CPU MOS 6510 0,985 MH, GPU VIC II, SFX SID, RAM 64KB, ROM 20KB, Disk drives 1541, datacassete for booting OS)
Mods: External 4-bay FDD Drives
Basic ver. 2.0 (Microsoft) + ARM emulator v0.0 + Hacked QNAP Linux OS distribution.
Avatar użytkownika
SiLAS
Site Admin
 
Posty: 1363
Dołączył(a): 5 kwi 2008, o 15:49
Lokalizacja: Polska, Nowy Sącz
Płeć: Mężczyzna
Model NAS: TS-239 Pro II
Model NMP: NMP-1000
HDD: 5x Seagate SV35 500Gb

Re: [HOWTO] Ściąganie z rapidshare bez konta premium (free)

Postprzez hypnosiss » 18 lut 2009, o 20:22

Avatar użytkownika
hypnosiss
Moderator globalny
 
Posty: 337
Dołączył(a): 6 lip 2008, o 22:09
Lokalizacja: Polska, Wrocław
Płeć: Mężczyzna
Model NAS: TS-109
HDD: SAMSUNG HD321KJ(320GB)
Ethernet: 100 Mbps

Re: [HOWTO] Ściąganie z rapidshare bez konta premium (free)

Postprzez phoenix_me » 16 cze 2009, o 20:16

slimrat :)
phoenix_me
Kadet
 
Posty: 17
Dołączył(a): 28 wrz 2008, o 19:42
Model NAS: TS-109 Pro II
HDD: Seagate 500GB
Ethernet: 1.0 Gbps

Re: [HOWTO] Ściąganie z rapidshare bez konta premium (free)

Postprzez hypnosiss » 9 lip 2009, o 12:52

Owszem, powstała nowa, lepsza alternatywa.
# ipkg install slimrat
można tam nawet ściągać filmiki z youtube i innych serwisów :)
Avatar użytkownika
hypnosiss
Moderator globalny
 
Posty: 337
Dołączył(a): 6 lip 2008, o 22:09
Lokalizacja: Polska, Wrocław
Płeć: Mężczyzna
Model NAS: TS-109
HDD: SAMSUNG HD321KJ(320GB)
Ethernet: 100 Mbps


Powrót do Software - modding oprogramowania

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość