Plugins de diarios de Argentina

Publicado por oogie.boogie, Enero 19, 2014, 11:51:21 AM

Tema anterior - Siguiente tema

oogie.boogie

Hola aqui les dejo varios plugins de diarios y revistas de la Republica Argentina, en los encabezados estan los comentarios de los mismos, espero les sirvan
#include <iostream>
#include <cstring>
#include <vector>
#include "../utils.cpp"

// clarin.com - incluye los videos de clarin.com, ole.com.ar y entremujeres.com
// Oogie Boogie - diciembre 31, 2013

// use this line to compile
// g++ -I. -fPIC -shared -g -o clarin.com.so clarin.com.cpp
// regex
// http.*\.clarin\.com.*(\.png|\.jpg|\.gif|\.swf|\.mp3|\.mp4|\.flv)

string dominiotxt="clarin.com -img-";
string get_filename(string url) {
      vector<string> resultado;
                if (url.find("?") != string::npos) {
                        stringexplode(url, "?", &resultado);
                        stringexplode(resultado.at(resultado.size()-2), "/", &resultado);
                        return resultado.at(resultado.size()-3)+"_"+resultado.at(resultado.size()-2)+"_"+resultado.at(resultado.size()-1);           
                } else {
                        stringexplode(url, "/", &resultado);
                        return resultado.at(resultado.size()-3)+"_"+resultado.at(resultado.size()-2)+"_"+resultado.at(resultado.size()-1);
                }
    }

extern "C" resposta getmatch(const string url) {
    resposta r;

if ( (url.find("ole.clarin.com/") != string::npos)
       ) {
    dominiotxt="ole.com.ar -videos-";
    }
    if ( (url.find("contenidos1.clarin.com/") != string::npos)
       ) {
    dominiotxt="clarin.com -videos-";
    }
    if ( (url.find("entremujeres.clarin.com/") != string::npos)
       ) {
    dominiotxt="entremujeres.clarin.com";
    }
    if ( (url.find(".clarin.com/") != string::npos)
         ) {
               
            r.file = get_filename(url);
                if (!r.file.empty()) {
                        r.match = true;
                        r.domain = dominiotxt;
                } else {
                        r.match = false;
                }
        } else {
                r.match = false;
        }
        return r;
}

#include <iostream>
#include <cstring>
#include <vector>
#include "../utils.cpp"

// Ole.com -Diario Deportivo- (los videos salen de ole.clarin.com)
// Oogie boogie - diciembre 31, 2013

// use this line to compile
// g++ -I. -fPIC -shared -g -o ole.com.ar.so ole.com.ar.cpp
// regex
// http.*\.ole\.com\.ar.*(\.png|\.jpg|\.gif|\.swf|\.flv)

string get_filename(string url) {
                vector<string> resultado;
                if (url.find("?") != string::npos) {
                        stringexplode(url, "?", &resultado);
                        stringexplode(resultado.at(resultado.size()-2), "/", &resultado);
                        return resultado.at(resultado.size()-1);           
                } else {
                        stringexplode(url, "/", &resultado);
                        return resultado.at(resultado.size()-1);
                }
}

extern "C" resposta getmatch(const string url) {
    resposta r;

        if ( (url.find("ole.com.ar/") != string::npos)
         ) {
               
            r.file = get_filename(url);
                if (!r.file.empty()) {
                        r.match = true;
                        r.domain = "ole.com.ar -img-";
                } else {
                        r.match = false;
                }
        } else {
                r.match = false;
        }
        return r;
}

#include <iostream>
#include <cstring>
#include <vector>
#include "../utils.cpp"

// Diario La Nacion
// Oogie Boogie - septiembre 15, 2013

// use this line to compile
// g++ -I. -fPIC -shared -g -o lanacion.com.ar.so lanacion.com.ar.cpp
// regex
// http.*\.lanacion\.com\.ar.*(\.png|\.jpg|\.gif|\.swf)

string get_filename(string url) {
                vector<string> resultado;
                if (url.find("?") != string::npos) {
                        stringexplode(url, "?", &resultado);
                        stringexplode(resultado.at(resultado.size()-2), "/", &resultado);
                        return resultado.at(resultado.size()-1);           
                } else {
                        stringexplode(url, "/", &resultado);
                        return resultado.at(resultado.size()-1);
                }
}

