Mikrotik
#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 mikrotik.com.so mikrotik.com.cpp
// Regex
// http.*\.mikrotik\.com.*(\.exe|\.jpg|\.png|\.gif|\.swf|\.bmp|\.rar|\.zip|\.npk)
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()-3)+"_"+resultado.at(resultado.size()-2)+"_"+resultado.at(resultado.size()-1);
} else {
stringexplode(url, "/", &resultado);
return 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("mikrotik.com") != string::npos)
) {
r.file = get_filename(url);
if (!r.file.empty()) {
r.match = true;
r.domain = "Mikrotik.com";
} else {
r.match = false;
}
}
else
{
r.match = false;
}
return r;
}
Tune-up Utilities 2014
#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 tune-up.com.so tune-up.com.cpp
// Regex
// http.*\.tune-up\.com.*(\.exe|\.jpg|\.png|\.gif|\.swf|\.bmp|\.rar)
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()-3)+"_"+resultado.at(resultado.size()-2)+"_"+resultado.at(resultado.size()-1);
} else {
stringexplode(url, "/", &resultado);
return 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(".tune-up.com/") != string::npos)
) {
r.file = get_filename(url);
if (!r.file.empty()) {
r.match = true;
r.domain = "Tune-up.com";
} else {
r.match = false;
}
}
else
{
r.match = false;
}
return r;
}
Brothersoft.com - descargas
#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 brothersoft.com.so brothersoft.com.cpp
// Regex
// http.*\.brothersoft\.com.*(\.exe|\.jpg|\.png|\.gif|\.swf|\.bmp|\.rar|\.zip|\.7z|\.iso)
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()-3)+"_"+resultado.at(resultado.size()-2)+"_"+resultado.at(resultado.size()-1);
} else {
stringexplode(url, "/", &resultado);
return 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(".brothersoft.com/") != string::npos)
) {
r.file = get_filename(url);
if (!r.file.empty()) {
r.match = true;
r.domain = "brothersoft.com/Descargas";
} else {
r.match = false;
}
}
else
{
r.match = false;
}
return r;
}
Winzip
#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 winzip.com.so winzip.com.cpp
// Regex
// http.*\.winzip\.com.*(\.exe|\.jpg|\.png|\.gif|\.swf|\.bmp|\.rar)
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()-3)+"_"+resultado.at(resultado.size()-2)+"_"+resultado.at(resultado.size()-1);
} else {
stringexplode(url, "/", &resultado);
return 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(".winzip.com/") != string::npos)
) {
r.file = get_filename(url);
if (!r.file.empty()) {
r.match = true;
r.domain = "Winzip";
} else {
r.match = false;
}
}
else
{
r.match = false;
}
return r;
}
Raidcall (programa que se utiliza para comunicarse en juegos online, parecido al skype)
#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 raidcall.com.so raidcall.com.cpp
// Regex
// http.*\.raidcall\.com.*(\.exe|\.jpg|\.png|\.gif|\.swf|\.bmp|\.rar)
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()-3)+"_"+resultado.at(resultado.size()-2)+"_"+resultado.at(resultado.size()-1);
} else {
stringexplode(url, "/", &resultado);
return 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("raidcall.com") != string::npos)
) {
r.file = get_filename(url);
if (!r.file.empty()) {
r.match = true;
r.domain = "Raidcall.com";
} else {
r.match = false;
}
}
else
{
r.match = false;
}
return r;
}
amigo que funcion en si tiene el de mikrotik
El plugin de mikrotik hace cachè a todas las descargas de ese servidor ya sea los utilitarios para los router Mikrotik los .npk , el netinstall , winbox o el sistema operativo para los Mikrotik Rb
como yo los utilizo y doy mantenimiento a los Rb Mikrotik , paro haciendo descargas de esa pagina asi que mejor hice su plugin para que me almacene en el thundercache y sea mas ràpido las descargas
ok gracias hermano lo tendre presente
muy interesante ???