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.

Menú Mostrar Mensajes

Mensajes - oogie.boogie

#21
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;
}
#22
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;
}
#23
Plugins para RaptorCache / Consulta ¿?
Enero 17, 2014, 11:13:46 AM
Hola: alguien me podria explicar cual es la diferencia entre este codigo ???
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);
                }
}

y este otro  ???
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()-4) + "_" + resultado.at(resultado.size()-3) + "_" + resultado.at(resultado.size()-2) + "_" +resultado.at(resultado.size()-1);           
        } else {
            stringexplode(url, "/", &resultado);
            return resultado.at(resultado.size()-4) + "_" + resultado.at(resultado.size()-3) + "_" + resultado.at(resultado.size()-2) + "_" +resultado.at(resultado.size()-1); ;
        }
}

o dicho de otra manera, por que en algunos casos se usa el primer codigo en la estructura if...else y en otros el segundo, e incluso, he llegado a ver que a veces ese loop se repite hasta un numero de 6,  ???
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()-6) + "_" + resultado.at(resultado.size()-5) + "_" + resultado.at(resultado.size()-4) + "_" + resultado.at(resultado.size()-3) + "_" + resultado.at(resultado.size()-2) + "_" +resultado.at(resultado.size()-1);           
                } else {
                        stringexplode(url, "/", &resultado);
                        return resultado.at(resultado.size()-6) + "_" + resultado.at(resultado.size()-5) + "_" + resultado.at(resultado.size()-4) + "_" + resultado.at(resultado.size()-3) + "_" + resultado.at(resultado.size()-2) + "_" +resultado.at(resultado.size()-1); ;
                }
}

ya que me gustaria aprender en que casos se debe usar uno u otro.
Gracias
#24
Plugins para ThunderCache 3.1.2 / Consulta ¿?
Enero 15, 2014, 10:51:18 AM
Hola: alguien me podria explicar cual es la diferencia entre este codigo 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);
                }
}

y este otro
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()-4) + "_" + resultado.at(resultado.size()-3) + "_" + resultado.at(resultado.size()-2) + "_" +resultado.at(resultado.size()-1);           
        } else {
            stringexplode(url, "/", &resultado);
            return resultado.at(resultado.size()-4) + "_" + resultado.at(resultado.size()-3) + "_" + resultado.at(resultado.size()-2) + "_" +resultado.at(resultado.size()-1); ;
        }
}

o dicho de otra manera, por que en algunos casos se usa el primer codigo y en otros el segundo e incluso he llegado a ver que a veces se usa hasta un numero de 6
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()-6) + "_" + resultado.at(resultado.size()-5) + "_" + resultado.at(resultado.size()-4) + "_" + resultado.at(resultado.size()-3) + "_" + resultado.at(resultado.size()-2) + "_" +resultado.at(resultado.size()-1);           
                } else {
                        stringexplode(url, "/", &resultado);
                        return resultado.at(resultado.size()-6) + "_" + resultado.at(resultado.size()-5) + "_" + resultado.at(resultado.size()-4) + "_" + resultado.at(resultado.size()-3) + "_" + resultado.at(resultado.size()-2) + "_" +resultado.at(resultado.size()-1); ;
                }
}
#25
Ah!! me olvidaba decirte que estoy tratando de hacer un plugin que chachee solo "ole.clarin.com", para poder diferenciarlo del de "clarin.com", hasta ahora no lo hice funcionar, pero no pierdo las esperanzas.
salu2
#26
Ok, yo tambien hago lo mismo, pero te comentaba que lo .flv ole los toma de "ole.clarin.com" y que si le agregas al plugin de clarin para que cachee esa extension estarias haciendo cache de los videos de ole.
muchos saludos
#27
:) Muy bueno lo tuyo amigo, mis felicitaciones. Seria muy util que cuando puedas, subieras tambien los .cpp a disposicion del foro, ya que tener el codigo de un plugin que funciona sirve para comparar con el que uno ha hecho y aprender/entender por que el propio no lo hizo.
??? Por otro lado te  pregunto si en el plugin de ole.com.ar tuviste en cuenta que los videos .flv de esa pagina son proporcionados desde la pagina clarin.com, esto se corrige agregando la extension .flv en el regex de clarin.com.
Un cordial saludo y un Muy Feliz Año Nuevo para todo los integrantes del Foro  :-*  :-*
#29
Yo lo tengo funcionando en thunder, a lo mejor para raptor falta alguna libreria y tengas que agregarla.
cambia el encabezado por este:

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

using namespace std;"


// argim.net - descargas p/celulares
// Oogie Boogie


te repito, lo tengo funcando hace como ,dos meses, espero q' lo puedas hacer andar - saludos
#30
Gracias amigo joem, los voy a probar en thunder
#31
Hola amigo: proba con este y despues me comentas como te fue. Saludos

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

