Plugin windowsupdate

Publicado por juliobrenis, Diciembre 11, 2012, 08:10:07 AM

Tema anterior - Siguiente tema

juliobrenis

Saludos:
Llevo casi un mes con el thundercache sobre debian. Las actualizaciónes de windows cargan bien hasta 1727 archivos cacheados pero por alguna razón despues de un tiempo cuando quiero hacer actualizaciones con una maquina que recien he formateado me sale un error y no deja descargar más.
No me quedo mas que borrar las actualizaciones de windows update en el thunder para volver a cachear todo de nuevo y ya van 2 veces que sucede.

a alguien le ha sucedido algo similar... como lo solucionó..

Gracias por su pronta respuesta.

willysantana

hola yo tengo ese problema cuando instalo windows no puedo actualizar.

pelinho

Estimado Julio
Tuve el mismo problema pero no se debe al Thunder, es necesario bajar manualmente el Agente Windows Update, y luego proceder al actualizar tu sistema

http://support.microsoft.com/kb/949104/es


willysantana

Cita de: pelinho en Diciembre 11, 2012, 09:43:52 AM
Estimado Julio
Tuve el mismo problema pero no se debe al Thunder, es necesario bajar manualmente el Agente Windows Update, y luego proceder al actualizar tu sistema

http://support.microsoft.com/kb/949104/es


amigo el problema continua.

acabo de desavilitar el plugins y todo ok.

al parecer el plugin tiene algun problema.

juliobrenis

Cita de: willysantana en Diciembre 11, 2012, 10:20:31 AM
amigo el problema continua.

acabo de desavilitar el plugins y todo ok.

al parecer el plugin tiene algun problema.

Yo creo que al parecer es un problema del plugin espero que nuestro amigo joemg pueda leer este post y darnos una posible solucion

Gracias

firecold


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

using namespace std;
//Gerardo Noh

//  http.*(\.windowsupdate\.com).*(\.cab|\.exe|\.iso|\.zip|\.psf|\.msu|\.msi|\.msp|\.dsft)
// http://download.windowsupdate.com/msdownload/update/software/defu/2012/04/am_base_70a1ba0ad946e3cd5032ca3871c0065a91529404.exe
// use this line to compile
// g++ -I. -fPIC -shared -g -o windowsupdate.com.so windowsupdate.com.cpp

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(".windowsupdate.com/msdownload") != string::npos)
    ) {
     
       r.file = get_filename(url);
       if (!r.file.empty()) {
           r.match = true;
           r.domain = "windowsupdate";
       } else {
           r.match = false;
       }
   } else {
       r.match = false;
   }
   return r;
}



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

using namespace std;
//Feito por Gildo

// http.*(\.microsoft\.com).*(\.cab|\.exe|\.iso|\.zip|\.psf|\.msu|\.msi|\.msp|\.dsft)
// use this line to compile
// g++ -I. -fPIC -shared -g -o microsoft.com.so microsoft.com.cpp

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(".microsoft.com/") != string::npos)
    ) {
     
       r.file = get_filename(url);
       if (!r.file.empty()) {
           r.match = true;
           r.domain = "microsoft";
       } else {
           r.match = false;
       }
   } else {
       r.match = false;
   }
   return r;
}

luistec

Que diferencia hace ese código con el antiguo amigo firecold, bueno con el que posteo hace tiempo joemg, sabes hay varios contenidos que se tienen que obviar ya que generan problemas.

Saludos.

luistec

Ahí encontre los códigos que posteo hace tiempo joemg.


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

using namespace std;

// use this line to compile
// g++ -I. -fPIC -shared -g -o microsoft.com.so microsoft.com.cpp
// regex
//http.*\.microsoft\.com.*(\.cab|\.exe|\.iso|\.zip|\.psf|\.msu|\.msi|\.msp|\.dsft)

bool in_array(const string &needle, const vector< string > &haystack) {
   int max = haystack.size();

   if (max == 0) return false;
       
   for (int iii = 0; iii < max; iii++) {
          if (regex_match(haystack[iii], needle) != "") {
              return true;
       }
   }
   return false;
}

string get_filename(string url) {
       vector<string> resultado;
       if (url.find("?") != string::npos){
           stringexplode(url, "?", &resultado);
           url = resultado.at(resultado.size()-2);
       }
   
       if (regex_match("[0-9]{10}$", url) != "") {
           
           stringexplode(url, "/", &resultado);
           return resultado.at(resultado.size()-3);
       } else {
           stringexplode(url, "/", &resultado);
           return resultado.at(resultado.size()-1);
       }            
}

