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.
#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
Cita de: andersonscinfo en 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.
#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
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
pruebalo y nos avisas
#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.*(\.jpeg|\.png)
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;
}
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
Cita de: andersonscinfo en 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
Para evitar tanta cosa puedes hacerlo con este:
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
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.
(http://s3.postimg.org/q1zer7lbn/nota20.png)
Att.
Anderson Junior
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 :(
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!
#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