// argim.net - descargas p/celulares
// Oogie Boogie

// use this line to compile
// g++ -I. -fPIC -shared -g -o argim.net.so argim.net.cpp
// Regex
// http.*\.argim\.net.*

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()-4) + "_" + resultado.at(resultado.size()-3) + "_" + resultado.at(resultado.size()-2) + "_" +resultado.at(resultado.size()-1);          
               } else {
                       stringexplode(url, "/", &resultado);
                       return resultado.at(resultado.size()-4) + "_" + 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(".argim.net") != string::npos)
  ) {
   
      r.file = get_filename(url);
     if (!r.file.empty()) {
        r.match = true;
        r.domain = "argim.net";
     } else {
        r.match = false;
     }
  } else {
     r.match = false;
  }
  return r;
}
#32
Plugins para RaptorCache / Re:Plugins
Noviembre 23, 2013, 09:07:08 PM
Hola amigo, aqui tienes los plugins de cartoonnetwork.es y tudiscoverykids.com, estan probados y funcionando OK, saludos

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

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

string dominiotxt="cartoonnetwork.es";
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("/shows/") != string::npos)
       ) {
    dominiotxt="cartoon-shows";
    }
    if ( (url.find("/games/") != string::npos)
       ) {
    dominiotxt="cartoon-games";
    }
    if ( (url.find("/videos/") != string::npos)
       ) {
    dominiotxt="cartoon-videos";
    }
    if ( (url.find("/seriestv/") != string::npos)
       ) {
    dominiotxt="cartoon-series";
    }
    if ( (url.find(".cartoonnetwork.es/") != string::npos) and
   ((url.find(".jpg")!= string::npos) or
   (url.find(".png")!= string::npos) or
   (url.find(".mp3")!= string::npos) or
   (url.find(".flv")!= string::npos) or
   (url.find(".swf")!= 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"

// tudiscoverykids.com - juegos para chicos

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


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()-4) + "_" + resultado.at(resultado.size()-3) + "_" + resultado.at(resultado.size()-2) + "_" +resultado.at(resultado.size()-1);         
                } else {
                        stringexplode(url, "/", &resultado);
                        return resultado.at(resultado.size()-4) + "_" + 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(".tudiscoverykids.com") != string::npos)
   ) {
     
       r.file = get_filename(url);
      if (!r.file.empty()) {
         r.match = true;
         r.domain = "tudiscoverykids.com";
      } else {
         r.match = false;
      }
   } else {
      r.match = false;
   }
   return r;
}


PD: el regex de tudiscovery bien podria ser solo con las extensiones .png, .jpg y .swf ya que esos son los archivos que he visto cachear, del resto de las extensiones, ni noticia. saludos
#33
Hola amigo, no hay que desesperarse, hay que ir por pasos, lo primero que debes saber es que los .cpp no se instalan, hay que copiarlos a etc/thunder/pluginmaker/plugins/ para poder compilarlos y generar el archivo .so, y una vez generado este archivo (el .so) debe copiarse o moverse a la carpeta etc/thunder/plugins/, que es donde residen todos los archivos con extension.so
No hay que olvidar darle los permisos de ejecucion al archivo generado (el .so)

Como se hace?
Si editas el archivo .cpp, en la 5ta o 6ta linea te encontraras  con algo similar a esto:
// use this line to compile
// g++ -I. -fPIC -shared -g -o alibaba.com.so alibaba.com.cpp
// regex
// http.*\.alibaba\.com.*(\.jpg|\.png|\.gif\.swf)
,
la linea g++ -I. -fPIC -shared -g -o alibaba.com.so alibaba.com.cpp sin  "//", es la directiva de compilacion, que debes usar por terminal, siendo en este caso alibaba.com el URL del plugin de este ejemplo, que luego de compilarse generara el alibaba.com.so.
el regex, es lo que debes copiar en la thunder.lst para que tu plugin sea reconocido por el Thunder y si esta bien hecho funcione, eso lo haces en la pantalla del Thunder Report, segunda pestaña Thundercache opcion On-Off Plugins.
Hecho esto, vas a la parte inferior y presiona Guardar y luego Reiniciar, tienes tambien que reiniciar el Squid para que el plugin funcione; solapa Squid opcion Squid .conf abajo Reiniciar
De todas maneras te recomiendo que mires tambien la explicacion del amigo joem en Edición de plugins Thundercache 3.1.2
http://www.alterserv.com/foros/index.php?topic=9.0
Espero te haya sido de utilidad, saludos
#34
Hola amigos: en el caso de estar los dos activados, el DNS del MK y el del Thunder, que inconvenientes puede acarrear? ???, pregunto esto, porque configure un hotspot en una de las interfaces MK y solo funciona cuando desactivo el thunder desde la regla del NAT o bien cuando en el PC activo la casilla de Servidor Proxy y coloco los valores del Thunder (192.168.10.2:3128) o sea que no funciona en forma transparente :-X
Si no fuera por lo comentado, la instalacion del Thunder/Squid/Sarg que suministra Joem, anda de maravillas :-*
Saludos y gracias
#35
 Hola: quiza alguno de los amigos del foro me sepa decir que hacer, tengo el thunder 3.1.2 instalado junto con el squid 3.x en paralelo con un mikrotik RB750GL, con las reglas de Joem para redireccionar y priorizar el trafico.
