Plugin para juegos de facebook

Publicado por joemg6, Octubre 30, 2012, 12:08:32 PM

Tema anterior - Siguiente tema

firecold

Cita de: the_tayta en Noviembre 27, 2012, 04:23:51 PM
gracias por los plugins...
disculpen pero no se tienen q poner tambien en la configuracion del squid  las url de los plugins para q les niegue el cache y se los pase al thunder... bueno esa es mi duda graciasss

no tienes que poner nada en el squid ya que squid cachea extensiones que el thunder no es que no pueda cachear, si no que no las maneja bien, como css, php, js, json, html, xhtml, asuntos de refresco practicamente, Saludos

willysantana

Cita de: firecold en Noviembre 27, 2012, 02:20:31 PM
Amigo los plugins que cachean cityville son akamaihd.net.cpp y zgncdn.com.cpp, aunque en estos momentos estoy mejorando akamaihd, para que no tenga problemas con el plugin de zynga.com.cpp, pronto lo estare publicando, todavia esta en pruebas, Saludos

amigo pero cual es el plugins que tiene problema?
zynga.com.cpp o akamaihd.
gracias.

firecold

Cita de: willysantana en Noviembre 27, 2012, 07:47:12 PM
amigo pero cual es el plugins que tiene problema?
zynga.com.cpp o akamaihd.
gracias.

el plugin que tiene problemas es zynga.com.cpp, pero tambien estoy mejorando akamaihd para que no vuelva a suceder ya que zynga a estado sacando muchos juegos, los cuales salen en conjunto de zynga y akamaihd, esperad un poco de tiempo, todavia lo tengo en pruebas con varios juegos, para que esto no vuelva a suceder, Saludos

jmvasilyd

Cita de: the_tayta en Noviembre 27, 2012, 04:23:51 PM
gracias por los plugins...
disculpen pero no se tienen q poner tambien en la configuracion del squid  las url de los plugins para q les niegue el cache y se los pase al thunder... bueno esa es mi duda graciasss

firecold    gracias nuevamente estare al tanto de tus publicaciones.-

willysantana

Cita de: firecold en Noviembre 27, 2012, 09:10:52 PM
el plugin que tiene problemas es zynga.com.cpp, pero tambien estoy mejorando akamaihd para que no vuelva a suceder ya que zynga a estado sacando muchos juegos, los cuales salen en conjunto de zynga y akamaihd, esperad un poco de tiempo, todavia lo tengo en pruebas con varios juegos, para que esto no vuelva a suceder, Saludos

gracias amigo firecold estaré en espera.

firecold

Cita de: willysantana en Noviembre 28, 2012, 12:09:49 PM
gracias amigo firecold estaré en espera.

Si no publico la actulizacion, el fin de semana, la ire publicando en el transcurso de la semana que viene, Saludos

firecold

Bueno Amigos lo prometido es deuda aqui publicando el plugin de akamaihd, con algunas mejoras, tambien elimine la extension .gif ya que akamaihd utiliza los mismo nombres en algunas imagenes gif, lo que produce que algunas imagenes no sean las del juego, separe algunos juegos como cityville2, farmville2, slingo y otros ya que causan problemas ya separandolos no dan problemas, ya que algunos .swf se llaman del mismo modo, siendo de diferente juego eso causaba que por ejemplo en farmville no se pudieran leer los dialogos, entre otras cosas, si algun otro juego fallara avisan para que haga las pruebas correspondientes para mantener estables los plugins:

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

// use this line to compile
// g++ -I. -fPIC -shared -g -o akamaihd.net.so akamaihd.net.cpp
// regex
// http.*\.akamaihd\.net.*(\.jpg|\.png|\.swf|\.mp3)
   
