Home » » [PHP]Multithreaded Proxy Checker

[PHP]Multithreaded Proxy Checker

Written By Unknown on Friday, 31 August 2012 | 01:45


<?php
set_time_limit
(0);
/***********************************************
* Multithreaded Proxy Checker
* Coded by Miyachung
* Janissaries.Org
* Miyachung@hotmail.com

------------------------------------------------
* Demonstration -> http://www.youtube.com/watch?v=4icPZHv3W9g
* Type list like IP:PORT in a file***********************************************/
/*-----------------------------------------------------------------------*/
    echo
"\n[+]Enter your proxy list: ";
    $proxy_list
= fgets(STDIN);
    $proxy_list
= str_replace("\r\n","",$proxy_list);
    $proxy_list
= trim($proxy_list);

    echo
"[+]Enter number of thread: ";
    $thread
= fgets(STDIN);
    $thread
= str_replace("\r\n","",$thread);
    $thread
= trim($thread);
    echo
"[+]Enter timeout sec: ";
    $timeout
= fgets(STDIN);
    $timeout
= str_replace("\r\n","",$timeout);
    $timeout
= trim($timeout);
    echo
"[+]Checking proxies\n";
    echo
"-------------------------------------------------------\n";
    $open_file    
=    file($proxy_list);
    $open_file  
=    preg_replace("#\r\n#si","",$open_file);

           
    checker
($open_file,$thread);
/*-----------------------------------------------------------------------*/
function checker($ips,$thread)
{
   
global $timeout;
   
    $multi      
= curl_multi_init();
    $ips        
= array_chunk($ips,$thread);
    $total      
= 0;
    $time1  
= time();
           
foreach($ips as $ip)
           
{
                   
for($i=0;$i<=count($ip)-1;$i++)
                   
{
                    $curl
[$i] = curl_init();
                    curl_setopt
($curl[$i],CURLOPT_RETURNTRANSFER,1);
                    curl_setopt
($curl[$i],CURLOPT_URL,$ip[$i]);
                    curl_setopt
($curl[$i],CURLOPT_TIMEOUT,$timeout);
                    curl_multi_add_handle
($multi,$curl[$i]);
                   
}
                   
                   
do
                   
{
                    curl_multi_exec
($multi,$active);
                    usleep
(11);
                   
}while( $active > 0 );
                   
                   
foreach($curl as $cid => $cend)
                   
{
                            $info
= curl_getinfo($cend);
                            curl_multi_remove_handle
($multi,$cend);
                           
if($info['http_code'] != 0)
                           
{
                                    $total
++;
                                    echo
"[~]Proxy works -> ".$ip[$cid]."\n";
                                    save_file
("works.txt",$ip[$cid]);
                           
}
                   
}
           
}
    $time2
= time();
    echo
"\n[+]Total working proxies: $total,checking completed\n";
    echo
"[+]Elapsed time -> ".($time2-$time1)." seconds\n";
    echo
"[+]Coded by miyachung || Janissaries.Org\n";
    echo
"-------------------------------------------------------\n";
}
   
function save_file($file,$content)
{
    $open
= fopen($file,'ab');
    fwrite
($open,$content."\r\n");
    fclose
($open);
}
?>
credit : uploader
Share this article :

Post a Comment

 
Support : Creating Website | Johny Template | Mas Template
Copyright © 2011. Turorial Grapich Design and Blog Design - All Rights Reserved
Template Created by Creating Website Published by Mas Template
Proudly powered by Blogger