Plugin para juegos de facebook

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

Tema anterior - Siguiente tema

joemg6

Como ya saben el facebook trae varios juegos, algunos se han estado preguntando si se puede hacer plugin para estos juegos.
De acuerdo a los juegos veremos si es necesrio un plugin, como ej. pongo el juego citiville

Citiville
Como en la imagen muestra no es necesario un plugin ya que el Squid ya le hace HIT


RaptorCache Developer

firecold

para ayudar a que esto responda mejor esta refresh pattern, por lo meno para los juegos de zinga tengo esta regla:

refresh_pattern -i ^http://(.*?\.zynga\.com\S+\.(bin|dmg|idx|gz|exe|zip|avc|klb|klc|set|sfg|dt|avc|klb|klc|set|sfg|dt|avc|klb|klc|set|sfg|dt|avc|klb|klc|set|sfg|dt|bin|bin|nup|gz|gz|vps|vpu|exe|swf|jpeg|gif|bmp|png|mp3|wmv|wma|pdf|fla|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf)) 28880 80% 57640 reload-into-ims

refresh_pattern -i ^http://(.*?farmville\.com\S+\.(bin|dmg|idx|gz|exe|zip|avc|klb|klc|set|sfg|dt|avc|klb|klc|set|sfg|dt|avc|klb|klc|set|sfg|dt|avc|klb|klc|set|sfg|dt|bin|bin|nup|gz|gz|vps|vpu|exe|swf|jpeg|gif|bmp|png|mp3|wmv|wma|pdf|fla|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|exe|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|gif|bmp|png|mp3|wmv|wma|pdf|fla|swf|jpeg|gif|bmp|png|mp3|wmv|wma|pdf|fla|swf|jpeg|gif|bmp|png|mp3|wmv|wma|pdf|fla|swf|jpeg|gif|bmp|png|mp3|wmv|wma|pdf|fla|swf|jpeg|gif|bmp|png|mp3|wmv|wma|pdf|fla|swf|jpeg|gif|bmp|png|mp3|wmv|wma|pdf|fla|swf|jpeg|gif|bmp|png|mp3|wmv|wma|pdf|fla|swf|jpeg|gif|bmp|png|mp3|wmv|wma|pdf|fla|swf|jpeg|gif|bmp|png|mp3|wmv|wma|pdf|fla|swf|jpeg|gif|bmp|png|mp3|wmv|wma|pdf|fla|swf|jpeg|gif|bmp|png|mp3|wmv|wma|pdf|fla|swf|jpeg|gif|bmp|png|mp3|wmv|wma|pdf|fla|swf|jpeg|gif|bmp|png|mp3|wmv|wma|pdf|fla|swf|jpeg|gif|bmp|png|mp3|wmv|wma|pdf|fla)) 28880 80% 57640 reload-into-ims

