0xcafebabe -- per aspera ad astra

Dokument pobrany z: http://www.anadoxin.org/blog/node/36

Rapidshare leeching
Tagi:  •    •    •  

Tematem tego posta jest automatyczny downloader do jednej z najbardziej popularnych usług -- Rapidshare. Do czego służy ten serwis nie trzeba chyba nikomu tłumaczyć; w połączeniu z różnymi innymi stronami, Rapidshare często wypada bardzo przydatnie. Problemem jest tylko samo korzystanie z RS; serwis ten charakteryzuje się wysokim stopniem interaktywności strony, co pejoratywnie wpływa na jego użyteczność -- nie chcemy przecież oglądać samego Rapidshare, chcemy oglądać to, co Rapidshare ma :).

Ciężko jest nie zauważyć ciągłego rozwoju Internetu, szczególnie, jeśli spędza się przed nim dużą część każdego dnia. Powstaje coraz to więcej nowych usług, na których ludzie zarabiają spore ilości pieniędzy. Czasami zdarza się tak, że to zarabianie polega na umieszczaniu różnego rodzaju reklam na stronach usług, kosztem cierpliwości oraz i tak już zszarganych nerwów użytkowników. Dodatkowo sprawę utrudniają różne rytuały które często trzeba wykonać przed skorzystaniem z samej usługi, typu kliknij tu, kliknij tam, pierdnij, oraz zamknij lewe oko klikając na link DOWNLOAD. Dobrze byłoby nauczyć się z tym walczyć, aby zaoszczędzić nie tylko na czasie, ale też i nerwach, a oprócz tego zyskać czas na kolejnych próbach korzystania z w/w usług :)

Jedna uwaga do narzędzia: sprawdzanie opóźnienia między kliknięciem przycisku Free i przycisku Download mierzone jest na serwerze, więc nasz klient i tak musi odczekać dwie minuty, zanim wyśle odpowiedź z captchą. Niestety, nie da się tego ominąć inaczej niż być może korzystając z serwerów proxy, a może innym sposobem, jednak dwie minuty to jeszcze nie jest żaden problem, szczególnie, jeśli nie jest wymagana żadna interakcja po upływie tego czasu. To, co jednak przeszkadza, to limit ściągania Rapidshare, czyli czekanie tylu minut ile megabajtów zostało ściągniętych. Niestety, nie można mieć wszystkiego...

Użycie:

  1. java -cp bin org.anadoxin.rapidget.Main [URLrapidshare]
Przykładowo:
  1. $ java -cp bin org.anadoxin.rapidget.Main hxxp://rapidshare.com/files/73808205/BlcksunRse_07_Englf_Th_Wrld_In_Fozn_Flms_melodeath.org.rar
(hxxp oczywiście zmień na http).

Jako, że obraz jest wart 1000 słów, zamieszczam też screenshota:

Wersja leechera Data captchy Przykład
1.0przed 21 stycznia 2008
1.01 *po 21 stycznia 2008
n/akwiecień 2008

Uwaga! Serwer na którym stoi ta strona niestety nie wysyła poprawnych nagłówków przeglądarkom które starają się pobierać plik z rozszerzeniem .bz2, skutkiem czego plik binarny otwiera się bezpośrednio w oknie przeglądarki. Aby temu zapobiec kliknij na link PPM i wybierz Zapisz jako.

*) Aby uruchomić tą wersję, przejdź do katalogu bin i uruchom java org.anadoxin.rapidget.Main. W pliku readme.txt jest przykład użycia. Na linuksach przed uruchomieniem należy też przegrać plik rapidget.conf do katalogu /etc (zmień też ścieżkę w tym pliku według swojego środowiska). Pomoże to w instalacji rapidget'a w systemie :). Na systemach Windowsowych rapidget.conf powinien być w katalogu z programem (czyli katalogiem org).

EDIT: Niestety, RS wycwanił się tak bardzo, że stworzył captchę przekraczającą moje możliwości złamania jej, ponadto nie planuję nauki technik łamania captchy, więc projekt można uznać za martwy. Tough luck...

dobra robota, mam jedynie watpliwosci do tych cholernych kodow obrazkowych, czy czasem rapidshare nie dodaje co jakis czas nowych czcionek (takie odnioslem wrazenie)? ps. przy sciaganiu zrodel nie sa wysylane dobre headery do przegladarki
Czy zmieniają co jakiś czas czcionki, tego nie wiem. Pamiętam, że kiedyś rzeczywiście captcha była całkowicie inna (choć nadal oceniana dość nisko), teraz jest taka jaka jest, jeśli w przyszłości się zmieni na lepszą - trudno ;). Co do headerów - wiem, ponadto, sam to napisałem w akapicie pod linkiem do źródeł ;).
Kolejna wersja powinna posiadać rozpoznawanie znaków na sieci neuronowej, zamiast bruteforce'a obrazkowego ;-) Może również restartować połączenie (w przypadku linuxa), lub restartować komputer (w przypadku windows) :-)
--Edit Rapidget okazuje się niezwykle przydatnym narzędziem. W systemach *nixowych nie ma problemu z podłączeniem skryptu pod Rapidgeta, ale w Windows może to sprawiać kłopoty. Poniżej sposób na Rapidget i Neostradę. Ze złączenia tych dwóch nazw powstaje AutoRapidget, do którego konta Premium nie mogą podskoczyć ;)
Tworzymy 3 pliki o rozszerzeniu .bat. Można je nazwać: reconnect.bat, download.bat, rapidget.bat. Zawartość plików po kolei:
  1. @echo off
  2. rasdial neostrada /disconnect
  3. ping -n 5 127.0.0.1 >null
  4. rasdial neostrada xxx[at]neostrada.pl haslo
Nazwa połączenia dial-up z neostradą w powyższym przykładzie to 'neostrada', jak się można domyśleć :> Kolejny skrypt, download.bat:
  1. java org.anadoxin.rapidget.Main %1
  2. reconnect
Trzeci, ostatni skrypt - rapidget.bat:
  1. for /f %%i in (linki.txt) do download %%i
Pliki skryptów i plik z linkami znajdują sie w katalogu, z którego uruchamiamy program - w przypadku ostatniej wersji jest to katalogo ../bin. Jak to działa? Uruchomienie następuje poprzez rapidget.bat. Wczytywany jest pierwszy link z pliku linki.txt - każdy link musi znajdować się w oddzielnej linii. Następuje pobranie pierwszego pliku i restart połączenia. Pobieranie trwa aż do ostatniego linku w pliku z linkami. Proste i niezwykle skuteczne ;) Gratz a1.
Tego projektu nie ma sensu kontynuować, ale są inne - jdownloader.org :)