Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Нужен прокси чекер/грабер (https://forum.antichat.xyz/showthread.php?t=59802)

LEE_ROY 24.01.2008 18:16

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

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

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

PHP код:

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[$currenteq "nothing")
            {
                
$flags[$current]=$proxy;
                
last;
            }
            if(
$flags[$currenteq "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[$ieq "nothing")
        {
            
$flags[$i]="finish";
        }
        if(
$flags[$ieq "good")
        {
            
$flags[$i]="finish";
            
$goodNumber++;
        }
        if(
$flags[$ieq "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

Обидно, что тема не живет:(
От себя могу добавить вот это скрипт стоит 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 0.7
 
нашел я эту прогу (Sansara) но че то не пашет она у меня. залил на сервер все вроде норм ,выставил права как полагаеться но она не пашет зараза!
кто нить напишите хоть ман чтоли какой нить как юзать эту прогу
какую лицензию вводить даже хз
Ниид хелп

bobob 29.01.2008 12:59

Цитата:

Сообщение от [-=OniX=-]
Обидно, что тема не живет:(
От себя могу добавить вот это скрипт стоит 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 и не смог:( я дурак:)


Время: 22:43