Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - idst

#1
Estaba buscando un sitio con proxies para unas pruebas con Proxychains y los únicos que encontré que funcionan son de htt://www. hidemyass.com/proxy-list/. El problema es que las IP parecen estar ofuscadas con CSS, así que lo resolví con regex pero no estoy seguro que sea la mejor forma.

De uqe otra forma se puede hacer o alguien sabe de otro sitio? Gracias.

Código (perl) [Seleccionar]

use strict;
use LWP::UserAgent;

my $source = 'http://www.hidemyass.com/proxy-list/';
my $agent = 'Mozilla/5.0 (X11; Linux i686) Firefox/16.0';

my $browser = LWP::UserAgent->new( agent => $agent );
my $response = $browser->get($source);
die "Can't get $source\n" unless $response->is_success;
my $content = $response->content;

print 'UPDATE |    IP ADDRESS:PORT    |   TYPE   | COUNTRY | SPEED',
" | CTIME | ANON LVL\n", '~' x 78, "\n";

while ( $content =~ m/(<tr class=".*?<\/tr>)/gs ) {
   my $tr = $1;
   my %data;
   while ( $tr =~ m/(<td[^>]*>.*?<\/td>)/gs ) {
       my $td = $1;
       if ( $td =~ m/updatets\s*">\s*(\d+ (:?secs|minutes?))</ ) {
           $data{'update'} = $1;
       }
       elsif ( $td =~ m/<style>/ ) {
           $data{'ip'} = de_css($td);
       }
       elsif ( $td =~ m/<td>\s*(\d+)\s*<\/td>/ ) {
           $data{'port'} = $1;
       }
       elsif ( $td =~ m/class="country".*?>\s*([^<]+)<\s/s ) {
           $data{'country'} = $1;
       }
       elsif ( $td =~ m/response_time.*?"width:(\d+%)"/s ) {
           $data{'rtime'} = $1;
       }
       elsif ( $td =~ m/connection_time.*?"width:(\d+%)"/s ) {
           $data{'ctime'} = $1;
       }
       elsif ( $td =~ m/<td>(https?|socks4\/5)<\/td>/i ) {
           $data{'type'} = $1;
       }
       elsif ( $td =~ m/rightborder">([^<]+)<\/td>/ ) {
           $data{'anon'} = $1;
       }
   }

   printf "%6s | %-21s | %-8s | %-7s | %-5s | %-5s | %-8s\n",
     substr( $data{'update'}, 0, 6 ), "$data{'ip'}:$data{'port'}",
     $data{'type'},
     substr( $data{'country'}, 0, 7 ), $data{'rtime'}, $data{'ctime'},
     $data{'anon'};
}

sub de_css {
   my $ip = shift;
   $ip =~ s/<(:?div|span) style="display:none">[^<]*<\/[^>]+>//g;
   $ip =~ s/\.[\w\-_]+\{display:inline\}//g;

   while ( $ip =~ m/\.([\w\-_]+)\{display:none\}/g ) {
       my $class = $1;
       $ip =~ s/\.$class\{display:none\}//;
       $ip =~ s/<span class="$class">[^<]*<\/span>//g;
   }

   $ip =~ s/\s*//gs;

   return join '', $ip =~ m/>([^<]+)</gs;
}

__END__