Guest User

Untitled

a guest
Dec 12th, 2013
44
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 2.71 KB | None | 0 0
  1. use 5.010;
  2. use strict;
  3. use warnings;
  4. use autodie;
  5. use LWP;
  6. use YobaCoro;
  7. my $url = "http://uchan.to/b/wakaba.pl";
  8. my $referer = "http://uchan.to/b/";
  9. my $proxylist = "10.txt";
  10. my $timeout = 1;
  11. my $max_errors = 0;
  12. my @agents = (
  13. 'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36',
  14. 'Mozilla/5.0 (Windows NT 6.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36',
  15. 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36',
  16. 'Mozilla/5.0 (Windows NT 6.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36',
  17. 'Mozilla/5.0 (Windows NT 6.3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36',
  18. 'Mozilla/5.0 (Windows NT 5.1; rv:26.0) Gecko/20100101 Firefox/26.0',
  19. 'Mozilla/5.0 (Windows NT 6.0; rv:26.0) Gecko/20100101 Firefox/26.0',
  20. 'Mozilla/5.0 (Windows NT 6.1; rv:26.0) Gecko/20100101 Firefox/26.0',
  21. 'Mozilla/5.0 (Windows NT 6.2; rv:26.0) Gecko/20100101 Firefox/26.0',
  22. 'Mozilla/5.0 (Windows NT 6.3; rv:26.0) Gecko/20100101 Firefox/26.0',
  23. 'Opera/9.80 (Windows NT 5.1) Presto/2.12.388 Version/12.16',
  24. 'Opera/9.80 (Windows NT 6.0) Presto/2.12.388 Version/12.16',
  25. 'Opera/9.80 (Windows NT 6.1) Presto/2.12.388 Version/12.16',
  26. 'Opera/9.80 (Windows NT 6.2) Presto/2.12.388 Version/12.16',
  27. 'Opera/9.80 (Windows NT 6.3) Presto/2.12.388 Version/12.16');
  28. sub read_file($)
  29. {
  30. my($fname) = @_;
  31. open my $fh, "<", $fname;
  32. read $fh, my $data, -s $fname;
  33. return $data;
  34. }
  35. sub parse_proxies($)
  36. {
  37. my($text) = @_;
  38. my %tmp;
  39. my @proxies = grep { !$tmp{$_}++ } $text =~ m~((?:\w+://)?[a-z0-9\.]*?\.(?:.{2,3}|\d{1,3}):\d{2,4})~gm;
  40. my @result;
  41. my %ips;
  42. for my $proxy (@proxies)
  43. {
  44. my($ip) = $proxy =~ m~(?:\w+://)?(.*?):\d+~;
  45. next if length $ip < 8;
  46. push @result, $proxy unless $ips{$ip}++;
  47. }
  48. return map { m~^\w+://~ ? $_ : "http://$_" } @result;
  49. }
  50. sub read_proxylist($)
  51. {
  52. my($fname) = @_;
  53. return parse_proxies read_file $fname;
  54. }
  55. sub proxygo
  56. {
  57. my($proxy) = @_;
  58. my $lwp = new LWP::UserAgent;
  59. $lwp->default_header(Referer => $referer);
  60. $lwp->agent($agents[rand @agents]);
  61. $lwp->proxy(["http", "https"], $proxy);
  62. my $errors = 0;
  63. while(1)
  64. {
  65. #my @chars = ("A".."Z", "a".."z", "0".."9");
  66. #my $user;
  67. #$user .= $chars[rand @chars] for 3..30;
  68. #my $pass = "+7901" . substr(rand, -7);
  69. my $res = $lwp->post($url,
  70. Content_Type => "application/x-www-form-urlencoded",
  71. Content => "task=post&field3=Peka73Rus&field4=http://peka.cc/&nofile=on");
  72. $errors++ unless $res->is_success;
  73. last if $max_errors != 0 && $errors >= $max_errors;
  74. sleep $timeout;
  75. }
  76. }
  77. my @proxies = read_proxylist $proxylist;
  78. my $pool = pool \&proxygo, \@proxies, { desc => "proxygo", debug => 1, join => 1 };
Advertisement
Add Comment
Please, Sign In to add comment