Показать сообщение отдельно

  #6  
Старый 17.12.2007, 14:11
C!klodoL
Постоянный
Регистрация: 05.06.2007
Сообщений: 335
Провел на форуме:
4319431

Репутация: 677
По умолчанию

я вот такой себе написал, чекает http прокси на анонимность, берет проксю, заходит на 2ip.ru и проверяет содержит ли страница реальный ип компа, если не содержит, то прокся годная, надо будет потом добавить чек на connect и socks + проверка скорости
Код:
#!/usr/bin/perl -w
use strict;
use threads;
use threads::shared;
use IO::Socket::INET;
my @proxy : shared;

my $threads = 8;
my $myip    = '124.110.14.213'; #тут указать свой ип

open(my $infile, '<proxy.txt');
@proxy = <$infile>;
close($infile);
chomp(@proxy);

open(my $anon, '>>anon.txt');

my (@thread);

for(0..$threads) {
   $thread[$_] = threads->create(\&check);

}

for(0..$threads) {
   $thread[$_]->join;

}

sub check {
   my ($prox, $port, $sock);
   while(@proxy) {
      ($prox, $port) = split(/:/, shift(@proxy));
      $sock = IO::Socket::INET->new(Proto    => 'tcp',
                                    PeerAddr => $prox,
                                    PeerPort => $port,
                                    Timeout  => 4) || 0;
      if ($sock)
      {
         print $sock "GET http://2ip.ru/ HTTP/1.1\r\n".
                     "Host: 2ip.ru\r\n".
                     "Connection: close\r\n\r\n";
         while(<$sock>)
         {
            #print;
            if (/$myip/) { print "Govno: $prox:$port\n"; last }
            if (/Top100 logo/) { print $anon "$prox:$port\n" }
         }
      }
   }
}