Aunque debo decir que esta regla me evita bastantes problemas con los juegos como empires y alles, farmville, cityville y varios mas, aunque debo agregar que los plugins de thunder han siempre mejorado la respuesta en comparacion con squid, igual habiar que analizarse, Saludos  :-[  :-*

tonyvzla

probar con los sim a ver si sale del squid? gracias joemg
En ayuda de los mas desprotegidos

firecold

Pues despues de pensarlo un rato me puse a trabajar en el plugin de los juegos de zinga, y resulta que si me hace cache pero no de todo lo que quiero solo gif y png lo mas importante swf y mp3 nada, un amigo me ayudo pero igual nada, mostrare el codigo, talvez alguien que pueda, nos ayude un poco:

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

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

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


Fuentes:
http://empire-zc.static.zgncdn.com/assets/hashed/5514bb8b0a3c9ff88bf55f5820762861.swf
http://empire-zc.static.zgncdn.com/assets/83879/images/loading.gif
http://empire-zc.static.zgncdn.com/assets/83879/images/tabs/sprite-r.png
http://empire-zc.static.zgncdn.com/assets/hashed/6bb8802175b84e20cdb8b20c967d4338.png
http://empire-zc.static.zgncdn.com/assets/83879/ZGame.83879.swf
http://zcache.zgncdn.com/empire/ZCache.52767.swf
http://zynga2-a.akamaihd.net/zbar/v2/prod/promo/9e7dca17108b6219971b5ccbd2bc2d47.png
http://zgn.static.zynga.com/snapi_plugins/r21501-prod/plugins/zsc/images/zsc-icon.png
http://zynga1-a.akamaihd.net/zlive/zoom/r59057-prod/swf/zoomapi.swf

#  Cityville
http://cityvillefb2.static.zgncdn.com/hashed/fe77f95a87a3e14ab2e6e9266d62a5b2.swf
http://cityvillefb0.static.zgncdn.com/static/assets/airports/air_terminal03/air_terminal03_SW.png
http://cityvillefb0.static.zgncdn.com/static/assets/municipals/mun_learningcenter/mun_learningcenter_b_SW.png
http://cityvillefb3.static.zgncdn.com/static/assets/construction/scaffold_SE.png
http://cityvillefb3.static.zgncdn.com/static/assets/sounds/ui/sfx_ui_dialog_show.mp3
http://cityvillefb2.static.zgncdn.com/hashed/9b2b0d3097f3b143d12ac31d5b1936ee.swf
http://cityvillefb3.static.zgncdn.com/hashed/c6e6f1e96faa55df90b8f3bc0a3b927f.swf

firecold

Cita de: joemg6 en Octubre 30, 2012, 12:08:32 PM
Como ya saben el facebook trae varios juegos, algunos se han estado preguntando si se puede hacer plugin para estos juegos.
De acuerdo a los juegos veremos si es necesrio un plugin, como ej. pongo el juego citiville

Citiville
Como en la imagen muestra no es necesario un plugin ya que el Squid ya le hace HIT




Amigo Joemg6 Con una pregunta que programa usas, para ver todo esto, yo uso el que trae incorporado chrome con f12, pero me gustaria usar el mismo que tu, se ve que que te deja ver  varios datos al mismo tiempo, Gracias  :-[  :-*

btocarmona

Amigos les comento anoche estuve bastante tiempo investigando varios de los host que utiliza facebook para tomar esos juegos, en fin tome carios y seguramente hay muchos más pero mi conexión es muy lenta y solo logre ver estos.

akamaihd.net
Wooga.com
amazonaws.com            
dungeonbusters.com        
cloudfront.net            
zgncdn.com                
appspot.com              
geewa.net                
vostucdn.com              
telaxo.com                
crowdstar.com            
popcap.com
socialpointgames.com

por lo que me tome el trabajo de hacer un plugin igual para todos estos host inclusive aquellos que hace cache el squid como bien dijo el amigo JoeMG y como Nombre a todos les puse GAMESFACE logrando en el Thunder report y en el directorio de thunder una sola carpeta con todos los plugin, esto no se si realmente esta bien ya que lo que quise evitar es que el thunder reporte hiciera una lista por cada host y los unifique a todos en un solo reporte,quizas esto este mal,le tendriamos que preguntar al migo JoeMG, en fin lo tengo aramado asi y comence a probar de momentos he logrado que juegos como

Social Wars
Dragon City
Social Empires
Dungeon Rampage


me los cargue bien rapidos. y en el thunder.lst cree algo como esto

#############################====GAMES==FACE======################################
http.*\.akamaihd\.net.*(\.jpg|\.png|\.gif|\.swf|\.xml)
http.*\.amazonaws\.com.*(\.jpg|\.png|\.json|\.swf)
http.*\.appspot\.com.*(\.jpg|\.png|\.gif|\.swf)
http.*\.cloudfront\.net.*(\.jpg|\.png|\.gif|\.swf)
http.*\.dungeonbusters\.com.*(\.jpg|\.png|\.gif|\.swf)
http.*\.geewa\.net.*(\.jpg|\.png|\.gif|\.swf)
http.*\.socialpointgames\.com.*(\.jpg|\.png|\.gif|\.swf)
http.*\.popcap\.com.*(\.jpg|\.png|\.gif|\.swf)
http.*\.telaxo\.com.*(\.jpg|\.png|\.gif|\.swf)
http.*\.vostucdn\.com.*(\.jpg|\.png|\.gif|\.swf)
http.*\.wooga\.com.*(\.jpg|\.png|\.gif|\.swf)
http.*\.zgncdn\.com.*(\.jpg|\.png|\.gif|\.swf)

de moomentos debido a mi escaso ancho de banda he logrado solo este reporte



Si alguien lo quiere probar me avisan y lo comparto pero creo que esto tendria que decirnos el amigo joeMG si está bien o se puede mejorar de alguna manera.

Saludos

firecold

Amigo por favor comparte el codigo de los plugins, asi poder verlos y unificarlos en un solo plugin, si no serian un monton de plugins, Saludos

JVProducciones

Cita de: firecold en Noviembre 01, 2012, 12:33:28 PM
Cita de: joemg6 en Octubre 30, 2012, 12:08:32 PM
Como ya saben el facebook trae varios juegos, algunos se han estado preguntando si se puede hacer plugin para estos juegos.
De acuerdo a los juegos veremos si es necesrio un plugin, como ej. pongo el juego citiville

Citiville
Como en la imagen muestra no es necesario un plugin ya que el Squid ya le hace HIT




Amigo Joemg6 Con una pregunta que programa usas, para ver todo esto, yo uso el que trae incorporado chrome con f12, pero me gustaria usar el mismo que tu, se ve que que te deja ver  varios datos al mismo tiempo, Gracias  :-[  :-*

Hola Amigo Firecold, el programa se llama HTTP Debugger Pro, aquí el enlace oficial www.httpdebugger.com  gogleando lo encuentras full.... ;D saludos

joemg6

Cita de: btocarmona en Noviembre 01, 2012, 02:07:09 PM
Amigos les comento anoche estuve bastante tiempo investigando varios de los host que utiliza facebook para tomar esos juegos, en fin tome carios y seguramente hay muchos más pero mi conexión es muy lenta y solo logre ver estos.

akamaihd.net
Wooga.com
amazonaws.com            
dungeonbusters.com        
cloudfront.net            
zgncdn.com                
appspot.com              
geewa.net                
vostucdn.com              
telaxo.com                
crowdstar.com            
popcap.com
socialpointgames.com

por lo que me tome el trabajo de hacer un plugin igual para todos estos host inclusive aquellos que hace cache el squid como bien dijo el amigo JoeMG y como Nombre a todos les puse GAMESFACE logrando en el Thunder report y en el directorio de thunder una sola carpeta con todos los plugin, esto no se si realmente esta bien ya que lo que quise evitar es que el thunder reporte hiciera una lista por cada host y los unifique a todos en un solo reporte,quizas esto este mal,le tendriamos que preguntar al migo JoeMG, en fin lo tengo aramado asi y comence a probar de momentos he logrado que juegos como

Social Wars
Dragon City
Social Empires
Dungeon Rampage


Si alguien lo quiere probar me avisan y lo comparto pero creo que esto tendria que decirnos el amigo joeMG si está bien o se puede mejorar de alguna manera.

Saludos
Sería Postear los códigos de fuente así poderlo ver mejor y de acuerdo a esto testearlo para ver si estan bién porque en algunos casos despues de un tiempo de uso suelen generar errores si este fuese el caso se vería para poder corregirlo.
RaptorCache Developer

luistec

Cita de: firecold en Noviembre 01, 2012, 12:50:05 AM
Pues despues de pensarlo un rato me puse a trabajar en el plugin de los juegos de zinga, y resulta que si me hace cache pero no de todo lo que quiero solo gif y png lo mas importante swf y mp3 nada, un amigo me ayudo pero igual nada, mostrare el codigo, talvez alguien que pueda, nos ayude un poco:

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

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

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


Fuentes:
http://empire-zc.static.zgncdn.com/assets/hashed/5514bb8b0a3c9ff88bf55f5820762861.swf
http://empire-zc.static.zgncdn.com/assets/83879/images/loading.gif
http://empire-zc.static.zgncdn.com/assets/83879/images/tabs/sprite-r.png
http://empire-zc.static.zgncdn.com/assets/hashed/6bb8802175b84e20cdb8b20c967d4338.png
http://empire-zc.static.zgncdn.com/assets/83879/ZGame.83879.swf
http://zcache.zgncdn.com/empire/ZCache.52767.swf
http://zynga2-a.akamaihd.net/zbar/v2/prod/promo/9e7dca17108b6219971b5ccbd2bc2d47.png
http://zgn.static.zynga.com/snapi_plugins/r21501-prod/plugins/zsc/images/zsc-icon.png
http://zynga1-a.akamaihd.net/zlive/zoom/r59057-prod/swf/zoomapi.swf

#  Cityville
http://cityvillefb2.static.zgncdn.com/hashed/fe77f95a87a3e14ab2e6e9266d62a5b2.swf
http://cityvillefb0.static.zgncdn.com/static/assets/airports/air_terminal03/air_terminal03_SW.png
http://cityvillefb0.static.zgncdn.com/static/assets/municipals/mun_learningcenter/mun_learningcenter_b_SW.png
http://cityvillefb3.static.zgncdn.com/static/assets/construction/scaffold_SE.png
http://cityvillefb3.static.zgncdn.com/static/assets/sounds/ui/sfx_ui_dialog_show.mp3
http://cityvillefb2.static.zgncdn.com/hashed/9b2b0d3097f3b143d12ac31d5b1936ee.swf
http://cityvillefb3.static.zgncdn.com/hashed/c6e6f1e96faa55df90b8f3bc0a3b927f.swf
El detalle es que el codigo de fuente tiene que tener el nombre del servidor, viendo los datos el codigo seria

#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|\.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(".zgncdn.com/") != string::npos)
) {

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


Saludos.

firecold

Aqui volviendo a postear lo de los juegos del facebook, le doy las gracias a btocarmona, luistec y joemg6 por la ayuda, hice y probe cada uno de los plugins, creanme pase un buen rato, probando que funcionaran en todos los juegos del facebook, con estos plugins se cachea el 50 por ciento de los juegos de facebook:

Código (cpp) [Seleccionar]
#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|\.gif|\.swf|\.xml)

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

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

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

// use this line to compile
// g++ -I. -fPIC -shared -g -o amazonaws.com.so amazonaws.com.cpp
// regex
// http.*\.amazonaws\.com.*(\.jpg|\.png|\.json|\.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(".amazonaws.com/") != string::npos)
) {

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

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

// use this line to compile
// g++ -I. -fPIC -shared -g -o appspot.com.so appspot.com.cpp
// regex
// http.*\.appspot\.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(".appspot.com/") != string::npos)
) {

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

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

// use this line to compile
// g++ -I. -fPIC -shared -g -o cloudfront.net.so cloudfront.net.cpp
// regex
// http.*\.cloudfront\.net.*(\.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(".cloudfront.net/") != string::npos)
) {

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

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

// use this line to compile
// g++ -I. -fPIC -shared -g -o dungeonbusters.com.so dungeonbusters.com.cpp
// regex
// http.*\.dungeonbusters\.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(".dungeonbusters.com/") != string::npos)
) {

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

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

// use this line to compile
// g++ -I. -fPIC -shared -g -o geewa.net.so geewa.net.cpp
// regex
// http.*\.geewa\.net.*(\.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(".geewa.net/") != string::npos)
) {

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

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

// use this line to compile
// g++ -I. -fPIC -shared -g -o popcap.com.so popcap.com.cpp
// regex
// http.*\.popcap\.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(".popcap.com/") != string::npos)
) {

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

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

// use this line to compile
// g++ -I. -fPIC -shared -g -o socialpointgames.com.so socialpointgames.com.cpp
// regex
// http.*\.socialpointgames\.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(".socialpointgames.com/") != string::npos)
) {

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

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

// use this line to compile
// g++ -I. -fPIC -shared -g -o telaxo.com.so telaxo.com.cpp
// regex
// http.*\.telaxo\.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(".telaxo.com/") != string::npos)
) {

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

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

// use this line to compile
// g++ -I. -fPIC -shared -g -o vostucdn.com.so vostucdn.com.cpp
// regex
// http.*\.vostucdn\.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(".vostucdn.com/") != string::npos)
) {

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

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

// use this line to compile
// g++ -I. -fPIC -shared -g -o wooga.com.so wooga.com.cpp
// regex
// http.*\.wooga\.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(".wooga.com/") != string::npos)
) {

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

Código (cpp) [Seleccionar]
#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|\.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(".zgncdn.com/") != string::npos)
) {


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


Espero que les sirvan, debo decir que en media hora me ahorre mas de 100 megas y a una velocidad muy buena, pruebenlos y rogando  a luistec y a joemg6 que los revisen, talvez se puedan mejorar, Saludos  :-[  :-*

luistec


willysantana

hola amigos,estuve revisando algunos juegos y medí cuenta que squid me cacha los juegos de cual quier pagina.
pero en un rato vuelvo a revisar y ya los juegos no estaban cachado vuelve a buscar del Internet. que estará pasando?

algún problema en el squid.

gracias.

odon


dgonzaleznet

Agregados los plugs para sus respectivas pruebas, gracias firecold
Saludos Cordiales,
Daniel González Peña

joemg6

Bien firecold, ahora a ver como se comportan los plugins.
RaptorCache Developer

btocarmona

Cita de: firecold en Noviembre 02, 2012, 08:50:28 AM
Aqui volviendo a postear lo de los juegos del facebook, le doy las gracias a btocarmona, luistec y joemg6 por la ayuda, hice y probe cada uno de los plugins, creanme pase un buen rato, probando que funcionaran en todos los juegos del facebook, con estos plugins se cachea el 50 por ciento de los juegos de facebook:

Amigo Firecold y a toda la comunidad mis disculpas ya que postee y JoeMG me habia respondido diciendome que posteara los codigos y no estuve presente en la localidad por lo que no he respondido hoy veo que el amigo Firecold se tomo la molestia y creo los plugin justamente como parte de lo que yo hice pero para comentarles en lo probado tengo esto: yo los unifique en el report con el nombre GAMESFB  y veo que Firecold los unifico con el nombre games_facebook el drama de esto, es que cuando un plugin falla es dificil de identificar cual es o si no hace hit no podemos identificarlos al menos que habramos el juego el cual nos de el error e identificar el header nuevamente, por lo que los estoy separando nuevamente con el nombre Games_nombrededominio,otro tema por ejemplo mirando el plugin de akamaihd veo que se planteo de modo estatico la busqueda de los objetos pero este sitio los tiene en forma dinamica por lo que deberia según lo enseñado por JoeMG con una variable de busqueda si no me equivoco por lo que les dejo como lo hice yo y este mismo script los hice para casi todos los host en cuestión,Otra cosa que queria comentar es que el sitio zgncdn.com hay archivos de tipo.json los cuales según http debbuger soon de aplicacion en si por lo que veo seria el juego ya que en el juego Bubble Safari carga un archivo de casi 5 mb con extension .json el tema es que yo lo declare en el plugin y me lo hace cache pero no de 5 mb si no de unos 320 kb lo cual hace que una segunda vez que lo quiero cargar al juego se cuelga,porque será? quizas JoeMG nos pueda ayudar espero haberme explicado.Saludos y les dejo el codigo de akamaihd

Código (cpp) [Seleccionar]
#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|\.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(".cloudfront.net") != 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 = "GAMESF_akamaihd";
} else {
r.match = false;
}
} else {
r.match = false;
}
return r;
}

tonyvzla

Alguien le ha hecho pruebas a los juegos de simsocial?
En ayuda de los mas desprotegidos

firecold

Cita de: tonyvzla en Noviembre 10, 2012, 01:22:10 PM
Alguien le ha hecho pruebas a los juegos de simsocial?

Amigo tonyvzla todos los juegos de los Sims los maneja cloudfront.net que desgraciadamente usa https y por eso usan el puerto 443 y no el 80 y el thunder ni los percibe, Ejemplo:

https://d2x3w3mc51yw0w.cloudfront.net/code/console-client-5.0.0.2-JETSET_SECRETS_HOTFIX-2/swf/RPCProxy.swf
https://d2syub29v5lge2.cloudfront.net/bankui/res/2.0.0.20/images/layout_continue_button_grey.png
https://d2x3w3mc51yw0w.cloudfront.net/console/assets_library/slots_71200-71299/slot_71259_SCS128X_H.gif


nada mas cachea algunas cosas que no deja en https, lastimosamente tampoco squid lo cachea, que lastima pero que se puede hacer, Saludos

dgonzaleznet

En cristiano eso quiere decir que es como las sesiones de youtube personales que son https y que solo harían cache solo para la sesión del cliente en esa pc en particular... en caso de que se hiciera un plug no es asi?
Saludos Cordiales,
Daniel González Peña