<?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
Friday, August 31, 2012
[PHP]Multithreaded Proxy Checker
Labels:
Proxy
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment