Plugin para teste de velocidade

Desconectado andersonscinfo

  • Newbie
  • *
  • Mensajes: 5
  • Ubicación:
    • Ver Perfil
  • Me Gusta: 0
Plugin para teste de velocidade
« : enero 03, 2015, 10:07:23 pm »
Boa noite, estou tentando fazer meu primeiro plugin de velocidade, mas ainda não sei se ta funcionando, gostaria que alguem desse uma olhada, segue abaixo.

Código: [Seleccionar]
#include <iostream>
#include <cstring>
#include <string>
#include <vector>
#include "../utils.cpp"
 
using namespace std;
 
// use this line to compile
// g++ -I. -fPIC -shared -g -o rjnet.com.br.so rjnet.com.br.cpp
// Regex
// http.*\.rjnet\.com\.br.*(\.swf|\.jpg|\.bmp|\.txt|\.jpeg)
 


string get_filename(string url) {
                vector<string> resultado;
        string retorna = "";
        stringexplode(url, "/", &resultado);
        retorna = resultado.at(resultado.size()-2) + "-"+resultado.at(resultado.size()-1);
        return retorna;
}
 
extern "C" resposta getmatch(const string url) {
        resposta r;       

               
  if ( (url.find("rjnet.com.br") != string::npos)
     ) {
      r.file = get_filename(url);
      if (!r.file.empty()) {
         r.match = true;
         r.domain = "rjnet.com.br";       
      } else {
         r.match = false;
      }
   }
   else
   {
      r.match = false;
   }
   return r;
}


Att.
Anderson Junior

Desconectado firecold

  • Moderador
  • *
  • Mensajes: 3444
  • Ubicación: Guatemala
  • Todo lo puedo en Cristo que me fortalece.
    • Ver Perfil
  • Me Gusta: 30
Re:Plugin para teste de velocidade
« Respuesta #1 : enero 03, 2015, 10:10:46 pm »
Boa noite, estou tentando fazer meu primeiro plugin de velocidade, mas ainda não sei se ta funcionando, gostaria que alguem desse uma olhada, segue abaixo.

Código: [Seleccionar]
#include <iostream>
#include <cstring>
#include <string>
#include <vector>
#include "../utils.cpp"
 
using namespace std;
 
// use this line to compile
// g++ -I. -fPIC -shared -g -o rjnet.com.br.so rjnet.com.br.cpp
// Regex
// http.*\.rjnet\.com\.br.*(\.swf|\.jpg|\.bmp|\.txt|\.jpeg)
 


string get_filename(string url) {
                vector<string> resultado;
        string retorna = "";
        stringexplode(url, "/", &resultado);
        retorna = resultado.at(resultado.size()-2) + "-"+resultado.at(resultado.size()-1);
        return retorna;
}
 
extern "C" resposta getmatch(const string url) {
        resposta r;        

                
  if ( (url.find("rjnet.com.br") != string::npos)
     ) {
      r.file = get_filename(url);
      if (!r.file.empty()) {
         r.match = true;
         r.domain = "rjnet.com.br";      
      } else {
         r.match = false;
      }
   }
   else
   {
      r.match = false;
   }
   return r;
}

Att.
Anderson Junior

Amigo tienes las urls de dicho sitio, ya que dependiendo como se entrega el contenido el sitio, asi tambien cambia la forma de crear el plugin, Saludos

Desconectado andersonscinfo

  • Newbie
  • *
  • Mensajes: 5
  • Ubicación:
    • Ver Perfil
  • Me Gusta: 0
Re:Plugin para teste de velocidade
« Respuesta #2 : enero 03, 2015, 11:24:02 pm »
Ola, ainda não tenho facilidade em fazer os plugins, conheço o raptorcache a 5 dias, se entendi bem você disse que pode mudar a forma de fazer o plugin dependendo da url, segue as urls que acho que devem ser cacheadas.

onde fica o medidor de velocidade.
http://www.rjnet.com.br/3velocimetro.php

olhando para os fontes tambem achei esse endereço
http://www.rjnet.com.br/speedtest.swf?v=2.2

se puder dar uma olhada fico agradecido.

Att.
Anderson Junior

Desconectado francisco.romero87

  • Jr. Member
  • **
  • Mensajes: 54
  • Ubicación:
    • Ver Perfil
  • Me Gusta: 0
Re:Plugin para teste de velocidade
« Respuesta #3 : enero 06, 2015, 01:49:39 pm »
pruebalo y nos avisas

Código:
  1. #include <iostream>
  2. #include <cstring>
  3. #include <string>
  4. #include <vector>
  5. #include "../utils.cpp"
  6.  
  7. using namespace std;
  8.  
  9. // use this line to compile
  10. // g++ -I. -fPIC -shared -g -o rjnet.com.br.so rjnet.com.br.cpp
  11. // Regex
  12. // http.*\.rjnet\.com\.br.*(\.jpeg|\.png)
  13.  
  14. string get_filename(string url) {
  15.                 vector<string> resultado;
  16.         string retorna = "";
  17.         stringexplode(url, "/", &resultado);
  18.         retorna = resultado.at(resultado.size()-2) + "-"+resultado.at(resultado.size()-1);
  19.         return retorna;
  20. }
  21.  
  22. extern "C" resposta getmatch(const string url) {
  23.         resposta r;        
  24.                
  25.   if ( (url.find("rjnet.com.br/") != string::npos)
  26.      ) {
  27.       r.file = get_filename(url);
  28.       if (!r.file.empty()) {
  29.          r.match = true;
  30.          r.domain = "rjnet.com.br";      
  31.       } else {
  32.          r.match = false;
  33.       }
  34.    }
  35.    else
  36.    {
  37.       r.match = false;
  38.    }
  39.    return r;
  40. }
  41.  

