Here are some unverified proxies: Look at the table below
212.44.139.194:80 |
202.29.4.252:8080 |
148.74.255.104:80 |
200.23.209.209:8080 |
200.23.209.209:80 |
195.68.114.2:8080 |
212.43.194.56:8080 |
195.223.151.7:80 |
216.145.227.164:80 |
200.203.159.2:80 |
195.239.30.141:3128 |
195.23.108.33:80 |
131.165.109.34:80 |
200.27.182.30:80 |
200.30.47.70:8080 |
195.126.161.198:80 |
209.3.144.105:80 |
210.190.110.13:80 |
200.30.47.70:80 |
216.2.198.66:80 |
195.3.81.47:80 |
200.35.86.165:80 |
195.229.46.103:80 |
211.125.53.34:8080 |
12.24.192.50:8080 |
194.79.171.67:80 |
212.77.192.22:80 |
211.17.150.163:80 |
212.135.180.98:80 |
211.0.114.18:80 |
202.14.99.103:80 |
194.63.176.5:80 |
211.11.204.18:80 |
211.6.196.50:80 |
200.35.80.53:80 |
212.97.164.130:8080 |
206.58.182.99:80 |
62.118.252.136:80 |
200.27.182.30:8080 |
210.136.165.133:80 |
206.8.102.102:80 |
195.54.160.1:80 |
200.41.234.241:80 |
195.22.169.129:80 |
211.5.148.67:80 |
195.47.14.193:80 |
195.57.8.133:80 |
212.32.5.217:80 |
216.125.41.2:80 |
216.235.32.126:80 |
216.112.227.130:8080 |
195.25.239.1:8080 |
164.41.2.21:80 |
194.27.53.4:80 |
131.107.67.8:80 |
211.35.78.36:80 |
209.3.144.105:8080 |
209.187.235.30:80 |
207.206.130.196:80 |
200.51.40.37:80 |
195.132.5.210:80 |
212.80.166.163:80 |
211.18.246.19:80 |
210.162.222.122:80 |
212.98.254.4:80 |
211.11.240.98:80 |
211.11.206.195:80 |
207.175.168.2:80 |
203.52.178.228:80 |
203.41.81.65:80 |
211.35.78.36:8080 |
202.28.95.1:80 |
203.199.37.6:80 |
63.167.108.38:8080 |
12.26.104.132:80 |
193.11.12.6:3128 |
62.159.155.209:80 |
209.80.145.160:80 |
208.233.33.11:80 |
195.219.52.5:80 |
202.9.136.40:8080 |
195.53.49.197:80 |
12.15.162.194:80 |
210.232.99.146:80 |
212.219.97.4:80 |
200.47.33.61:3128 |
193.251.11.35:80 |
64.5.220.82:80 |
200.195.52.193:80 |
208.51.130.126:80 |
148.235.65.65:80 |
209.3.37.30:80 |
63.112.134.2:80 |
207.232.181.253:8080 |
207.170.51.82:80 |
168.11.50.54:80 |
210.255.65.2:80 |
212.48.135.99:8080 |
217.34.194.49:80 |
157.91.107.42:8080 |
210.225.51.18:80 |
200.51.40.34:80 |
193.146.90.34:80 |
212.90.9.10:80 |
212.219.11.83:80 |
211.17.154.50:80 |
195.3.110.122:80 |
211.39.201.45:8080 |
193.146.153.226:80 |
210.170.93.66:80 |
207.66.105.136:80 |
209.19.187.2:80 |
212.27.213.130:80 |
204.180.48.2:8080 |
61.199.154.108:80 |
200.199.249.66:8080 |
212.27.204.90:80 |
208.3.91.249:80 |
195.57.16.13:80 |
206.49.33.250:8080 |
213.56.134.17:80 |
194.90.229.195:8080 |
212.24.71.10:80 |
195.171.209.195:8080 |
212.13.33.114:80 |
210.175.125.34:80 |
212.19.66.38:80 |
212.17.98.130:80 |
194.106.137.20:80 |
206.49.196.68:80 |
212.18.3.203:80 |
200.75.211.35:80 |
217.59.205.26:3128 |
12.39.133.114:80 |
212.27.185.66:80 |
210.175.52.100:8080 |
203.155.9.158:80 |
212.17.98.131:80 |
195.75.131.66:8080 |
63.84.77.4:80 |
195.74.26.12:80 |
207.50.232.82:8080 |
217.57.160.156:80 |
212.9.75.180:8080 |
216.102.199.63:3128 |
218.2.131.254:8080 |
200.46.109.85:8080 |
200.193.46.18:80 |
195.53.255.242:80 |
203.12.80.16:80 |
64.7.12.211:80 |
38.195.54.3:80 |
208.30.227.23:80 |
168.234.196.42:80 |
210.117.228.130:8080 |
210.146.46.181:80 |
199.95.204.45:8080 |
212.27.216.136:80 |
194.140.1.242:8080 |
195.37.191.39:80 |
210.10.115.130:80 |
217.59.51.162:80 |
207.42.191.15:8080 |
204.196.123.56:80 |
204.211.185.12:8080 |
200.199.249.66:80 |
200.168.40.163:6588 |
202.190.118.20:8080 |
200.40.145.4:80 |
208.138.170.126:80 |
202.28.68.18:80 |
212.77.192.17:80 |
212.80.166.163:8080 |
208.248.140.4:8080 |
200.48.252.103:80 |
210.248.99.50:8080 |
203.58.12.24:8080 |
194.63.222.241:80 |
207.46.230.218:80 |
212.25.160.14:80 |
212.25.160.15:80 |
195.205.242.19:3128 |
195.25.90.2:80 |
63.111.191.2:80 |
205.133.104.139:80 |
200.193.46.18:8080 |
212.13.159.2:3128 |
207.170.17.250:80 |
205.146.38.3:80 |
210.164.67.98:80 |
193.120.248.95:80 |
63.101.8.2:80 |
217.59.178.77:8080 |
216.198.91.163:80 |
200.75.42.4:80 |
202.28.68.18:8080 |
212.77.192.12:80 |
217.58.162.210:3128 |
203.97.8.50:80 |
208.20.251.5:8080 |
Some wordlists too here
http://thebluesbrother.com
also visit http://wolfman.deny.de
Here is a proxyjudge for your needs:
#!/usr/bin/perl
# ProxyJudge V2.27
#
# ANONYMIZER dimdim
# cry@cker.104.net
# http://anonymizer.site.ne.jp/
#-----// title tag //-----#
$title = 'ProxyJudge V2.27';
#-----// BODY tag //-----#
$body = 'bgcolor="#000000" text="#ffffff" link="#00ddff"
vlink="#ddddff" alink="#0000ff"';
#-----// Warning tag color //----#
$warn = '#ff0000';
#-----// Suspect tag color //----#
$suspect = 'orange';
#-----// Anony Level color //----#
$levelcolor = 'yellow';
# # # # # # # # # #
$remote_host = $ENV{'REMOTE_HOST'};
$remote_addr = $ENV{'REMOTE_ADDR'};
if ( ($remote_host eq $remote_addr) || ($remote_host eq '') ) {
$remote_host = gethostbyaddr(pack('C4', split(/\./, $remote_addr)), 2) || $remote_addr;
$ENV{'REMOTE_HOST'} = $remote_host;
}
while (($a, $b) = each %ENV) {
next if ($a !~ /^HTTP_/);
$b =~ s/\t/ /g;
push(@dat, "$a=\t$b \t$a=\t$b");
}
@envdat = sort(@dat);
&remotehost_check();
&proxyenv_check();
&spillenv_check();
&judgement();
&html;
exit;
# # # # # # # # # #
#-----// REMOTE_HOST check //----#
sub remotehost_check {
local(@hostz);
if ($remote_host eq $remote_addr) {
$rh_result = 'IP Addr.';
$rh_comment = 'I have no idea.';
return;
} else {
$chk_rh = $remote_host;
if ($chk_rh =~ /www.*cache|www.*proxy|webcache|delegate|gatekeeper|firewall|proxy|cache|squid|^bbs|^http|^www|^web|^dns|^ftp|^mail|^news|^cgi|^gate|^server|^pop|^smtp|^w3\.|^ns\d{0,2}\.|^fw\d{0,2}\./i)
{
$chk_rh =~ s#$&#<FONT color="$warn">$&</FONT>#;
$rh_result = 'Via a Proxy';
$rh_comment = ' REMOTE_HOST includes proxy server word.';
} elsif ($chk_rh =~ /server|gate|www|web|dns|ftp|mail|news|cgi|pop|smtp/i)
{
$chk_rh =~ s#$&#<FONT color="$suspect">$&</FONT>#;
$rh_result = '?';
$rh_comment = ' REMOTE_HOST includes proxy server-like word.';
}
@hostz = split(/\./, $chk_rh);
if ($#hostz == 1) {
$chk_rh = "<FONT color=\"$suspect\">$chk_rh</FONT>";
$rh_result = '?';
$rh_comment = " REMOTE_HOST includes only one period, it's dubious.";
return;
} elsif ($rh_result ne 'Via a Proxy') {
if ($hostz[0] !~ /\d/) {
$hostz[0] = "<FONT color=\"$suspect\">$hostz[0]</FONT>";
$rh_result = '?';
$rh_comment .= " REMOTE_HOST includes no numbers, it's dubious.";
} elsif ($hostz[0] =~ /\D\d$/) {
$hostz[0] = "<FONT color=\"$suspect\">$hostz[0]</FONT>";
$rh_result = '?';
$rh_comment .= " REMOTE_HOST includes only one number, it's dubious.";
}
$chk_rh = join('.', @hostz);
}
}
}
# # # # #
#-----// Proxy env. value,User-Agent, Keep-Alive check
//----#
sub proxyenv_check {
local($envdat, $name, $val, $namestat, $valstat);
foreach $envdat (@envdat) {
chop($envdat) if ($envdat =~ /\n$/);
($name, $val, $namestat, $valstat) = split(/\t/, $envdat);
if ( ($name eq 'HTTP_USER_AGENT=') && ($val
=~ /via/i) ) {
$valstat =~ s/via/<FONT color="$warn">via<\/FONT>/i;
$result = 'Via a Proxy';
$comment .= ' USER_AGENT includes "via".';
} elsif ($name eq 'HTTP_CONNECTION=') {
if ($val !~ /Keep-Alive/i) {
$valstat = "<FONT color=\"$warn\">$valstat</FONT>";
$result = 'Anonymized' if ($result ne 'Via a Proxy');
$comment .= " CONNECTION doesn't have \"Keep-Alive\".";
} else {
$noproxy++;
$keepalive = 'existed';
}
} elsif ($name !~ /HTTP_(CONNECTION=|USER_AGENT=|HOST=|PRAGMA=|UA_|ACCEPT|REFERER=|MIME=|EXTENSION=|IF_MODIFIED_SINCE=)/) {
if ($name !~ /HTTP_(VIA=|.ROXY_.ONNECTION=|X_FORWARDED_FOR=|FORWARDED=|CACHE_CONTROL=|CACHE_INFO=|FROM=|CLIENT_IP=|TE=|SP_HOST=|XONNECTION=)/)
{
$namestat =~ s/$name/<FONT color="$suspect">$name<\/FONT>/i;
$result = 'Via a Proxy';
$comment .= ' Dubious variable is detected.' if ($comment !~ /Dubious/i);
} else {
$namestat =~ s/$&/<FONT color="$warn">$&<\/FONT>/i;
$result = 'Via a Proxy';
$comment .= ' Proxy server variable is detected.' if ($comment !~ /Proxy/i);
}
} else {
$noproxy++ if ($name !~ /HTTP_(CONNECTION=|HOST=|PRAGMA=|UA_|ACCEPT|REFERER=|MIME=|EXTENSION=|IF_MODIFIED_SINCE=)/);
}
$envdat = "$name\t$val\t$namestat\t$valstat\n";
}
return;
}
# # # # #
#-----// Spill IP addr. check //----#
sub spillenv_check {
local($envdat, $name, $val, $namestat, $valstat);
local($spill);
local($hex, $hex_addr);
local($itself_host, $spill_host);
local($to_host, $ip_tmp, $to_ip);
local(%seen, $spill_num);
local(@temp);
foreach $envdat (@envdat) {
chop($envdat) if ($envdat =~ /\n$/);
($name, $val, $namestat, $valstat) = split(/\t/, $envdat);
if ($name !~ /HTTP_(.ONNECTION=|USER_AGENT=|HOST=|PRAGMA=|UA_|ACCEPT|REFERER=|MIME=|EXTENSION=|.ROXY_.ONNECTION=|IF_MODIFIED_SINCE=|CACHE_CONTROL=|CACHE_INFO=)/)
{
$spill = $val;
$spill =~ s/$remote_host//g;
$spill =~ s/$remote_addr//g;
$spill =~ s/\([^\(\)]+\)//g;
$spill =~ s/ for / /ig;
$spill =~ s/ by / /ig;
$spill =~ s/ - / /g;
$spill =~ s/-\@//g;
#-----// HTTP_FORWARDED //----#
if ($spill =~ m#http://#) {
while ($spill =~ s#http://([^:]+):##i) {
push(@itself_host, "$1");
}
}
#-----// HTTP_VIA //----#
if ($name eq 'HTTP_VIA=') {
while ($spill =~ s# ([^ :]+):# :#i) {
push(@itself_host, "$1");
}
}
#-----// HTTP_X_FORWARDED_FOR //----#
if ($name eq 'HTTP_X_FORWARDED_FOR=') {
while ($spill =~ s#(\d+\.\d+\.\d+\.\d+)\,*# #i) {
push(@spill_addr, "$1");
}
}
#-----// HTTP_CLIENT_IP //----#
if ($name eq 'HTTP_CLIENT_IP=') {
$hex = $spill;
if ( ($hex !~ /\./) && ($hex =~ s/^([\dA-F]{2})([\dA-F]{2})([\dA-F]{2})([\dA-F]{2})$/$1$2$3$4/i)
) {;
if (length($hex) == 8) {
$hex_addr = join('.', hex($1), hex($2), hex($3), hex($4));
push(@spill_addr, "$hex_addr");
$valstat .= " -> $hex_addr";
}
}
}
$spill =~ s/:|\,|;|//g;
#-----// IP addr. //----#
if ($spill =~ s/[^a-zA-Z0-9_\-\.]*(\d+)\.(\d+)\.(\d+)\.(\d+)[^a-zA-Z0-9_\-\.]+/$1.$2.$3.$4/i)
{
$spill_addr = "$1.$2.$3.$4";
push(@spill_addr, "$spill_addr");
}
#-----// .***.*** //----#
if ($spill =~ /\.[^\.]{2,3}\.[a-zA-Z]{2,3}[^a-zA-Z0-9_\-\.]+/) {
$spill =~ s#([a-zA-Z0-9_\-\.]+)\.([^\.]{2,3})\.([a-zA-Z]{2,3})[^a-zA-Z0-9_\-\.]+#$1.$2.$3#i;
$spill_addr = "$1.$2.$3";
push(@spill_addr, "$spill_addr");
#-----// .*** //----#
} elsif ($spill =~ /\.[a-zA-Z]{2,3}[^a-zA-Z0-9_\-\.]+/) {
$spill =~ s#([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,3})[^a-zA-Z0-9_\-\.]+#$1.$2#i;
$spill_addr = "$1.$2";
push(@spill_addr, "$spill_addr");
}
}
$envdat = "$name\t$val\t$namestat\t$valstat";
}
foreach $spill_addr (@spill_addr) {
if ($spill_addr !~ /www.*cache|www.*proxy|webcache|delegate|gatekeeper|firewall|proxy|cache|squid|^bbs|^http|^www|^web|^dns|^ftp|^mail|^news|^cgi|^gate|^server|^pop|^smtp|^w3\.|^ns\d{0,2}\.|^fw\d{0,2}\./i)
{
push(@temp, $spill_addr);
}
}
@spill_addr = @temp;
#-----// Remove Proxy's IP addr. //----#
foreach $itself_host (@itself_host) {
next if ($itself_host !~ /\./);
$itself_host =~ tr/A-Z/a-z/;
chop($itself_host) if ($itself_host =~ /\n$/);
foreach $spill_addr (@spill_addr) {
$spill_addr =~ tr/A-Z/a-z/;
chop($spill_addr) if ($spill_addr =~ /\n$/);
if ($itself_host !~ /[a-z]/) {
$to_host = gethostbyaddr(pack('C4', split(/\./, $itself_host)), 2);
} else {
$ip_tmp = (gethostbyname($itself_host))[4];
$to_ip = join(".", unpack('C4', $ip_tmp));
}
if ( ($itself_host eq $spill_addr) || ($to_host eq $spill_addr) || ($to_ip eq
$spill_addr) ) {
$spill_addr .= ":x";
next;
}
}
$spill_addr .= "\n";
}
foreach $spill_addr (@spill_addr) {
chop($spill_addr) if ($spill_addr =~ /\n$/);
if ( ($spill_addr =~ /^127\./) ||
($spill_addr =~ /^172\.1[6-9]\./) ||
($spill_addr =~ /^172\.2\d\./) ||
($spill_addr =~ /^172\.3[0-2]\./) ||
($spill_addr =~ /^10\./) ||
($spill_addr =~ /^192\.168\./) ||
($spill_addr =~ /\.0$/) ||
($spill_addr =~ /^0\./) ||
($spill_addr =~ /\.255$/) ||
($spill_addr =~ /^\d{1,3}\.\d{1,3}\.255\./) ||
($spill_addr =~ /^\d{1,3}\.255\./) ||
($spill_addr =~ /^255\./) ) {
$spill_addr .= ':x';
}
undef($to_host);
F undef($to_ip);
undef($ip_tmp);
if ($spill_addr !~ /[a-z]/) {
$to_host = gethostbyaddr(pack('C4', split(/\./, $spill_addr)), 2);
} else {
$ip_tmp = (gethostbyname($spill_addr))[4];
$to_ip = join(".", unpack('C4', $ip_tmp));
}
if ( ($to_host eq $remote_host) || ($to_ip eq $remote_addr) ) {
$spill_addr .= ":x";
}
unless($seen{$spill_addr}++){}
$spill_addr .= "\n";
}
foreach $spill_addr (@spill_addr) {
chop($spill_addr) if ($spill_addr =~ /\n$/);
if ($spill_addr !~ /:x/) {
$spill_num++;
$your_host = $spill_addr;
}
}
if ($spill_num == 0) {
$your_host = 'Anonymous';
} elsif ($spill_num != 1) {
$your_host = 'Anonymous';
while (($spill_host, $spill_num) = each %seen) {
if ($spill_num > 1) {
$your_host = $spill_host;
last;
}
}
} else {
$addr_top = $remote_addr;
$addr_top =~ s/([^\.]+)\.([^\.]+)\.([^\.]+)\..+/$1\.$2\.$3\./;
$host_top = $remote_host;
if ($host_top =~ /\.[^\.]{2,3}\.[^\.]{2,3}$/) {
$host_top =~ s/[^\.]*\.*([^\.]+)\.([^\.]+)\.([^\.]+)$/$1\.$2\.$3/;
} else {
$host_top =~ s/[^\.]*\.*([^\.]+)\.([^\.]+)$/$1\.$2/;
}
#-----// ***.***.***.??? //----#
if ($your_host =~ /^($addr_top[^\. ]+)/) {
$inner = 'true';
#-----// ??...??.*** //----#
} elsif ($your_host =~ /(\.{0,1}$host_top)$/) {
$inner = 'true';
}
}
return;
}
# # # # #
#-----// Judgement //----#
sub judgement {
#-----// Low Suspect //----#
if ( ($noproxy == 2) && ($result eq '') ) {
$result = 'No proxy!';
$comment = 'Like no proxy server.';
} elsif ( ($result eq '') && ($keepalive eq '') ) {
$result = 'Anonymized';
$comment .= 'No "Connection=Keep-Alive" is dubious';
}
#-----// NoProxy //----#
if ($result eq 'NoProxy!') {
if ($rh_result eq 'IP Addr.') {
$judge = '1';
$j_comment = 'REMOTE_HOST that is IP addr. is precious.';
} elsif ($rh_result eq 'Via a Proxy') {
$judge = '3';
$j_comment = 'HTTP valuables are checked first.';
} elsif ($rh_result eq '?') {
$judge = '2';
$j_comment = 'Persistent variable checkers may suspect.';
} else {
$judge = '2';
$j_comment = 'Useful proxy server.';
}
#-----// Anonymized //----#
} elsif ($result eq 'Anonymized') {
if ($rh_result eq 'IP Addr.') {
$judge = '2';
$j_comment = 'Nice. It it useful.';
} elsif ($rh_result eq 'Via a Proxy') {
$judge = '3';
$j_comment = 'HTTP valuables are checked first.';
} elsif ($rh_result eq '?') {
$judge = '3';
$j_comment = 'Persistent valuables checkers may suspect.';
} else {
$judge = '2';
$j_comment = 'Useful proxy server.';
}
#-----// Via a Proxy //----#
} else {
if ($rh_result eq 'IP Addr.') {
$judge = '3';
$j_comment = 'So-so.';
} elsif ($rh_result eq 'Via a Proxy') {
$judge = '5';
$j_comment = 'If it is not slow, you can use.';
} elsif ($rh_result eq '?') {
$judge = '3';
$j_comment = 'So-so.';
} else {
$judge = '4';
$j_comment = 'If it is not slow, you can use.';
}
}
#-----// SPILL //----#
if ($your_host ne 'Anonymous') {
$judge .= '?';
if ($inner eq 'true') {
$j_comment = 'Internal proxy server?';
} else {
$j_comment = 'Spill your REMOTE_HOST?';
}
$j_comment .= " ($your_host)";
}
return;
}
# # # # #
#-----// Generate HTML document //----#
sub html {
print <<"_HTML_";
Content-type: text/html
<HTML>
<HEAD><TITLE>$title</TITLE></HEAD>
<BODY $body>
<CENTER>$title</CENTER>
<P><HR><P>
<PRE>
_HTML_
if ($ARGV[0] ne '') {
print "itself_host : @itself_host<HR>\n";
print "spill_addr : @spill_addr<HR>\n";
}
if ($chk_rh =~ /color="$warn"/) {
print " <FONT color=\"$warn\">via</FONT> - REMOTE_HOST=$chk_rh\n";
} elsif ($chk_rh =~ /color="$suspect"/) {
print " <FONT color=\"$suspect\">?</FONT> - REMOTE_HOST=$chk_rh\n";
} else {
print " REMOTE_HOST=$remote_host\n";
}
print " REMOTE_ADDR=$remote_addr\n\n";
foreach $envdat (@envdat) {
$envdat =~ s/^[^\t]+\t[^\t]+\t([^\t]+)\t([^\t]+)/$1$2/;
if ( ($your_host ne 'Anonymous') && ($envdat =~ /$your_host/) ) {
print "<FONT color=\"$warn\">SPILL</FONT> - ";
if ($envdat !~ />$your_host</) {
$envdat =~ s/$your_host/<FONT color="$warn">$your_host<\/FONT>/i;
}
} elsif ($envdat =~ /color="$warn"/) {
print " <FONT color=\"$warn\">via</FONT> - ";
} elsif ($envdat =~ /color="$suspect"/) {
print " <FONT color=\"$suspect\">?</FONT> - ";
} else {
print " ";
}
print "$envdat\n";
}
print <<"_HTML_";
</PRE>
<P><HR><P>
<UL>
<LI>REMOTE_HOST
<DL>
<DT>Result<DD>$rh_result
<DT>Comment<DD>$rh_comment
</DL><P>
<LI>HTTP Env. Value
<DL>
<DT>Result<DD>$result
<DT>Comment<DD>$comment
</DL><P>
<LI>AnonyLevel : <FONT size="+2" color="$levelcolor"><B>$judge</B></FONT>
(1:Nice - 5:Bad)<BR>
$j_comment<P>
</UL>
<P>
$nozoki_warn
<P><HR><P>
</BODY>
</HTML>
_HTML_
return;
}
__END_