Busco un web-proxy, el cual...

Iniciado por Eleкtro, 23 Julio 2015, 12:57 PM

0 Miembros y 2 Visitantes están viendo este tema.

Pablo Videla

A que te refieres que no puedes automatizar exactamente con el servicio tor?

moikano→@

#11
Cita de: Eleкtro en 23 Julio 2015, 16:07 PM

Te lo agradezco mucho pero creo que te haría perder el tiempo por que no domino la programación a nivel web, tal vez no sepa que hacer con esos scripts en php, pero si quieres, sea bienvenida tu ayuda en ese sentido ::) y gracias de nuevo.


Vaya, si no dominas php no te servirá. De todas formas estaba esperando un momento así para meterlo como aporte. Así que lo prepararé y te pego el enlace por aquí en cuanto lo tenga.

El enlace a github: https://github.com/moikanolaplana/jproxyson.git

Otro dia hago el aporte con un hilo explicándolo bien en el apartado de programación web, o en redes... no se, ya lo miraré.

Está explicado todo en el README.MD pero si tienes dudas preguntame.

Eleкtro

Cita de: Pablo Videla en 23 Julio 2015, 16:53 PMA que te refieres que no puedes automatizar exactamente con el servicio tor?

Pues que para automatizar el web-scrapping de la forma que mencionas entonces debería usar técnicas IPC, ya que dependería de un programa externo para el algoritmo que tengo desarrollado en mi propia aplicación, no es algo viable ...mucho pero que mucho trabajo y requeriría casi empezar desde cero, ¿me entiendes?.




Cita de: moikano→@ en 23 Julio 2015, 18:29 PMEl enlace a github: https://github.com/moikanolaplana/jproxyson.git

Le echaré un vistazo.




Bueno, en mi código ya he implementado el algoritmo "testeador" de proxys... pero es un ascazo hacer web-scrapping mediante proxys, aparte de tener que hallar un proxy válido, por cada página de plixid.com debo hacer muchas redirecciones ya que cada url de cada álbum está "cifrada" y, aparte de que me he dado cuenta que muchísimos proxys no pueden hacer esto, además, para iterar los álbumes de una sola página me tarda como 5-10 minutos por la cantidad de conexiones que debe establecer con la genial hyper-velocidad de un proxy...

Ojalá sepan de algún servicio web-proxy sencillo de manejar, es decir, un servicio que al obtener la respuesta de la query se obtenga el código fuente de la página objetivo...

saludos








moikano→@

Cita de: Eleкtro en 24 Julio 2015, 14:30 PM

Bueno, en mi código ya he implementado el algoritmo "testeador" de proxys... pero es un ascazo hacer web-scrapping mediante proxys, aparte de tener que hallar un proxy válido, por cada página de plixid.com debo hacer muchas redirecciones ya que cada url de cada álbum está "cifrada" y, aparte de que me he dado cuenta que muchísimos proxys no pueden hacer esto, además, para iterar los álbumes de una sola página me tarda como 5-10 minutos por la cantidad de conexiones que debe establecer con la genial hyper-velocidad de un proxy...

Ojalá sepan de algún servicio web-proxy sencillo de manejar, es decir, un servicio que al obtener la respuesta de la query se obtenga el código fuente de la página objetivo...

saludos

Y si pruebas con vpns que van bastante mejor y dejan hacer cualquier tipo de conexión totalmente customizada? Porque además de testear los proxys por si van también tienes que testear si son 100% anónimos, es decir, si son indetectables por cabeceras.

Por aquí tengo un script que lo montas en servidor web, le haces peticiones y te da las cabeceras en forma de json además de buscar la ip real a la que se hace la ip. De esta forma puedes comparar si realmente te están escondiendo la ip y si no están enviando cabeceras típicas de proxy como x-cache o incluso proxy-ip, y cosas así.

El script es este

Código (php) [Seleccionar]

<?php
 
        
if (!function_exists('getallheaders')){
        function 
getallheaders(){
           
$headers '';
                foreach (
$_SERVER as $name => $value){
                        if (
substr($name05) == 'HTTP_'){
                        
$headers[str_replace(' ''-'ucwords(strtolower(str_replace('_'' 'substr($name5)))))] = $value;
                        }
                }
                return 
$headers;
        }
        }
 
        function 
