Plugin Mozilla

Publicado por luistec, Noviembre 25, 2012, 01:03:14 AM

Tema anterior - Siguiente tema

luistec

Si bien es cierto que los programas de mozilla se descargan de varios servidores distintos ahora e estado viendo que las descargas y actualizaciónes lo hace de un solo servidor principal por eso publico este código de fuente.


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

// use this line to compile
// g++ -I. -fPIC -shared -g -o mozilla.net.so mozilla.net.cpp  
// Regex
// http.*\.mozilla\.net.*(\.exe|\.mar)

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(".mozilla.net/") != string::npos)  
) {

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


Si las descargas se hacen de otros servidores publicar las url.

Saludos.

firecold

Gracias Amigo Luistec yo lo tenia de esta manera, pero me doy cuenta que el tuyo tambien funciona y es mas pequeño, gracias por tu ayuda y de todos modos publicare el mio,

#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 ufpr.br.so ufpr.br.cpp
// regex http.*\.ufpr\.br/releases/.*(\.exe|\.mar) 

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 get_match(const string url) {
    resposta r;

   if ( (url.find("download.cdn.mozilla.net") != string::npos)
   ) {
     
       r.file = get_filename(url);
      if (!r.file.empty()) {
         r.match = true;
         r.domain = "mozilla";
      } else {
         r.match = false;
      }
   } else {
      r.match = false;
   }
   return r;
}

firecold

me estuvo dando problemas el plugin de mozilla entonces empece a revisar los logs para ver que pasaba y volvi a rehacer el plugin, espero sea de utilidad:

Código (cpp) [Seleccionar]
#include <iostream>
#include <cstring>
#include <vector>
#include "../utils.cpp"

// use this line to compile
// g++ -I. -fPIC -shared -g -o mozilla.net.so mozilla.net.cpp  
// Regex
// http.*\.mozilla\.net.*(\.exe|\.mar)

string dominiotxt="mozilla";
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("/mozilla.org/") != string::npos)
  ) {
dominiotxt="mozilla.net";
}

  if ( (url.find(".mozilla.net/") != 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;
}




Espero les sirva, Saludos

luistec

Cita de: firecold en Febrero 19, 2013, 05:09:58 PM
me estuvo dando problemas el plugin de mozilla entonces empece a revisar los logs para ver que pasaba y volvi a rehacer el plugin, espero sea de utilidad:

Código (cpp) [Seleccionar]
#include <iostream>
#include <cstring>
#include <vector>
#include "../utils.cpp"

// use this line to compile
// g++ -I. -fPIC -shared -g -o mozilla.net.so mozilla.net.cpp  
// Regex
// http.*\.mozilla\.net.*(\.exe|\.mar)

string dominiotxt="mozilla";
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("/mozilla.org/") != string::npos)
  ) {
dominiotxt="mozilla.org";
}

  if ( (url.find(".mozilla.net/") != 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;
}




Espero les sirva, Saludos
Se supone que el plugin encuentra el contenido de acuerdo al codigo de fuente y este lleva el nombre de la url del servidor a la que se dirige, en este caso es mozilla.net entonces no tendría nada que ver con la url mozilla.org en tal caso que haya descargas de esta url se hace un plugin con el nombre mozilla.org, también seria que menciones que problema te dio, porque en el codigo de fuente que estas poniendo hay dos url diferentes, sería probar con una descarga de mozilla.org. Como dije al inicio, las descargas que he podido revisar casi siempre salen desde mozilla.net, haber si pones una url de descarga para corroborar el fallo.

Saludos.

firecold

Cita de: luistec en Febrero 19, 2013, 05:40:22 PM
Se supone que el plugin encuentra el contenido de acuerdo al codigo de fuente y este lleva el nombre de la url a la que se dirige, en este caso es mozilla.net entonces no tendría nada que ver con la url mozilla.org en tal caso que haya descargas de esta url se hace un plugin con el nombre mozilla.org, también seria que menciones que problema te dio, porque en el codigo de fuente que estas poniendo hay dos url diferentes, sería probar con una descarga de mozilla.org. Como dije al inicio, las descargas que he podido revisar casi siempre salen desde mozilla.net, haber si pones una url de descarga para corroborar el fallo.

Saludos.

amigo Luistec gracias por poner atencion, hace unas semanas que el plugin de mozilla.net dejo de funcionar, me di cuenta porque dejo de hacer hits, pues me puse a buscar cual era el problema y me di cuenta de que cuando va a descargar invoca esta direccion:

http://download.mozilla.org/? - DIRECT/63.245.217.36 text/html

y cuando empieza a descargar la descarga de aqui:

http://download.cdn.[color=#FF0000]mozilla.net[/color]/pub/mozilla.org/firefox/releases/19.0/update/win32/es-MX/firefox-19.0.complete.mar
http://download.cdn.mozilla.net/pub/mozilla.org/firefox/releases/19.0/win32/es-MX/Firefox%20Setup%2019.0.exe


y al cambiar el plugin este fue el resultado:

http://download.mozilla.org/? - DIRECT/63.245.217.36 text/html
http://download.cdn.mozilla.net/pub/mozilla.org/firefox/releases/19.0/update/win32/es-MX/firefox-19.0.complete.mar - FIRST_UP_PARENT/192.168.1.1 application/octet-stream
http://download.mozilla.org/? - DIRECT/63.245.217.39 text/html
http://download.cdn.mozilla.net/pub/mozilla.org/firefox/releases/19.0/update/win32/es-MX/firefox-19.0.complete.mar - FIRST_UP_PARENT/192.168.1.1 application/octet-stream


y ahora ya esta asi:



Osea que si sale desde mozilla.net pero es unlace a mozilla.org, espero haberte explicado bien y no confundirte, Saludos

luistec

Anteriormente las descargas de mozilla era muy aleatorio y utilizaba muchas urls y servidores ftp, por lo que visto sigue descargando del servidor mozilla.net acabo de probarlo, en las urls que pones ahi se ve que la url de todas es mozilla.net, el mozilla.org es una carpeta que esta en el servidor mozilla.net, al poner "/mozilla.org/" solo estas diferenciando que ese contenido sale de esa carpeta, ya que a las finales el ".mozilla.net/" abarca a todas esas carpetas.

Ahora estoy Utilizando el raptorcahe y acabo de probar con el codigo del inicio y estos son los resultados tras hacer unas descargas (mozilla firefox 19).
http://download.cdn.mozilla.net/pub/mozilla.org/firefox/releases/19.0/win32/es-ES/Firefox%20Setup%2019.0.exe







firecold

Cita de: luistec en Febrero 19, 2013, 07:12:49 PM
Anteriormente las descargas de mozilla era muy aleatorio y utilizaba muchas urls y servidores ftp, por lo que visto sigue descargando del servidor mozilla.net acabo de probarlo, en las urls que pones ahi se ve que la url de todas es mozilla.net, el mozilla.org es una carpeta que esta en el servidor mozilla.net, al poner "/mozilla.org/" solo estas diferenciando que ese contenido sale de esa carpeta, ya que a las finales el ".mozilla.net/" abarca a todas esas carpetas.

Ahora estoy Utilizando el raptorcahe y acabo de probar con el codigo del inicio y estos son los resultados tras hacer unas descargas (mozilla firefox 19).
http://download.cdn.mozilla.net/pub/mozilla.org/firefox/releases/19.0/win32/es-ES/Firefox%20Setup%2019.0.exe






Tu imagen lo dice todo, como dije anteriormente:

osea que si sale desde mozilla.net pero es enlace a mozilla.org

te das cuenta por que donde dice host dice download.cdn.mozilla.net pero la referencia de la descarga sale de mozilla.org, te puedes dar cuenta en Referer dice que salio de http://www.mozilla.org/es-ES/download/?product=y el nombre de la descarga, igual creo que no importa, lo que importa es que el plugin funciona al fin y al cabo, Saludos

luistec

Cita de: firecold en Febrero 19, 2013, 07:34:02 PM
Tu imagen lo dice todo, como dije anteriormente:

osea que si sale desde mozilla.net pero es enlace a mozilla.org

te das cuenta por que donde dice host dice download.cdn.mozilla.net pero la referencia de la descarga sale de mozilla.org, te puedes dar cuenta en Referer dice que salio de http://www.mozilla.org/es-ES/download/?product=y el nombre de la descarga, igual creo que no importa, lo que importa es que el plugin funciona al fin y al cabo, Saludos
Lo que intereza es de donde sale el contenido o de que url del servidor sale el contenido, los enlaces o accesos directos  no se toman en cuenta, por eso es que se llama contenido dinamico ya que en ocasiones la dirección del contenido no se puede ver directamente.

Saludos.

firecold

Cita de: luistec en Febrero 19, 2013, 07:57:53 PM
Lo que intereza es de donde sale el contenido o de que url del servidor sale el contenido, los enlaces o accesos directos  no se toman en cuenta, por eso es que se llama contenido dinamico ya que en ocasiones la dirección del contenido no se puede ver directamente.

Saludos.

Bueno igual si no te parece ya lo cambie a mozilla.net, para que no hayan discusiones, igual yo lo modifique por que dejo funcionar y ahora si funciona o por lo menos a mi, Saludos

luistec

Cita de: firecold en Febrero 19, 2013, 09:34:59 PM
Bueno igual si no te parece ya lo cambie a mozilla.net, para que no hayan discusiones, igual yo lo modifique por que dejo funcionar y ahora si funciona o por lo menos a mi, Saludos
Discusiones para nada amigo, solo son unos detalles, estamos para aprender, talvez por ahí tambien me equivoco y de eso aprendo.

Saludos