<?php
$ports 
= array(80,81,1080,3124,3128,8000,8010,8080,50050); // etc.
$hosts $_SERVER['argv'];
array_shift($hosts); // drop argv[0];
$hosts array_unique($hosts);
define('TIMEOUT'2); //sec

$payload "GET http://www.php.net/~scoates/check_proxy.php HTTP/1.1\nHost: http://www.php.net\n\n";

foreach (
$hosts AS $host) {
  
$proxyFound false;
  echo 
"Host: $host ";
  foreach (
$ports AS $p) {
    echo 
".";
    if (
$_ENV['DEBUG']) { echo "Connecting to port $p\n"; }
    
$s = @fsockopen($host$p$errno$errstrTIMEOUT);
    if (
$s) { // can connect
      
stream_set_timeout($sTIMEOUT);
      
fwrite($s$payload);
      if (
strpos($c stream_get_contents($s), "X-PHP-Proxy-Check: Proxy Check") !== FALSE) {
        
// Open proxy found
        
if ($_ENV['DEBUG']) { echo $c; }
    
$proxyFound true;
    break;
        
//exit(1);
      
}
      if (
$_ENV['DEBUG']) { echo $c; }
    }
  }
  if (
$proxyFound) {
    echo 
" OPEN PROXY FOUND (port: $p)\n";
  } else {
    echo 
" NO PROXY\n";
  }
}
//exit(0);
?>