string dominiotxt="GAMESF_akamaihd";
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("/shockwave/") != string::npos)
      ) {
   dominiotxt="GAMESF_akamaihd_city2";
   }
   if ((url.find("/farm2/")!= string::npos)
      ) {
   dominiotxt="GAMESF_akamaihd_farm2";
   }
   if ( (url.find("/slingo/")!= string::npos)
      ) {
   dominiotxt="GAMESF_akamaihd_slingo";
   }
  if ( (url.find("dchoc1")!= string::npos)
      ) {
   dominiotxt="GAMESF_akamaihd/galaxy";
   }
   if ( (url.find("/cooking/") != string::npos)
      ) {
   dominiotxt="GAMESF_akamaihd_cheff";
   }
   if ( (url.find(".akamaihd.net") != 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;
}


Pronto estare publicando el de zynga y unas mejoras al de zgncdn, Espero les sirva, Saludos

willysantana

Cita de: firecold en Diciembre 04, 2012, 01:07:52 PM
Bueno Amigos lo prometido es deuda aqui publicando el plugin de akamaihd, con algunas mejoras, tambien elimine la extension .gif ya que akamaihd utiliza los mismo nombres en algunas imagenes gif, lo que produce que algunas imagenes no sean las del juego, separe algunos juegos como cityville2, farmville2, slingo y otros ya que causan problemas ya separandolos no dan problemas, ya que algunos .swf se llaman del mismo modo, siendo de diferente juego eso causaba que por ejemplo en farmville no se pudieran leer los dialogos, entre otras cosas, si algun otro juego fallara avisan para que haga las pruebas correspondientes para mantener estables los plugins:

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

// use this line to compile
// g++ -I. -fPIC -shared -g -o akamaihd.net.so akamaihd.net.cpp
// regex
// http.*\.akamaihd\.net.*(\.jpg|\.png|\.swf|\.mp3)
   
string dominiotxt="GAMESF_akamaihd";
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("/shockwave/") != string::npos)
       ) {
    dominiotxt="GAMESF_akamaihd_city2";
    }
    if ((url.find("/farm2/")!= string::npos)
       ) {
    dominiotxt="GAMESF_akamaihd_farm2";
    }
    if ( (url.find("/slingo/")!= string::npos)
       ) {
    dominiotxt="GAMESF_akamaihd_slingo";
    }
   if ( (url.find("dchoc1")!= string::npos)
         {
    dominiotxt="GAMESF_akamaihd/galaxy";
    }
    if ( (url.find("/cooking/") != string::npos)
       ) {
    dominiotxt="GAMESF_akamaihd_cheff";
    }
    if ( (url.find(".akamaihd.net") != 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;
}


Pronto estare publicando el de zynga y unas mejoras al de zgncdn, Espero les sirva, Saludos


root@proxy:/etc/thunder/pluginmaker/plugins# g++ -I. -fPIC -shared -g -o akamaihd.net.so akamaihd.net.cpp
akamaihd.net.cpp: In function âresposta getmatch(std::string)â:
akamaihd.net.cpp:40: error: expected â)â before â{â token

amigo que pasa con este plugins.

firecold

Cita de: willysantana en Diciembre 05, 2012, 06:59:03 AM

root@proxy:/etc/thunder/pluginmaker/plugins# g++ -I. -fPIC -shared -g -o akamaihd.net.so akamaihd.net.cpp
akamaihd.net.cpp: In function âresposta getmatch(std::string)â:
akamaihd.net.cpp:40: error: expected â)â before â{â token

amigo que pasa con este plugins.

lo que te esta diciendo que le falta un parentesis en la linea 40, puedes volverlo a copiar donde lo publique ya lo corregui, igualmente subi el codigo del plugin tal cual lo tengo yo, Saludos

[archivo adjunto borrado por el administrador]

willysantana


firecold

Cita de: willysantana en Diciembre 05, 2012, 04:51:54 PM
gracias amigo probando. ;D

Cualquier problema me avisan para corregir lo mas pronto posible, Saludos

willysantana

hola amigo, tienes el plugins de zinga

firecold

Cita de: willysantana en Diciembre 05, 2012, 07:01:27 PM
gracias amigo todo ok. ;D
solo me falta el plugins de zinga. :'(

voy a publicar primero zgncdn, ya que este plugin y el de akamaihd, zynga, hacen cache de todos los juegos de Zynga, Saludos

willysantana


firecold

Buenas tardes Amigos del foro publicando el plugin de zgncdn, casi por los mismo motivos del anterior, repito cualquier problema me avisan para corregir lo mas pronto posible y tambien si hay algun juego que no cachee me avisan para revisar el motivo:

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

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

string dominiotxt="GF_zgncdn";
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("empire") != string::npos) or (url.find("/empire/") != string::npos)
       ) {
    dominiotxt="GF_zgncdn_empire";
    }
    if ((url.find("cityvillefb")!= string::npos) or (url.find("/city/") != string::npos)
       ) {
    dominiotxt="GF_zgncdn_city";
    }
    if ( (url.find("farmville")!= string::npos) or (url.find("/farm/")!= string::npos)
       ) {
    dominiotxt="GF_zgncdn_farm";
    }
   if ( (url.find("castle")!= string::npos) or (url.find("/castle/")!= string::npos)
         {
    dominiotxt="GF_zgncdn_castle";
    }
    if ( (url.find("bubblesafari") != string::npos) or (url.find("/bubble/")!= string::npos)
       ) {
    dominiotxt="GF_zgncdn_bubble";
    }
    if ( (url.find("familyville") != string::npos)
       ) {
    dominiotxt="GF_zgncdn_ville";
    }
    if ( (url.find("hog") != string::npos) or (url.find("/hidden/")!= string::npos)
       ) {
    dominiotxt="GF_zgncdn_hidden";
    }
    if ( (url.find(".zgncdn.com") != string::npos) and
   ((url.find(".jpg")!= string::npos) or
   (url.find(".png")!= string::npos) or
   (url.find(".mp3")!= 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;
}


este plugin llevo muchas pruebas, les recuerdo borrar la base de datos del plugin anterior, y lo cacheado de este plugin en  la carpeta /thunder, una imagen para mostrar.



Y tambien subi el codigo lo pueden descargar, por cualquier cosa, Saludos

jamo

Cita de: dgonzaleznet en Noviembre 21, 2012, 01:25:05 AM
Firecold se te pasaron un par de ) en un par de plugs ya los pongo para los que no pudieron compilar

tetrisfb.com.cpp

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

// use this line to compile
// g++ -I. -fPIC -shared -g -o tetrisfb.com.so tetrisfb.com.cpp
// regex
// http.*\.tetrisfb\.com.*(\.swf|\.mp3|\.png|\.jpg|\.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()-1);
               } else {
                       stringexplode(url, "/", &resultado);
                       return resultado.at(resultado.size()-1);
               }
}

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

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

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