extern "C" resposta getmatch(const string url) {
    resposta r;

if ( (url.find(".lanacion.com.ar/") != string::npos)
   ) {

    r.file = get_filename(url);
if (!r.file.empty()) {
r.match = true;
r.domain = "lanacion.com.ar -img-";
} else {
r.match = false;
}
} else {
r.match = false;
}
return r;
}

#include <iostream>
#include <cstring>
#include <vector>
#include "../utils.cpp"

// Servidor de imagenes del diario lanacion.com
// Oogie Boogie - septiembre 15, 2013

// use this line to compile
// g++ -I. -fPIC -shared -g -o clanacion.com.ar.so clanacion.com.ar.cpp
// regex
// http.*\.clanacion\.com\.ar.*(\.png|\.jpg|\.gif|\.swf)

string get_filename(string url) {
                vector<string> resultado;
                if (url.find("?") != string::npos) {
                        stringexplode(url, "?", &resultado);
                        stringexplode(resultado.at(resultado.size()-2), "/", &resultado);
                        return resultado.at(resultado.size()-1);           
                } else {
                        stringexplode(url, "/", &resultado);
                        return resultado.at(resultado.size()-1);
                }
}

extern "C" resposta getmatch(const string url) {
    resposta r;

if ( (url.find(".clanacion.com.ar/") != string::npos)
   ) {

    r.file = get_filename(url);
if (!r.file.empty()) {
r.match = true;
r.domain = "lanacion.com.ar -img-";
} else {
r.match = false;
}
} else {
r.match = false;
}
return r;
}

#include <iostream>
#include <cstring>
#include <vector>
#include "../utils.cpp"

// diario pagina 12
// Oogie Boogie - noviembre 11, 2013

// use this line to compile
// g++ -I. -fPIC -shared -g -o pagina12.com.ar.so pagina12.com.ar.cpp
// regex
// http.*\.pagina12\.com\.ar.*(\.png|\.jpg|\.gif|\.swf)

string get_filename(string url) {
                vector<string> resultado;
                if (url.find("?") != string::npos) {
                        stringexplode(url, "?", &resultado);
                        stringexplode(resultado.at(resultado.size()-2), "/", &resultado);
                        return resultado.at(resultado.size()-1);           
                } else {
                        stringexplode(url, "/", &resultado);
                        return resultado.at(resultado.size()-1);
                }
}

extern "C" resposta getmatch(const string url) {
    resposta r;

if ( (url.find(".pagina12.com.ar/") != string::npos)
   ) {

    r.file = get_filename(url);
if (!r.file.empty()) {
r.match = true;
r.domain = "pagina12.com.ar";
} else {
r.match = false;
}
} else {
r.match = false;
}
return r;
}/code]
[code]#include <iostream>
#include <cstring>
#include <vector>
#include "../utils.cpp"

// Servidor de imagenes de editorial perfil.com
// Oogie Boogie - enero 18, 2014

// use this line to compile
// g++ -I. -fPIC -shared -g -o perfil.com.so perfil.com.cpp
// regex
// http.*\.perfil\.com.*(\.png|\.jpg|\.gif|\.swf)

string dominiotxt="perfil.com -img-";
string get_filename(string url) {
                vector<string> resultado;
                if (url.find("?") != string::npos) {
                        stringexplode(url, "?", &resultado);
                        stringexplode(resultado.at(resultado.size()-2), "/", &resultado);
                        return resultado.at(resultado.size()-1);           
                } else {
                        stringexplode(url, "/", &resultado);
                        return resultado.at(resultado.size()-1);
                }
}

extern "C" resposta getmatch(const string url) {
    resposta r;

      if ( (url.find("noticias.perfil.com/") != string::npos)
       ) {
    dominiotxt="noticias.perfil.com";
         }
      if ( (url.find("caras.perfil.com/") != string::npos)
       ) {
    dominiotxt="caras.perfil.com";
         }
      if ( (url.find(".perfil.com/") != string::npos)
         ) {
               
            r.file = get_filename(url);
                if (!r.file.empty()) {
                        r.match = true;
                        r.domain = dominiotxt;
                } else {
                        r.match = false;
                }
        } else {
                r.match = false;
        }
        return r;
}

#include <iostream>
#include <cstring>
#include <vector>
#include "../utils.cpp"

// Servidor de imagenes de la revista noticias.com
// Oogie Boogie - enero 18, 2014

// use this line to compile
// g++ -I. -fPIC -shared -g -o noticias.com.so noticias.com.cpp
// regex
// http.*\.noticias\.com.*(\.png|\.jpg|\.gif|\.swf)

