1) { /* Checks for command line arguments */ if (count($argv) > 2 && ($argv[1] == '-c' || $argv[1] == '-f')) { $addresses = $argv; array_shift($addresses); array_shift($addresses); print "Running manual check, please wait ...\n"; try { $results = pcheck::check($addresses, $argv[1] == '-f'); } catch (Exception $e) { print "{$argv[0]}: " . $e->getMessage() . "\n"; exit(1); } foreach ($results as $address => $proxy) { print "\t$address - "; switch ($proxy) { case -1: print "detection failed"; break; case 0: print "no proxy detected"; break; case 1: print "OPEN PROXY DETECTED!"; break; } print "\n"; } exit(0); } elseif ($argv[1] != "-d") { die("Syntax: {$argv[0]}\n\t -> to run as a daemon\n\t{$argv[0]} -d\n\t -> to run in debugging mode\n\t{$argv[0]} -c ip [ip [...]]\n\t -> to check addresses for open proxies\n\t{$argv[0]} -f ip [ip [...]]\n\t -> same as -c, but doesn't check for a running server\n"); } } /* Starts the main thread */ @posix_setgid(33); new pcheck_manager($argv[1] == "-d"); ?>