llnwd.com.cpp

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

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

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(".llnwd.net") != string::npos)
)
        {

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


Hola, pero los codigos no estan completos, solo copiaste la parte donde esta el error?

saludos

dgonzaleznet

Cita de: jamo en Diciembre 06, 2012, 06:02:36 PM

Hola, pero los codigos no estan completos, solo copiaste la parte donde esta el error?

saludos

Puesta hasta donde recuerdo esos los corregi y funcionan yo los compilé tambien y los estoy usando
Saludos Cordiales,
Daniel González Peña

willysantana

Cita de: firecold en Diciembre 06, 2012, 05:06:17 PM
Buenas tardes Amigos del foro publicando el plugin de zgncdn, casi por los mismo motivos del anterior, repito cualquier problema me avisan para corregir lo mas pronto posible y tambien si hay algun juego que no cachee me avisan para revisar el motivo:

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

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

string dominiotxt="GF_zgncdn";
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("empire") != string::npos) or (url.find("/empire/") != string::npos)
       ) {
    dominiotxt="GF_zgncdn_empire";
    }
    if ((url.find("cityvillefb")!= string::npos) or (url.find("/city/") != string::npos)
       ) {
    dominiotxt="GF_zgncdn_city";
    }
    if ( (url.find("farmville")!= string::npos) or (url.find("/farm/")!= string::npos)
       ) {
    dominiotxt="GF_zgncdn_farm";
    }
   if ( (url.find("castle")!= string::npos) or (url.find("/castle/")!= string::npos)
         {
    dominiotxt="GF_zgncdn_castle";
    }
    if ( (url.find("bubblesafari") != string::npos) or (url.find("/bubble/")!= string::npos)
       ) {
    dominiotxt="GF_zgncdn_bubble";
    }
    if ( (url.find("familyville") != string::npos)
       ) {
    dominiotxt="GF_zgncdn_ville";
    }
    if ( (url.find("hog") != string::npos) or (url.find("/hidden/")!= string::npos)
       ) {
    dominiotxt="GF_zgncdn_hidden";
    }
    if ( (url.find(".zgncdn.com") != string::npos) and
   ((url.find(".jpg")!= string::npos) or
   (url.find(".png")!= string::npos) or
   (url.find(".mp3")!= 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;
}


este plugin llevo muchas pruebas, les recuerdo borrar la base de datos del plugin anterior, y lo cacheado de este plugin en  la carpeta /thunder, una imagen para mostrar.



Y tambien subi el codigo lo pueden descargar, por cualquier cosa, Saludos

gracias amigo firecold probando todo ok. :D

firecold

Cita de: willysantana en Diciembre 06, 2012, 08:58:55 PM
gracias amigo firecold probando todo ok. :D

Gracias a todos por probarlos, ya que solo probandolos podemos mejorar los plugins, para hacer mas estable y funcional thundercache 3.1.2, ruego a todos revisar la funcionalidad de los demas plugin, para corregir bugs, si los hubiera claro esta, Saludos

willysantana

Cita de: firecold en Diciembre 06, 2012, 10:07:39 PM
Gracias a todos por probarlos, ya que solo probandolos podemos mejorar los plugins, para hacer mas estable y funcional thundercache 3.1.2, ruego a todos revisar la funcionalidad de los demas plugin, para corregir bugs, si los hubiera claro esta, Saludos

cuando esta listo el plugins de zinga.