Script simple display environment variables of ip address and nothing else.
Probably the most useful test that detect **% of all proxy servers can be found on [url]http://www.proxyserverprivacy.com/detector-proxy.shtml[/url]
If you like to make combos with Java try this [url]http://www.proxyblind.org/test.shtml[/url]

Here are 2 simple and server friendly script for testing ip address (that are widely supported by all proxy programs) from Guardian (unfortunately his site does not exist anymore)

Perl
#!C:/perl/bin/perl
#!/usr/local/bin/perl
#
# Use the correct shebang according to OS.
# You can rename this script to azenv.cgi if .pl
# extension is not supported.
#
##########################################################################
#
# AZ Environment variables *.04 © 2004 AZ
# Civil Liberties Advocacy Network
# [url]http://clan.cyaccess.com[/url] [url]http://clanforum.cyaccess.com[/url]
#
# AZenv is written in PHP & Perl. It is coded to be simple,
# fast and have negligible load on the server.
# AZenv is primarily aimed for programs using external scripts to
# verify the passed Environment variables.
# Only the absolutely necessary parameters are included.
# AZenv is free software; you can use and redistribute it freely.
# Please do not remove the copyright information.
#
##########################################################################

print <<EOC;
Content-type: text/html

<!DOCTYPE html PUBLIC "-//W*C//DTD XHTML *.0 Transitional//EN"
"http://www.w*.org/TR/xhtml*/DTD/xhtml*-transitional.dtd">
<html xmlns="http://www.w*.org/****/xhtml" xml:lang="en" lang="en">
<head>
<title>AZ Environment variables *.04</title>
</head>
<body>
<pre>
EOC

foreach $var (keys(%ENV))
{ if ($var =~ /REMOTE/ || $var =~ /HTTP/ || $var =~ /REQUEST/)
{ print $var.' = '.$ENV{$var}."\n"; } }

print <<EOC;
</pre>
</body>
</html>
EOC
PHP
<!DOCTYPE html PUBLIC "-//W*C//DTD XHTML *.0 Transitional//EN"
"http://www.w*.org/TR/xhtml*/DTD/xhtml*-transitional.dtd">
<html xmlns="http://www.w*.org/****/xhtml" xml:lang="en" lang="en">
<head>
<title>AZ Environment variables *.04</title>
</head>
<body>
<pre>
<?php
##########################################################################
#
# AZ Environment variables *.04 © 2004 AZ
# Civil Liberties Advocacy Network
# [url]http://clan.cyaccess.com[/url] [url]http://clanforum.cyaccess.com[/url]
#
# AZenv is written in PHP & Perl. It is coded to be simple,
# fast and have negligible load on the server.
# AZenv is primarily aimed for programs using external scripts to
# verify the passed Environment variables.
# Only the absolutely necessary parameters are included.
# AZenv is free software; you can use and redistribute it freely.
# Please do not remove the copyright information.
#
##########################################################################

foreach ($_SERVER as $header => $value )
{ if (strpos($header , 'REMOTE')!== false || strpos($header , 'HTTP')!== false ||
strpos($header , 'REQUEST')!== false) {echo $header.' = '.$value."\n"; } }
?>
</pre>
</body>
</html>

Here is official AATools proxy server testing script
#!/usr/local/bin/perl
#
$title = '"#**ccff"';
$http = '"#ccffcc"';
$proxy = '"#ccff**"';
$remote = '"#ffcccc"';
$other = '"#ffffcc"';
$warn = '"#ff****"';
$java = '"#66**cc"';

print "Content-type: text/html\n\n";
print "<HTML><HEAD><TITLE>CGI ENVIRONMENT</TITLE></HEAD>\n";
print "<BODY BGCOLOR=\"#ffffff\">\n";
print "<H* ALIGN=center>CGI ENVIRONMENT</H*>\n";
print "<HR>\n";
print "<BR>\n";