Hasta aqui todo bien, el problema surge cuando configuro el hotspot del MK, ya que solo se activa la pantalla de presentacion y navego cuando activo la casilla de Servidor Proxy y coloco los valores de IP y puerto del Thunder ( 192.168.10.2 : 3128) en el internet explorer >> Herramientas >> Opciones de Internet >> Conexiones >> Configuracion de Lan >> Servidor Proxy o bien cuando en el MK >> IP >> Firewall >> Nat desactivo la Redireccion del Thunder, Regla  de Joem:
add action=dst-nat chain=dstnat comment="Redirect Thunder 3.1.x" disabled=no \
    dst-port=80 protocol=tcp src-address=!192.168.10.2 to-addresses=\
    192.168.10.2 to-ports=3128

Cuando hago esto el hotspot funciona perfectamente, eso si antes debo desactivar la casilla de Servidor Proxy en el navegador >> Herramientas .... etc, etc
Aparentemente el problema estaria con los DNS, en el MK tengo activado el DNS Cache y en Filter Rules un Bloqueo DNS Cache Externo
Agradeceria cualquier aporte que me ayude a solucionar este inconveniente.
Saludo y desde ya gracias
#36
Plugins de juegos / Re:Cabal Online Plugin
Octubre 05, 2013, 11:26:06 PM
Hola amigo David, te consulto lo siguiente ??? debo entender que para el Cabal on-line no es necesario bajar el cliente?
Saludos
#37
Plugins para ThunderCache 3.1.2 / Re:Plugins descargas
Octubre 05, 2013, 12:23:20 AM
Muchas gracias por tu aporte, un gran saludo amigo :-*
#38
Plugins para ThunderCache 3.1.2 / Re:Novo Globo.com
Septiembre 29, 2013, 09:11:52 PM
Hola:  ??? hay que corregir la linea 24 del plugin globo.com, ya que donde dice
if ( (url.find("globo.com/") != string::npos) and (url.find(".flv") or (url.find(".mp3")) != string::npos)
debe decir (url.find(".mp4") para que concuerde con lo declarado en el Regex  http.*\.globo\.com.*(\.mp4|\.flv) y cachee los .mp4
Probe el glbimg.com.cpp, se compilo sin errores y anda de diez  :-*
Saludos.
#39
Hola amigo ingjaab, el plugin esta posteado con anterioridad bajo le encabezado Plugin para almaula.com.ar
Iniciado por Oogie Boogie
con fecha del 28  de septiembre, las img las adjunto en este ya que me olvide de incluirlas en el que te menciono.
Quien busca encuentra.
Saludos
#40
Plugin para el diario Clarin.com.ar y para la pagina OLX.com.ar

Código (cpp) [Seleccionar]
#include <iostream>
#include <cstring>
#include <vector>
#include "../utils.cpp"

// clarin.com.ar

// use this line to compile
// g++ -I. -fPIC -shared -g -o clarin.com.so clarin.com.cpp
// regex
// http.*\.clarin\.com.*(\.jpg|\.png|\.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(".clarin.com/") != string::npos) and
     (url.find(".jpg") != string::npos) or
(url.find(".png") != string::npos) or
(url.find(".gif") != string::npos) or
(url.find(".swf") != string::npos)

) {

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


Código (cpp) [Seleccionar]
#include <iostream>
#include <cstring>
#include <vector>
#include "../utils.cpp"

// OLX 

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

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()-4) + "_" + resultado.at(resultado.size()-3) + "_" + resultado.at(resultado.size()-2) + "_" +resultado.at(resultado.size()-1);           
} else {
stringexplode(url, "/", &resultado);
return resultado.at(resultado.size()-4) + "_" + 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(".olx-st.com") != string::npos)
   ) {   
       r.file = get_filename(url);
      if (!r.file.empty()) {
         r.match = true; 
         r.domain = "OLX_img";
      } else {
         r.match = false;
      }
   } else {
      r.match = false;
   }
   return r;
}


Adjunto las img.
Saludos