PDA

Просмотр полной версии : Нужен прокси чекер/грабер


LEE_ROY
24.01.2008, 18:16
Ищется хороший прокси граббер и чеккер серверный ( пхп/перл ). Кто имеет, поделитесь плз :)

Вот нарыл один, берет урлы из txt и граббит с них прокси, чекает на GET и рабочие слаживает в отедльный txt. Так вот может есть подобный или кто-то сможеш подправить чтобы проверял на POST, вместо GET. Заранее спасибо :)

скачать - http://dump.ru/files/o/o521684942/

use FileHandle;
autoflush STDOUT 1;

checkProxies();
exit;


################################
#This function checks proxylist
################################
sub checkProxies
{
use threads;
use threads::shared;

$threadsNumber=64;
print "Checking proxies... ";
share(@flags);
open(ALLP,"<./allproxies.txt");

#creating threads
for($i=0;$i<$threadsNumber;$i++)
{
threads->create("myThread",$i);
$flags[$i]="nothing";
}
foreach $thr(threads->list)
{
$thr->detach;
}

#main loop
#searches for unoccupied thread
#and gives it a work
$num=0;
while($proxy=<ALLP>)
{
$num++;
print "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b \b\b\b\b\b\b";
print "Checking proxies... ".$num;
$current=0;
while()
{
if($flags[$current] eq "nothing")
{
$flags[$current]=$proxy;
last;
}
if($flags[$current] eq "good")
{
$flags[$current]=$proxy;
$goodNumber++;
last;
}
$current++;
if($current==$threadsNumber-1) {$current=0;}
}
}

#checking finished
#now we may kill all threads
$i=0;
while($i<$threadsNumber)
{
if($flags[$i] eq "nothing")
{
$flags[$i]="finish";
}
if($flags[$i] eq "good")
{
$flags[$i]="finish";
$goodNumber++;
}
if($flags[$i] eq "finished")
{
$i++;
}
}
close ALLP;
print "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b \b\b\b\b\b\b";
print "Checking proxies... finished\n";
print $goodNumber." eleet proxies found\n";

sleep(1);
}

########
#Thread
########
sub myThread
{
while()
{
sleep(1);
if($flags[$_[0]] eq "finish") {last;}
if($flags[$_[0]] eq "nothing") {next;} #wait for task
if($flags[$_[0]] eq "good") {next;} #wait for task
$proxy=$flags[$_[0]];
$result=testProxy($proxy);
if($result==1)
{
open(ELEET,">>./eleet.txt");
print ELEET $proxy;
close ELEET;
$flags[$_[0]]="good";
} else {
$flags[$_[0]]="nothing";
}
}
$flags[$_[0]]="finished";
}


###########################
#This function tests proxy
###########################
sub testProxy
{
$env="http://www.ocnar.com/cgi-bin/textenv.pl";
#$env="http://www.anonymitytest.com/cgi-bin/textenv.pl";
#$env="http://64.62.217.127/cgi-bin/textenv.pl";
#$env="http://nntime.com/textenv.pl";
#$env="http://samair.ru/cgi/textenv.pl"

($adr,$port)=split(/:/,$_[0]);
open(ITP,">./logs/".$adr.".txt");

$s=getPage($env,"http://".$_[0]);
if($s eq "")
{
print ITP "dead proxy";
close(ITP);
return 0;
}
else
{
print ITP $s;
close(ITP);
}

if($s!~/REMOTE_ADDR/) {return 0}; #bad proxy
if($s=~/89.179.243.148/) {return 0}; #transparent proxy
#if($s=~/HTTP_VIA/) {return 0;} #anonymous or transparent proxy
#if($s=~/HTTP_X_FORWARDED_FOR/) {return 0;} #anonymous or transparent proxy

return 1; #eleet proxy
}

#################################
#This functon makes HTTP request
#################################
sub getPage
{
use LWP::UserAgent;
$ua=LWP::UserAgent->new;

$ua->proxy(http=>$_[1]);
$ua->timeout(5);

$ua->agent("Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)");
$req=HTTP::Request->new(GET=>$_[0]);

$res=$ua->request($req);

if($res->is_success)
{
#print($res->content);
return $res->content;
}
else
{
#print "Error!\n";
return "";
}
}

[-=OniX=-]
24.01.2008, 20:32
Обидно, что тема не живет:(
От себя могу добавить вот это (http://www.proxy-tool.net/) скрипт стоит 30 баксов при регистрации идет привязка к IP хостера, скрипт зашифрован Zend Guard :( если бы не это скрипт супер. Минусы - админ походу забросил сайт и его там почти нет.
Если кто расшифрует буду несказанно благодарен

biophreak
25.01.2008, 18:16
Попробуй поищи Sansara - я тут выкладывал...может оно то что тебе надо!

[-=OniX=-]
25.01.2008, 19:35
спс + но к меня почему то нет модуля Sys::HostIP :(

biophreak
28.01.2008, 13:17
дык поставь :)
Вместо него можно обойтись, имхо тупым `hostname -i`
ЗЫЖ Если не то, то извиняюсь...не смотрел сам его...
ЗЗЫЖ Модуль-то сам по-сути берет ИП машины, на которой работает...так пропиши вручную )

satana8920
29.01.2008, 12:12
нашел я эту прогу (Sansara) но че то не пашет она у меня. залил на сервер все вроде норм ,выставил права как полагаеться но она не пашет зараза!
кто нить напишите хоть ман чтоли какой нить как юзать эту прогу
какую лицензию вводить даже хз
Ниид хелп

bobob
29.01.2008, 12:59
']Обидно, что тема не живет:(
От себя могу добавить вот это (http://www.proxy-tool.net/) скрипт стоит 30 баксов при регистрации идет привязка к IP хостера, скрипт зашифрован Zend Guard :( если бы не это скрипт супер. Минусы - админ походу забросил сайт и его там почти нет.
Если кто расшифрует буду несказанно благодарен
вот - http://dezend.w4ck1ng.com/

только что попробывал дезендить индексный файл этой проги - всё ок разморозило, но тестить прогу не тестил, но думаю всё ок

[-=OniX=-]
29.01.2008, 13:33
+ 100:)
немного код подправить и все

bobob
29.01.2008, 13:45
дезендел лучше себе скачай, я ссылку не помню, ТАНЗВУТ или как там забыл ник его, у него на сайте вроде, конечно там править надо, если есть знания, то можно переделать под себя, у меня например нет таких знаний(

[-=OniX=-]
29.01.2008, 13:59
я его качал уже просто не мог разобраться в ini файле сидел часа 2 и не смог:( я дурак:)