Plugins Raptor Cache - *** Dota 2 *** (funcional)

Publicado por delfpc, Marzo 08, 2013, 10:49:28 AM

Tema anterior - Siguiente tema

delfpc

Para los entendidos del tema no tiene nada de especial; sin embargo para los amigos que se inician y necesitan implementarlo inmediatamente, por la gran cantidad de consumo de ancho de banda y el tamaño de parches;.... entrego mi plugin.



Fuente:

#include <iostream>
#include <cstring>
#include <vector>
#include "../utils.cpp"
// Regex
// http.*\.steampowered\.com.*
// use this line to compile
// g++ -I. -fPIC -shared -g -o steampowered.com.so steampowered.com.cpp

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("cs.steampowered.com") != string::npos)
   ) {
     
       r.file = get_filename(url);
      if (!r.file.empty()) {
         r.match = true;
         r.domain = "steampowered";
      } else {
         r.match = false;
      }
   } else {
      r.match = false;
   }
   return r;
}

rifranco202325


4rc4nh3ll


4rc4nh3ll



delfpc

aun sigue funcionando, sin embargo adjunto una mejorada; que tiene pendiente el cache de la actualización del louncher del steam; en conclusion podemos decir que es funcional al 95%, porque en si los archivos muy pesados son la actualización del mismo juego dota2.

#include <iostream>
#include <cstring>
#include <vector>
#include "../utils.cpp"
// use this line to compile
// g++ -I. -fPIC -shared -g -o steampowered.com.so steampowered.com.cpp
//regex
// http.*\.steampowered\.com.*

string dominiotxt="steampowered";
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("/depot/") != string::npos)
  ) {
dominiotxt="steampowered_depot";
}
if ( (url.find("/client/") != string::npos)
  ) {
dominiotxt="steampowered_louncher";
}
if ( (url.find("/dota2/") != string::npos)
  ) {
dominiotxt="steampowered_dota2";
}
if ( (url.find(".steampowered.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;
}


adicional debe modificar el squid.conf de acuerdo a la siguiente linea

#----------------------------------------------------------------------
# Sitios que se les niega el cache 
#----------------------------------------------------------------------
acl nocache dstdomain .steampowered.com .4shared.com .axeso5.com .youtube.com .windowsupdate.com .gl$
no_cache deny nocache

ingjaab

Mueres siendo un héroe, o vives lo suficiente para convertirte en villano

luistec

Cita de: ingjaab en Abril 13, 2013, 08:37:56 PM
funciona para thunder 3.1.2

Claro, funsiona tanto para thunder como para Raptor sino cualquier detatalle reportarlo.

Saludos.

haroldbb24


delfpc

explique lineas arriba q no guarda las actualizaciones del louncher del steam, sin embargo si trabaja con toda las actualizaciones del dota, inclusive hace cache la descarga total del juego, adicional tambien hace caché de todo los juegos steam (probado con call of duty, team fortress 2, marvel y de hecho dota2).

... aqui una foto del cuerpo de benito ... vea las 3 lineas de steampowered...


freedarwuin

Cita de: delfpc en Abril 13, 2013, 05:15:47 PM
aun sigue funcionando, sin embargo adjunto una mejorada; que tiene pendiente el cache de la actualización del louncher del steam; en conclusion podemos decir que es funcional al 95%, porque en si los archivos muy pesados son la actualización del mismo juego dota2.

#include <iostream>
#include <cstring>
#include <vector>
#include "../utils.cpp"
// use this line to compile
// g++ -I. -fPIC -shared -g -o steampowered.com.so steampowered.com.cpp
//regex
// http.*\.steampowered\.com.*

string dominiotxt="steampowered";
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("/depot/") != string::npos)
  ) {
dominiotxt="steampowered_depot";
}
if ( (url.find("/client/") != string::npos)
  ) {
dominiotxt="steampowered_louncher";
}
if ( (url.find("/dota2/") != string::npos)
  ) {
dominiotxt="steampowered_dota2";
}
if ( (url.find(".steampowered.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;
}


adicional debe modificar el squid.conf de acuerdo a la siguiente linea

#----------------------------------------------------------------------
# Sitios que se les niega el cache  
#----------------------------------------------------------------------
acl nocache dstdomain .steampowered.com .4shared.com .axeso5.com .youtube.com .windowsupdate.com .gl$
no_cache deny nocache



Amigo estos pluging donde uno los  coloca soy nuevo en estos agradezco su ayuda

ingjaab

Mueres siendo un héroe, o vives lo suficiente para convertirte en villano

delfpc

claro se niega el cache en el squid, porque el Plugin del thunder se encarga del cache.

... saludos

ZonawifiSDP

Saludos!! pueden decirme como implemento este plugin? Yo tengo el raptor funcionando pero me interesa mejorarlo un poco, en el sentido de ahorrar mayor ancho de banda! Gracias!

nqm74

Buenas me anoto tambien a la solicitud del companero, como modificar el squid.conf  del Raptor..?? alquien del foro que nos pueda ayudar...saludos..

nqm74

Lo que en realidad quiero saber me es si hay que agregar esta informacion en la ultima linea de la configuracion squid.conf  ??

#----------------------------------------------------------------------
# Sitios que se les niega el cache 
#----------------------------------------------------------------------
acl nocache dstdomain .steampowered.com .4shared.com .axeso5.com .youtube.com .windowsupdate.com .gl$
no_cache deny nocache


firecold

Cita de: nqm74 en Julio 09, 2013, 02:57:40 PM
Lo que en realidad quiero saber me es si hay que agregar esta informacion en la ultima linea de la configuracion squid.conf  ??

#----------------------------------------------------------------------
# Sitios que se les niega el cache 
#----------------------------------------------------------------------
acl nocache dstdomain .steampowered.com .4shared.com .axeso5.com .youtube.com .windowsupdate.com .gl$
no_cache deny nocache



Muchas veces depende si tu plugin hace cache de todo lo necesario, por ejemplo en el de .windowsupdate.com lo unico que necesitamos son las actualizaciones y los archivos .exe que descargargamos, lo demas no importa, entonces le dices a squid que no quieres hacer cache de esa pagina, saludos

nqm74


marcosmedina

queria saber si el plugin sigue funcionando, gracias

luis148179

buenas noches compañeros me da error al tratar de compilar no saben porque sera?