$host = !$ENV{'REMOTE_HOST'}||$ENV{'REMOTE_HOST'}eq$ENV{'REMOTE_ADDR'}?gethostbyaddr(pack('C4',split(/\./,$ENV{'REMOTE_ADDR'})),2)||$ENV{'REMOTE_ADDR'}:$ENV{'REMOTE_HOST'};
print "REMOTE_HOST = $host<BR>\n";
if ( defined $ENV{'HTTP_X_FORWARDED_FOR'} ) {
@ip = split( /[, ]+/, $ENV{'HTTP_X_FORWARDED_FOR'} );
foreach (@ip) {
if ( m/^[0-*.]+$/ ) { $ip .= (gethostbyaddr(pack('C4',split(/\./,$_)),2)||$_) . ' -> '; }
else { $ip .= "$_ -> "; }
}
$ip =~ s/ -> $//;
print "HTTP_X_FORWARDED_FOR = $ip<BR>\n";
}
print "HTTP_FROM = $ENV{'HTTP_FROM'}<BR>\n" if defined $ENV{'HTTP_FROM'};
print "<BR>\n";

print "<HR>\n";
print "<BR>\n";
print "<TABLE BORDER=*>\n";
print "<TR><TH BGCOLOR=$title>ENVIRONMENT<TH BGCOLOR=$title>VALUE</TR>\n";
foreach $key (sort (keys %ENV)) {
if ( $key ne 'PATH' &&
$key ne 'SCRIPT_FILENAME' &&
$key ne 'REQUEST_URI' &&
$key ne 'SCRIPT_FILENAME' &&
$key ne 'SCRIPT_NAME' &&
$key ne 'SERVER_ADDR' &&
$key ne 'SERVER_ADMIN' &&
$key ne 'SERVER_NAME' &&
$key ne 'SERVER_PORT' &&
$key ne 'SERVER_PROTOCOL' &&
$key ne 'SERVER_SIGNATURE' &&
$key ne 'SERVER_SOFTWARE' &&
$key ne 'DOCUMENT_ROOT' ) {
if ( $key =~ /^HTTP_/ ) {
if ( $key eq 'HTTP_ACCEPT' ||
$key eq 'HTTP_ACCEPT_CHARSET' ||
$key eq 'HTTP_ACCEPT_LANGUAGE' ||
$key eq 'HTTP_ACCEPT_ENCODING' ||
$key eq 'HTTP_CONNECTION' ||
$key eq 'HTTP_COOKIE' ||
$key eq 'HTTP_IF_MODIFIED_SINCE' ||
$key eq 'HTTP_HOST' ||
$key eq 'HTTP_PRAGMA' ||
$key eq 'HTTP_REFERER' ||
$key eq 'HTTP_UA_COLOR' ||
$key eq 'HTTP_UA_CPU' ||
$key eq 'HTTP_UA_OS' ||
$key eq 'HTTP_UA_PIXELS' ) {
print "<TR><TD BGCOLOR=$http>$key<TD BGCOLOR=$http>$ENV{$key}</TR>\n";
}
elsif ( $key eq 'HTTP_USER_AGENT' ) {
$ENV{$key} =~ s%\bvia\b%<FONT COLOR=$warn>$&</FONT>%i;
$ENV{$key} =~ s%\bproxy\b%<FONT COLOR=$warn>$&</FONT>%i;
$ENV{$key} =~ s%\bgateway\b%<FONT COLOR=$warn>$&</FONT>%i;
$ENV{$key} =~ s%\bTuring\b%<FONT COLOR=$warn>$&</FONT>%i;
$ENV{$key} =~ s%\bANONYM%<FONT COLOR=$warn>$&</FONT>%i;
print "<TR><TD BGCOLOR=$http>$key<TD BGCOLOR=$http>$ENV{$key}</TR>\n";
}
elsif ( $key eq 'HTTP_FROM' ) {
print "<TR><TD BGCOLOR=$http>$key<TD BGCOLOR=$http><FONT COLOR=$warn>$ENV{$key}</FONT></TR>\n";
}
else {
print "<TR><TD BGCOLOR=$proxy>$key<TD BGCOLOR=$proxy>$ENV{$key}</TR>\n";
}
}
elsif ( $key =~ /^REMOTE_/ ) {
print "<TR><TD BGCOLOR=$remote>$key<TD BGCOLOR=$remote>$ENV{$key}</TR>\n";
}
else {
print "<TR><TD BGCOLOR=$other>$key<TD BGCOLOR=$other>$ENV{$key}</TR>\n";
}
}
}
print "</TABLE>\n";

print "<BR><HR><BR>\n";
print "</BODY></HTML>\n";
For detailed infos about ip address there is [url=http://www.ipaddresslocation.org]Ip Address Location[/url]