Ayuda para instalar plugin thunder 3.1

Publicado por admerh, Noviembre 06, 2012, 11:26:33 PM

Tema anterior - Siguiente tema

admerh

Buenas desde hace dias he intentado montar un plugin nuevo de mercadolibre ya que el que tenia anterior tenia problemas con mercadolibre venezuela en mi thunder 3.1 segui la guia http://www.alterserv.com/foros/index.php?topic=9.0 y no he podido hacerlo trabajar alguien me puede dar una ayuda? se los agradezco de antemano.
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas. Einstein.

joemg6

Para el servidor de imagenes de mercadolibre (mlstatic) se ha actualizado el código de fuente es cuestión que lo pruebes, compilalo, copia a la carpeta thunder, le das permisos, copias el regex en thunder.lst y reinicias el thunder y el squid con eso estaria funcioando, cualquier duda se estará ayudando.
RaptorCache Developer

admerh

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

// use this line to compile
// g++ -I. -fPIC -shared -g -o mlstatic.com.so mlstatic.com.cpp
// regex
// http.*\.mlstatic\.com.*(\.jpg|\.png|\.gif)


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



ese es el que quiero colocar lo monte en la carpeta /etc/thunder/plugins/ luego coloque el regex http.*\.mlstatic\.com.*(\.jpg|\.png|\.gif) en Thunder.lst pero la cosa que no entiendo es esta -(Luego damos permisos al plugin compilado) chmod 777 plugin-compilado   pero cual seria e codigo competo para dar permiso en este caso de mercadolibre?   chmod 777 xxxxxxxxxx
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas. Einstein.

btocarmona

Cita de: admerh en Noviembre 07, 2012, 01:39:25 AM
#include <iostream>
#include <cstring>
#include <vector>
#include "../utils.cpp"

// use this line to compile
// g++ -I. -fPIC -shared -g -o mlstatic.com.so mlstatic.com.cpp
// regex
// http.*\.mlstatic\.com.*(\.jpg|\.png|\.gif)


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



ese es el que quiero colocar lo monte en la carpeta /etc/thunder/plugins/ luego coloque el regex http.*\.mlstatic\.com.*(\.jpg|\.png|\.gif) en Thunder.lst pero la cosa que no entiendo es esta -(Luego damos permisos al plugin compilado) chmod 777 plugin-compilado   pero cual seria e codigo competo para dar permiso en este caso de mercadolibre?   chmod 777 xxxxxxxxxx

Amigo te recomiendo que utilices winscp para hacer las tareas de cambiar permisos mover,editar archivos etc es mas simple para nosotros los novatos,y no perdernos en lineas de comandos.Saludos

luistec

Claro amigo, también puedes usar el programa WINSCP para ingresar al servidor, ya que su interface es como un explorador ahí puedes cópiar, pegar, editar, etc de una manera más facil, si quieres darle permisos seleccionas el plugin click derecho luego propiedades y seleccionas todos los casilleros de R W X, con eso ya tendrian los permisos



Para compilar los plugins si tiene que ser por linea de comandos como en el tutorial.

Saludos.

admerh

Ok y en el caso de este plugin de mercadolibre cuales son los comandos para compilar alli es que no entiendo que comando colocar en consola?
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas. Einstein.

luistec

Fíjate de usar el último código de fuente para mercadolibre porque el que pusiste en un mensaje anterior tiene errores con algunas imagenes también no olvides que este archivo de código de fuente lleva la extensión .cpp y para compilarlo lleva un comentario en el mismo código de fuente

// use this line to compile
// g++ -I. -fPIC -shared -g -o mlstatic.com.so mlstatic.com.cpp

Entonces pones por el terminal

g++ -I. -fPIC -shared -g -o mlstatic.com.so mlstatic.com.cpp

Y te generará un archivo con la extensión .so que es el plugin.

Saludos.

admerh

Ok pero coloco en consola esta        g++ -I. -fPIC -shared -g -o mlstatic.com.so mlstatic.com.cpp
y me sale este mensaje

g++: mlstatic.com.cpp: No existe el fichero o el directorio
g++: no input files
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas. Einstein.

luistec

Cita de: admerh en Noviembre 09, 2012, 12:48:14 PM
Ok pero coloco en consola esta        g++ -I. -fPIC -shared -g -o mlstatic.com.so mlstatic.com.cpp
y me sale este mensaje

g++: mlstatic.com.cpp: No existe el fichero o el directorio
g++: no input files
Eso te sale por que no encuentra el codigo de fuente para compilarlo, lo que puedes hacer es usar el WINSCP con este programa crea y edita el archivo .cpp en la carpeta "/etc/thunder/pluginmaker/plugins/" ahí debe de estar tu archivo para compilarlo, y para compilar tambien tienes que ir a esa ruta por el terminal antes de compilar en el caso del plugin de mercadolibre sería

Nos vamos a la carpeta que contiene el codigo de fuente

cd /etc/thunder/pluginmaker/plugins/


Revisas que el archivo .cpp este ahí
ls

Luego compilas
g++ -I. -fPIC -shared -g -o mlstatic.com.so mlstatic.com.cpp

Vueles a revisar en esa carpeta que haya el archivo con extensión ".so" que es del plugin.

Saludos.

admerh

Gracias a todos por la colaboración ya esta solucionado.
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas. Einstein.