string get_filename(string url) {
                vector<string> resultado;
                if (url.find("?") != string::npos) {
                        stringexplode(url, "?", &resultado);
                        stringexplode(resultado.at(resultado.size()-2), "/", &resultado);
                        return resultado.at(resultado.size()-1);           
                } else {
                        stringexplode(url, "/", &resultado);
                        return resultado.at(resultado.size()-1);
                }
}

extern "C" resposta getmatch(const string url) {
    resposta r;

if ( (url.find(".noticias.com/") != string::npos)
   ) {

    r.file = get_filename(url);
if (!r.file.empty()) {
r.match = true;
r.domain = "noticias.com -img-";
} else {
r.match = false;
}
} else {
r.match = false;
}
return r;
}

firecold

Gracias amigo por tus aportes, creo que a muchos les servira, Saludos

enegraso

Preguntonta: donde se guardan las imagenes para los plugin? Muchas gracias. Ah, me olvidé decir que ya los estoy usando.

Lo encontré!

/var/rapotor/img-domain

Muchas gracias.

josluiher03

Estimado como hago para crearlos, podrias indicarme los pasos por favor. Gracias, Tienes el plugin de youtube ya que no mwe funciona. Gracias

firecold

Cita de: josluiher03 en Junio 16, 2014, 09:17:39 AM
Estimado como hago para crearlos, podrias indicarme los pasos por favor. Gracias, Tienes el plugin de youtube ya que no mwe funciona. Gracias

El de youtube es muy complicado para que usted o yo lo hagamos, pero el amigo joemg6 pronto presentara sus avances, Saludos

josluiher03

Muchas gracias, pero me interesa saber si realmente funciona el de youtube, ya actualice a googlevideo pero igual no me cahea, tenes el script o el .so o cpp asi lo compilo. Gracias

firecold

Cita de: josluiher03 en Junio 16, 2014, 10:03:36 AM
Muchas gracias, pero me interesa saber si realmente funciona el de youtube, ya actualice a googlevideo pero igual no me cahea, tenes el script o el .so o cpp asi lo compilo. Gracias

que version de Raptor estas usando, Saludos

manibal

Muy bueno el aporte!.

Tengo un problema con el del diario la nacion. Cuando abro la pagina no se cargan las imagenes. a alguien le ah pasado lo mismo.

Trate de sacar el plugin deshabilitandolo, pero el problema persiste (después de reiniciar, apagar vover a prender etc).

Alguien sabe como sacarlo, o hacerlo andar?

Desde ya muchas gracias.

firecold

Cita de: manibal en Diciembre 08, 2014, 01:02:44 PM
Muy bueno el aporte!.

Tengo un problema con el del diario la nacion. Cuando abro la pagina no se cargan las imagenes. a alguien le ah pasado lo mismo.

Trate de sacar el plugin deshabilitandolo, pero el problema persiste (después de reiniciar, apagar vover a prender etc).

Alguien sabe como sacarlo, o hacerlo andar?

Desde ya muchas gracias.

Amigo me puede mostrar el plugin y la url de la pagina en cuestion, para poder ayudarle, segun veo tambien, la pagina lanacion.com.ar, su contenido sale de clanacion.com.ar, si puede mandeme un log de raptor y veremos que pasa, Saludos

manibal

Muchas Gracias Por la respuesta. Espero poner toda la info que necesitas.

Primero esta es una captura donde busque una foto que no entrega el proxy.




aqui la pagina de donde proviene esta imagen.




http://canchallena.lanacion.com.ar/1750871-matias-almeyda-ramon-diaz-fue-quien-me-saco-de-river


Agrego (repitiendo), el codigo del plugin que instale.


#include <iostream>
#include <cstring>
#include <vector>
#include "../utils.cpp"

// Servidor de imagenes del diario lanacion.com
// Oogie Boogie - septiembre 15, 2013

// use this line to compile
// g++ -I. -fPIC -shared -g -o clanacion.com.ar.so clanacion.com.ar.cpp
// regex
// http.*\.clanacion\.com\.ar.*(\.png|\.jpg|\.gif|\.swf)

string get_filename(string url) {
               vector<string> resultado;
               if (url.find("?") != string::npos) {
                       stringexplode(url, "?", &resultado);
                       stringexplode(resultado.at(resultado.size()-2), "/", &resultado);
                       return resultado.at(resultado.size()-1);          
               } else {
                       stringexplode(url, "/", &resultado);
                       return resultado.at(resultado.size()-1);
               }
}