extern "C" resposta getmatch(const string url) {
   resposta r;
   
   vector<string> black_list;
   black_list.push_back ("WuSetupHandler.cab");
   black_list.push_back ("muv3muredir.cab");
   black_list.push_back ("muredir.cab");
   black_list.push_back ("wuredir.cab");
   black_list.push_back ("muauth.cab");
   black_list.push_back ("musetup.cab");
   black_list.push_back ("wsus3setup.cab");
   black_list.push_back ("authrootstl.cab");
   black_list.push_back ("authrootseq.txt");
   black_list.push_back ("default.aspx");
   black_list.push_back ("wuident.cab");
   black_list.push_back ("\\.asmx");
   black_list.push_back ("stats\\.");
   black_list.push_back ("\\.asp");
       black_list.push_back ("cdm.cab");

   if (   (url.find(".microsoft.com") != string::npos) and
       ( (url.find(".cab") != string::npos) or (url.find(".exe") != string::npos) or (url.find(".iso") != string::npos) or
                    (url.find(".zip") != string::npos) or (url.find(".psf") != string::npos) or (url.find(".msi") != string::npos) or
                    (url.find(".msp") != string::npos) or (url.find(".msu") != string::npos) or (url.find(".dsft") != string::npos) ) and
           (in_array(url, black_list) == false)
    {

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




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

using namespace std;

// use this line to compile
// g++ -I. -fPIC -shared -g -o windowsupdate.com.so windowsupdate.com.cpp
// regex
// http.*\.windowsupdate\.com.*(\.cab|\.exe|\.iso|\.zip|\.psf|\.msu|\.msi|\.msp|\.dsft)

bool in_array(const string &needle, const vector< string > &haystack) {
   int max = haystack.size();

   if (max == 0) return false;

for (int iii = 0; iii < max; iii++) {
      if (regex_match(haystack[iii], needle) != "") {
          return true;
}
}
   return false;
}

string get_filename(string url) {
vector<string> resultado;
if (url.find("?") != string::npos){
stringexplode(url, "?", &resultado);
url = resultado.at(resultado.size()-2);
}

if (regex_match("[0-9]{10}$", url) != "") {

stringexplode(url, "/", &resultado);
return resultado.at(resultado.size()-3);
} else {
stringexplode(url, "/", &resultado);
return resultado.at(resultado.size()-1);
}                    
}

extern "C" resposta getmatch(const string url) {
   resposta r;

vector<string> black_list;
black_list.push_back ("WuSetupHandler.cab");
black_list.push_back ("muv3muredir.cab");
black_list.push_back ("muredir.cab");
black_list.push_back ("wuredir.cab");
black_list.push_back ("muauth.cab");
black_list.push_back ("musetup.cab");
black_list.push_back ("wsus3setup.cab");
black_list.push_back ("authrootstl.cab");
black_list.push_back ("authrootseq.txt");
black_list.push_back ("default.aspx");
black_list.push_back ("wuident.cab");
black_list.push_back ("\\.asmx");
black_list.push_back ("stats\\.");
black_list.push_back ("\\.asp");
       black_list.push_back ("cdm.cab");

if (   (url.find(".windowsupdate.com") != string::npos) and
( (url.find(".cab") != string::npos) or (url.find(".exe") != string::npos) or (url.find(".iso") != string::npos) or
                    (url.find(".zip") != string::npos) or (url.find(".psf") != string::npos) or (url.find(".msi") != string::npos) or
                    (url.find(".msp") != string::npos) or (url.find(".msu") != string::npos) or (url.find(".dsft") != string::npos) ) and
(in_array(url, black_list) == false)
) {

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

firecold

Cita de: luistec en Diciembre 17, 2012, 06:01:00 PM
Que diferencia hace ese código con el antiguo amigo firecold, bueno con el que posteo hace tiempo joemg, sabes hay varios contenidos que se tienen que obviar ya que generán problemas.

Saludos.

Amigo Luistec la verdad no lo se, estos plugins como puedes ver no son mios, osea que no los probe ni nada por el estilo, cada plugin es de un autor diferente y no habia visto los codigos de los plugins de joemg6, por eso no puse ningun comentario, pero gracias por postear los codigos, ya que viendo los codigos anteriores y probando, se puede corregir el problema, Gracias Amigo Luistec, Saludos

willysantana

amigo pero seria bueno buscar solucion a estos plugin.

juliobrenis

Estuve probando el codigo que posteo JOEMG y termino con el mismo error asi que voy a probar el que hizo firecold.
Estara comentando como se comporta.

Amigo Joemg si pudieras darnos alguna posible solución te lo agradeceria mucho.

juliobrenis

Saludos Cordiales:

Alguien sabe como hacer para que el plugin no haga cache a ciertos archivos que descarga el windows update?
He probado colocando en la parte del pluging blacklist pero no me funciona.

Gracias por su pronta respuesta