getRealIP()
                {
 
                        
$dataShow = array();
                        if( isset(
$_SERVER['HTTP_X_FORWARDED_FOR']) )
                        {
                        
$client_ip =
                                ( !empty(
$_SERVER['REMOTE_ADDR']) ) ?
                                
$_SERVER['REMOTE_ADDR']
                                :
                                ( ( !empty(
$_ENV['REMOTE_ADDR']) ) ?
                               
$_ENV['REMOTE_ADDR']
                               :
                               
"unknown" );
                  
                        
$entries preg_split('/[, ]/'$_SERVER['HTTP_X_FORWARDED_FOR']);
                  
                        
reset($entries);
                                while (list(, 
$entry) = each($entries))
                        {
                                        
$entry trim($entry);
                                        if ( 
preg_match("/^([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/"$entry$ip_list) )
                                        {
                                        
$private_ip = array(
                                                  
'/^0\./',
                                                  
'/^127\.0\.0\.1/',
                                                  
'/^192\.168\..*/',
                                                  
'/^172\.((1[6-9])|(2[0-9])|(3[0-1]))\..*/',
                                                  
'/^10\..*/');
                          
                                        
$found_ip preg_replace($private_ip$client_ip$ip_list[1]);
                  
                                        if (
$client_ip != $found_ip)
                                        {
                                           
$client_ip $found_ip;
                                           break;
                                        }
                                        }
                        }
                   }
                   else
                   {
                        
$client_ip =
                                ( !empty(
$_SERVER['REMOTE_ADDR']) ) ?
                            
$_SERVER['REMOTE_ADDR']
                            :
                            ( ( !empty(
$_ENV['REMOTE_ADDR']) ) ?
                               
$_ENV['REMOTE_ADDR']
                               :
                               
"unknown" );
                        }
 
                        return 
$client_ip;
        }
 
        function 
getGeoIp($ip,$key null){
                
$geoData geoip_record_by_name($ip);
                if(!empty(
$key) && array_key_exists($key$geoData) ){
                        return 
$geoData[$key];
                }
                return 
$geoData;
 
        }
 
        function 
getInfo(){
 
                
$ip "";
 
                if( isset(
$_GET["ip"])){
                        
$ip $_GET["ip"];
                }else{
                        
$ip getRealIP();
                }
 
                
$dataShow["ip"] = $ip;
                
$dataShow["geo"] = getGeoIp($ip);
 
                if(isset(
$_GET["headers"])){
                        
$dataShow["headers"] = getallheaders();
                }
                if(isset(
$_GET["server"])){
                        
$dataShow["server"] = $_SERVER;
                }
 
                echo 
json_encode($dataShow);
 
        }
 
        
getInfo();
?>


Si quieres mas info aquí lo tienes mejor explicado.

[url]http://www.alquimistadesistemas.tk/programacion/web/php/php-scripts/48-script-saca-la-ip-real-su-geolocalizacion-y-los-headers[/url]


Todo esto de los proxys, testeos, conseguirlos,... es todo un mundo y da mucho trabajo, pero también son muy útiles.

Eleкtro

#14
Cita de: moikano→@ en 24 Julio 2015, 15:31 PMY si pruebas con vpns que van bastante mejor y dejan hacer cualquier tipo de conexión totalmente customizada?

Muchas gracias por el consejo, ha sido probar un VPN y se han resuelto todos mis problemas.

Lo resolví usando esta aplicación:
CyberGhost VPN

La versión gratuita tiene una cola de espera de 60-90 segundos, algo muy soportable, permite estar conectado durante 3 horas, y es una conexión sencillamente muy veloz.

Prefiero esto a marearme con listas de proxys, que solo el testing de proxys ya lleva mucho más tiempo.

En resumen, esta es la cantidad de modificacioens que le tuve que hacer al algoritmo de la app y la app en general:
Utilizando un VPN: Cero, absolutmaente ninguna.
Utilizando proxys: Una infinidad de modificaciones.

Tema solucionado.

EDITO: Por si fuera poco, acabo de descubrir que además proporcionan un servicio web-proxy gratuito, el cual es justamente lo que yo quería, jaja:
http://www.cyberghostvpn.com/en/proxy
En la respuesta se puede ver el código fuente de la página objetivo, la única pega es que los enlaces originales del código fuente se cifran, pero es codificación html así que genial no pasa nada.

Un saludo!