extern "C" resposta getmatch(const string url) {
   resposta r;

if ( (url.find(".clanacion.com.ar/") != string::npos)
  ) {

   r.file = get_filename(url);
if (!r.file.empty()) {
r.match = true;
r.domain = "lanacion.com.ar -img-";
} else {
r.match = false;
}
} else {
r.match = false;
}
return r;
}


capaz puedas probarlo y ver si te pasa lo mismo que a mi.

Lo curioso es que saque el archivo .so de la carpeta raptor/plugins, lo deshabilite del plugins on/off. El pluguin dejo de figurar en la lista de plugins habilitados, pero las imagenes me las sigue sin mostrar. Si saco el servidor de linea me las comienza a mostrar nuevamente


Tambien quiero Felicitarlos porque el Raptor (salvo este detalle) anda muy Bien!.



Si necesitas mas informacion por favor no dudes en avisarme

Desde ya muchas Gracias

firecold

Cita de: manibal en Diciembre 09, 2014, 07:21:45 PM
Muchas Gracias Por la respuesta. Espero poner toda la info que necesitas.

Desde ya muchas Gracias

Amigo te comento segun tu imagen:



Te puedes dar cuenta  que no esta haciendo cache raptor, ya que cuando raptor esta haciendo cache aparece MISS from Raptor, y en este caso no es asi, el problema es que ahora RaptorCache no cachea archivos menores de 2MB, ya que para eso esta Squid, para manejar el contenido pequeño y el contenido pesado que lo maneje Raptor, ahora bien su problema debe de ser ya sea del cache del navegador o el cache de squid y en todo caso le recomiendo que borre los dos, y que quede claro que le estoy diciendo que el cache de squid, mas no el de raptor, para borrar el cache de squid tendria que hacer esto:

