Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
1337zilla - Proxy Checker by GNUcious! |

15.02.2009, 16:03
|
|
Новичок
Регистрация: 13.02.2009
Сообщений: 4
Провел на форуме: 31141
Репутация:
7
|
|
1337zilla - Proxy Checker by GNUcious!
Ну, досталь новый ник, блатую как могу!... :-)
кароче, скрипт написана на перле, требует модуль Parallel::Forkmanger которого можно достать тут:
Parallel::Forkmanager
софт проверает сразу 40 прокси и можно прибавить/убавить это число сменив 40 на нужную цифру во глове скрипта.
пишите тут если что нидь работает ни так как надо... :-)
Код:
#!/usr/bin/perl -w
#####################################ё#########
use IO::Socket; # the main module for connection
use Parallel::ForkManager; # Call to Fork manger
###############################################
&usage if(@ARGV < 2); # if arguments less then 2 die
my @proxys = do {open my $pfh, "<",shift || die $!;<$pfh> }; # proxies
my $output = shift; # output file where would go working proxies
my $forker = Parallel::ForkManager->new(40); # Define Fork Manager
my $url = "http://google.com"; # url to query proxy
###############################################
sub usage
{ print STDERR "USAGE: $0 [PROXIES FILE] [OUTPUT FILE]\n";
print STDERR "NOTE: proxy file should contain colon separated list of IP or DOMAIN and PORT\n";
print STDERR "Examples\n: www.spider-net.de:80\n89.206.8.242:8080\n";
exit 1;
}
###############################################
sub getPage
{ my($host,$url,$port) = @_; # proxy, url - what to query and port
my $sock = IO::Socket::INET->new( PeerAddr => $host,
PeerPort => $port,
Proto => "tcp",
Timeout => 3) || return 0;
print $sock "GET $url HTTP/1.0\r\n".
"HOST: $url\r\n".
"ACCEPT: */*\r\n".
"REFERER: GNUcious\r\n".
"USER-AGENT: 1337zilla - Proxy Checker by GNUcious v1.0 ".
"(Macintosh; U; PPC Mac OS X; en-us)\r\n\r\n";
close($sock);
return 1;
}
##############################################
foreach $proxies (@proxys)
{ chomp($proxies); # remove new line from proxy
$forker->start and next; # fork process and increase speed
my ($proxy,$port) = split(/:/,$proxies); # split proxy into IP and PORT
printf("Checking -> %-20s",$proxies); # nice look at the terminal
if(getPage($proxy,$url,$port))
{ open my $wpfh,">>",$output || die $!; # save proxy if it works
print $wpfh $proxies."\n";
close($wpfh);
print "\t[ OK ]";
}
else
{ print "\t[ FAIL ]";
}
print "\n";
$forker->finish; # finish process forking
}
$forker->wait_all_children; # wait all remain process and
exit 0; # end program, return 0 result (success)
###############################################
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|