diff options
author | Pierre Schmitz <pierre@archlinux.de> | 2006-10-11 18:12:39 +0000 |
---|---|---|
committer | Pierre Schmitz <pierre@archlinux.de> | 2006-10-11 18:12:39 +0000 |
commit | 183851b06bd6c52f3cae5375f433da720d410447 (patch) | |
tree | a477257decbf3360127f6739c2f9d0ec57a03d39 /includes/proxy_check.php |
MediaWiki 1.7.1 wiederhergestellt
Diffstat (limited to 'includes/proxy_check.php')
-rw-r--r-- | includes/proxy_check.php | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/includes/proxy_check.php b/includes/proxy_check.php new file mode 100644 index 00000000..fb7fdb50 --- /dev/null +++ b/includes/proxy_check.php @@ -0,0 +1,55 @@ +<?php +/** + * Command line script to check for an open proxy at a specified location + * @package MediaWiki + */ + +if( php_sapi_name() != 'cli' ) { + die( 1 ); +} + +/** + * + */ +$output = ''; + +/** + * Exit if there are not enough parameters, or if it's not command line mode + */ +if ( ( isset( $_REQUEST ) && array_key_exists( 'argv', $_REQUEST ) ) || count( $argv ) < 4 ) { + $output .= "Incorrect parameters\n"; +} else { + /** + * Get parameters + */ + $ip = $argv[1]; + $port = $argv[2]; + $url = $argv[3]; + $host = trim(`hostname`); + $output = "Connecting to $ip:$port, target $url, this hostname $host\n"; + + # Open socket + $sock = @fsockopen($ip, $port, $errno, $errstr, 5); + if ($errno == 0 ) { + $output .= "Connected\n"; + # Send payload + $request = "GET $url HTTP/1.0\r\n"; +# $request .= "Proxy-Connection: Keep-Alive\r\n"; +# $request .= "Pragma: no-cache\r\n"; +# $request .= "Host: ".$url."\r\n"; +# $request .= "User-Agent: MediaWiki open proxy check\r\n"; + $request .= "\r\n"; + @fputs($sock, $request); + $response = fgets($sock, 65536); + $output .= $response; + @fclose($sock); + } else { + $output .= "No connection\n"; + } +} + +$output = escapeshellarg( $output ); + +#`echo $output >> /home/tstarling/open/proxy.log`; + +?> |