Código (bash) [Seleccionar]
service squid3 stop
rm -Rf /var/spool/squid3/*
squid3 -z
service squid3 start


Y despues el del navegador, estare al pendiente para ver que pasa con su problema, Saludos

jonimh

oye amigo a mi me pasaba lo mismo con mercadolibre.com.mx y al borrar todo el cache del squid ahora me entraga muy bien la pagina, cabe mencionar que intente desabilitar el plugin y asi no me funciono y tambien solo apagando el servidor me entregaba bien la ´pagina, bueno pongo a consideracion mi solucion ya que yo tube que desacerme de todo el contenido ya cacheado y ahora estoy empezando de nuevo

luistec

Si solo quieren eliminar el caché del squid borren el contenido que está dentro de la carpeta "/var/spool/squid3/cache1/" y luego ejecuten los siguientes comandos.

service squid3 stop
squid -z
service squid3 restart


Saludos.

manibal

Muchas Gracias ahi aparentemente quedo andando!.

Digo aparentemente porque lo probe y cargaba bien la pagina. Después vi la actualización a la versión 1.0.6b, y la instale.

Al rato cuando voy a ver si había guardado archivos y modificado la DB, vi que no guarda ningún archivo y la base de datos sigue vacía... reviso el acces.log y se ve el registro de las paginas y archivos que se consultan, pero todos son MISS. reviso el error.log y solo hay paginas a las que no pudo acceder. el sys.log estan los encendidos y el PID de cada uno. y url.log esta vacio.

Voy a seguir tratando de averiguar que pasa y cuando no sepa que mas hacer publicare en el hilo correspondiente, la solución o el problema!.

Saludos y gracias a todos.

firecold

Cita de: manibal en Diciembre 10, 2014, 06:05:24 PM
Muchas Gracias ahi aparentemente quedo andando!.

Digo aparentemente porque lo probe y cargaba bien la pagina. Después vi la actualización a la versión 1.0.6b, y la instale.

Al rato cuando voy a ver si había guardado archivos y modificado la DB, vi que no guarda ningún archivo y la base de datos sigue vacía... reviso el acces.log y se ve el registro de las paginas y archivos que se consultan, pero todos son MISS. reviso el error.log y solo hay paginas a las que no pudo acceder. el sys.log estan los encendidos y el PID de cada uno. y url.log esta vacio.

Voy a seguir tratando de averiguar que pasa y cuando no sepa que mas hacer publicare en el hilo correspondiente, la solución o el problema!.

Saludos y gracias a todos.

Estaremos al pendiente, con su problema, con respecto a esto, debo preguntar si borro la base de datos y no solo los archivos, Saludos

manibal

muchas gracias por estar atentos.

Si habia eliminado todas las entradas de la base de datos, no la base de datos.

Creo encontre el problema.

En el log de squid me figuraba los siguiente:

IpIntercept.cc(137) NetfilterInterception:  NF getsockopt(SO_ORIGINAL_DST) failed on FD 74: (92) Protocol not available

Con la fecha en la que había comenzado a trabajar. Buscando vi algunas soluciones que tenían que ver con ip tables y ruteo de los datos por los puertos, pero eso yo lo tenia andando gracias a las precisas instrucciones del foro de como ponerlo en paralelo con el router de mikrotik.

Asi que me decidí y borre el squid y el raptor con instrucciones que hay en el foro e instale de cero el raptor como indican en la sección de instalación.

salia varias veces en bind9. (a tener en cuenta, no se si es normal).

Una vez que termino la instalación tuve que modificar la configuración del apache, borrarle el direccionamiento a los puertos 82 y 84. Salio andando el webpanel y todo parece funcionar salvo algunos detalles que ire viendo con el tiempo como:

- La indicación de la ram a veces salta del 99% al 5% de un salto puede ser pero me parece un poco raro tanto salto. Se nota que esta muy trabajada la interfaz como para un monitoreo constante.
- Tengo la impresión que algunos plugin anteriores no anduviesen (es una conjetura apresurada todavía), pero recuerdo que cuando instale y lo deje andando por primera vez pagina que entraba que estaba al plugin algo guardaba!, ahora no es tan así. voy a seguir investigando a ver que puede estar pasando.

Otra consulta en el acces.log del raptor quedan solo las paginas que están con un pluguin del raptor funcionando o todas las que pasan por el servidor?

Desde ya muchas gracias por su tiempo

Saludos Anibal

firecold

Cita de: manibal en Diciembre 11, 2014, 08:27:38 PM
muchas gracias por estar atentos.

Si habia eliminado todas las entradas de la base de datos, no la base de datos.

Creo encontre el problema.

En el log de squid me figuraba los siguiente:

IpIntercept.cc(137) NetfilterInterception:  NF getsockopt(SO_ORIGINAL_DST) failed on FD 74: (92) Protocol not available

Con la fecha en la que había comenzado a trabajar. Buscando vi algunas soluciones que tenían que ver con ip tables y ruteo de los datos por los puertos, pero eso yo lo tenia andando gracias a las precisas instrucciones del foro de como ponerlo en paralelo con el router de mikrotik.

Asi que me decidí y borre el squid y el raptor con instrucciones que hay en el foro e instale de cero el raptor como indican en la sección de instalación.

salia varias veces en bind9. (a tener en cuenta, no se si es normal).

Una vez que termino la instalación tuve que modificar la configuración del apache, borrarle el direccionamiento a los puertos 82 y 84. Salio andando el webpanel y todo parece funcionar salvo algunos detalles que ire viendo con el tiempo como:

- La indicación de la ram a veces salta del 99% al 5% de un salto puede ser pero me parece un poco raro tanto salto. Se nota que esta muy trabajada la interfaz como para un monitoreo constante.
- Tengo la impresión que algunos plugin anteriores no anduviesen (es una conjetura apresurada todavía), pero recuerdo que cuando instale y lo deje andando por primera vez pagina que entraba que estaba al plugin algo guardaba!, ahora no es tan así. voy a seguir investigando a ver que puede estar pasando.

Otra consulta en el acces.log del raptor quedan solo las paginas que están con un pluguin del raptor funcionando o todas las que pasan por el servidor?

Desde ya muchas gracias por su tiempo

Saludos Anibal

Amigo efectivamente el access.log de raptor solo hace mención de lo que se hace cache con raptor, solo squid en su access.log hace mención de todo lo que pasa por dicho servidor, ahora bien su problema que menciona:

IpIntercept.cc(137) NetfilterInterception:  NF getsockopt(SO_ORIGINAL_DST) failed on FD 74: (92) Protocol not available

Es por falta de una regla de redireccion de iptables, en el foro encontrara respuestas sobre este problema, esto es causado por la tranparencia de squid al recibir los datos y creame nos facilita bastante la vida, por otra no habia necesidad de instalar desde cero raptorcache, pero bueno, lo hecho, hecho esta, con respecto a su problema de que a veces de incrementa el consumo de memoria es cuestion de que teclee un:

Código (bash) [Seleccionar]
top

Y fijarse que proceso esta haciendo gran consumo de memoria, con estos datos le podremos seguir ayudando, Saludos