Desconectado andersonscinfo

  • Newbie
  • *
  • Mensajes: 5
  • Ubicación:
    • Ver Perfil
  • Me Gusta: 0
Re:Plugin para teste de velocidade
« Respuesta #4 : enero 06, 2015, 07:53:53 pm »
Ola, obrigado pelo exemplo, mas ainda não funcionou, percebi que o arquivo usado pelo velocimetro é um arquivo com a extenção jpg exemplo:

http://www.rjnet.com.br/speedtest/random350x350.jpg?x=1420591701100-2

alterei o regex para:

http.*\.rjnet\.com\.br.*(\.jpg\?.*|\.png)

só que mesmo assim não funcionou, ainda não encontrei onde estou errando.

Att.
Anderson Junior

Desconectado firecold

  • Moderador
  • *
  • Mensajes: 3444
  • Ubicación: Guatemala
  • Todo lo puedo en Cristo que me fortalece.
    • Ver Perfil
  • Me Gusta: 30
Re:Plugin para teste de velocidade
« Respuesta #5 : enero 06, 2015, 09:48:00 pm »
Ola, obrigado pelo exemplo, mas ainda não funcionou, percebi que o arquivo usado pelo velocimetro é um arquivo com a extenção jpg exemplo:

http://www.rjnet.com.br/speedtest/random350x350.jpg?x=1420591701100-2

alterei o regex para:

http.*\.rjnet\.com\.br.*(\.jpg\?.*|\.png)

só que mesmo assim não funcionou, ainda não encontrei onde estou errando.

Att.
Anderson Junior

Para evitar tanta cosa puedes hacerlo con este:

Código: [Seleccionar]
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);
        }
}

Asi evitamos los de los signos de interrogacion, Saludos

Desconectado andersonscinfo

  • Newbie
  • *
  • Mensajes: 5
  • Ubicación:
    • Ver Perfil
  • Me Gusta: 0
Re:Plugin para teste de velocidade
« Respuesta #6 : enero 07, 2015, 05:23:24 am »
Ola, obrigado pela dica, fiz a alteração no plugin, mas parece não ter surtido efeito, olhando para o header da pagina parece que o squid continua fazendo o trabalho que era pra ser do raptor, o squid mesmo com o regex dizendo para não cachear ele continua cacheando, olhe a imagem por favor.



Att.
Anderson Junior

Desconectado Calamardo

  • Jr. Member
  • **
  • Mensajes: 95
  • Ubicación:
    • Ver Perfil
  • Me Gusta: 0
Re:Plugin para teste de velocidade
« Respuesta #7 : mayo 09, 2015, 04:48:33 pm »
Yo a igual que tu ando loco realizando pluings para engañar al cliente y que salga del cache pero a lo que he leido es imposible de hacer ya  :(

Desconectado brunosaraiva

  • Newbie
  • *
  • Mensajes: 8
  • Ubicación:
    • Ver Perfil
  • Me Gusta: 0
Re:Plugin para teste de velocidade
« Respuesta #8 : junio 27, 2015, 06:11:43 am »
Bom dia a todos,

Aproveitando os códigos acima, consegui fazer MISS do arquivos deste site de testes: speedtest.copel.net, mas não esta dando HIT.

Acredito que seja a REGEX que esteja com algum erro, gostaria da ajuda dos mais experientes, para dizer onde estou errando e como devo proceder!

Código: [Seleccionar]
#include <iostream>
#include <cstring>
#include <string>
#include <vector>
#include "../utils.cpp"
 
using namespace std;
 
// use this line to compile
// g++ -I. -fPIC -shared -g -o speedtest.copel.net.so speedtest.copel.net.cpp
// Regex
// http.*\.speedtest.copel\.net.*(\.jpeg|\.png|\.txt)
 
string get_filename(string url) {
                vector<string> resultado;
        string retorna = "";
        stringexplode(url, "/", &resultado);
        retorna = resultado.at(resultado.size()-2) + "-"+resultado.at(resultado.size()-1);
        return retorna;
}
 
extern "C" resposta getmatch(const string url) {
        resposta r;       
               
  if ( (url.find("speedtest.copel.net/speedtest/") != string::npos)
     ) {
      r.file = get_filename(url);
      if (!r.file.empty()) {
         r.match = true;
         r.domain = "speedtest.copel.net";       
      } else {
         r.match = false;
      }
   }
   else  if ( (url.find("speedtest2.copel.net/speedtest/") != string::npos)
     ) {
      r.file = get_filename(url);
      if (!r.file.empty()) {
         r.match = true;
         r.domain = "speedtest2.copel.net";       
      } else {
         r.match = false;
      }
   }else if ( (url.find("speedtest7.copel.net/speedtest/") != string::npos)
     ) {
      r.file = get_filename(url);
      if (!r.file.empty()) {
         r.match = true;
         r.domain = "speedtest7.copel.net";       
      } else {
         r.match = false;
      }
   }else if ( (url.find("speedtest8.copel.net/speedtest/") != string::npos)
     ) {
      r.file = get_filename(url);
      if (!r.file.empty()) {
         r.match = true;
         r.domain = "speedtest8.copel.net";       
      } else {
         r.match = false;
      }
   }else{
      r.match = false;
   }
   return r;
}

OBS.: O .txt, é para testar a possibilidade de diminuir a latencia, mas acredito não fazer diferença usando deste modo.

Att