Plugin Speakeasy/speedtes

Publicado por BMWFRS, Julio 04, 2013, 11:18:42 PM

Tema anterior - Siguiente tema

BMWFRS

Buen día colegas, por acá yo uso mucho el speakeasy en lugar de speedtest para hacer las pruebas de velocidad, les expongo aquí el plugin y me gustaria que me dijeran si está bien y/o me corrigieran

Las HTTPRequest:
http://speedtest1.dfw1.speakeasy.net/speedtest/random350x350.jpg
http://speedtest1.dfw1.speakeasy.net/speedtest/random350x350.jpg

http://speedtest1.dfw1.speakeasy.net/speedtest/random1000x1000.jpg

http://speedtest1.chi1.speakeasy.net/speedtest/random350x350.jpg?x=1372997156125-1


Y EL PLUGIN:
#include <iostream>
#include <cstring>
#include <vector>
#include "../utils.cpp"

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

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(".speakeasy.net/") != string::npos) and (url.find(".jpg") != string::npos)
) {

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

luistec

Tu codigo estaría bien en el caso de la url
http://speedtest1.chi1.speakeasy.net/speedtest/random350x350.jpg?x=1372997156125-1
Pero para las
http://speedtest1.dfw1.speakeasy.net/speedtest/random350x350.jpg
http://speedtest1.dfw1.speakeasy.net/speedtest/random350x350.jpg
http://speedtest1.dfw1.speakeasy.net/speedtest/random1000x1000.jpg


Puedes hacer una modificacion por ejm.
Código (cpp) [Seleccionar]

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

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

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(".speakeasy.net/") != string::npos)
    ) {
     r.file = get_filename(url);
     if (!r.file.empty()) {
        r.match = true;
        r.domain = "speedtest";      
     } else {
        r.match = false;
     }
  }  
  else if ( (url.find(".speakeasy.net/") != string::npos) and (url.find(".jpg") != string::npos) and (url.find("?") != string::npos)
  ) {      
      r.file = get_filename(url);
     if (!r.file.empty()) {
        r.match = true;
        r.domain = "speedtest";
     } else {
        r.match = false;
     }
  }
  else
  {
     r.match = false;
  }
  return r;
}


Saludos.

BMWFRS

Muchas gracias amigo, otra cosa es que todas llevan la parte ?x=1372997156125-1 solo que a las otras 3, se las omití, eso cambia algo?, saludos.

luistec

Cita de: BMWFRS en Julio 05, 2013, 08:22:02 AM
Muchas gracias amigo, otra cosa es que todas llevan la parte ?x=1372997156125-1 solo que a las otras 3, se las omití, eso cambia algo?, saludos.
No hay problema ya que el codigo buscara en la url jpg o jpg?, tambien tienes que tener en cuenta que el speedtest para sus pruebas hace descarga de distintos tamaños de imagenes en distintas pruebas, cuando todas estas imagenes esten en el cache ya toda las pruebas  haran hit, esto porque en ocasiones te parecera que no esta haciendo hit debido a que todavia no estan toda las imagenes en el cache.

Saludos.

BMWFRS

Comprobado, funciona! gracias colega!

luis24

Alguien tendrá el Plugin que cachee http://www.speedtest.net/ he probado varios pero no FUNCIONAN...Gracias amigos del foro.

tonyvzla

Cita de: luis24 en Julio 19, 2013, 03:23:06 PM
Alguien tendrá el Plugin que cachee http://www.speedtest.net/ he probado varios pero no FUNCIONAN...Gracias amigos del foro.

El mio funciona al 100%
En ayuda de los mas desprotegidos

mac86

hola! he intentado probar este interesante plugin , pero desafortunadamente no me funciona.
(al menos con speakeasy.net)

el problema por lo que vi es que el Squid, no forwardea el URL al raptor

sin embargo, esta correctamente cargada la redireccion en el archivo .lst

alguna idea???

mac86

Cita de: BMWFRS en Julio 18, 2013, 09:50:06 AM
Comprobado, funciona! gracias colega!

Hola!

te anduvo con esta expresion regular??

http.*\.speakeasy\.net.*\.jpg


unointernet

Lo he probado como se muestra y no me refleja el rendimiento de velocidad.

Que otros cambios le haz hecho a la configuracion para que trabaje como presentas.

digimas68

Hola compadres, disculpen soy nuevo en todo esto ya tengo mi server andando podrias ayduarme como ingresar los plugin

juanfrancisco-18

buenas noches este es el codigo de este plugins pero no se si esta bien este es:


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

// use this line to compile
// g++ -I. -fPIC -shared -g -o une.net.co.so une.net.co.cpp
// regex
// http.*\.une\.net\.co.*(\.swf|\.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(".une.net.co/") != string::npos)
     ) {
      r.file = get_filename(url);
      if (!r.file.empty()) {
         r.match = true;
         r.domain = "une";       
      } else {
         r.match = false;
      }
   }   
   else if ( (url.find(".une.net.co/") != string::npos) and (url.find(".jpg") != string::npos) and (url.find("?") != string::npos)
   ) {     
       r.file = get_filename(url);
      if (!r.file.empty()) {
         r.match = true;
         r.domain = "une";
      } else {
         r.match = false;
      }
   }
   else
   {
      r.match = false;
   }
   return r;
}

BMWFRS

Lo usé tal cual se muestra a continuación:
   #include <iostream>
   #include <cstring>
   #include <vector>
   #include "../utils.cpp"
   
   // use this line to compile
   // g++ -I. -fPIC -shared -g -o speakeasy.net.so speakeasy.net.cpp
   // regex
   // http.*\.speakeasy\.net.*\.jpg
   
   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(".speakeasy.net/") != string::npos)
        ) {
         r.file = get_filename(url);
         if (!r.file.empty()) {
            r.match = true;
            r.domain = "speedtest";      
         } else {
            r.match = false;
         }
      }  
      else if ( (url.find(".speakeasy.net/") != string::npos) and (url.find(".jpg") != string::npos) and (url.find("?") != string::npos)
      ) {      
          r.file = get_filename(url);
         if (!r.file.empty()) {
            r.match = true;
            r.domain = "speedtest";
         } else {
            r.match = false;
         }
      }
      else
      {
         r.match = false;
      }
      return r;
   }

digimas68

quien me ayuda a poner ese plugin a mi server, ando muy perdido soy nuevo en todo esto...  saludos cordiales

luistec


seth750km

Cita de: tonyvzla en Julio 19, 2013, 07:11:13 PM
El mio funciona al 100%

Tenes el de speedtest funcional? Me lo podrias pasar?