Menú principal
Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Menú Mostrar Mensajes

Temas - firecold

#41
Plugins para RaptorCache / Plugin Meridiano.com.ve
Septiembre 05, 2013, 09:53:12 AM
Respondiendo a la peticion de un amigo, les entrego este plugin:

Código (cpp) [Seleccionar]
#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 meridiano.com.ve.so meridiano.com.ve.cpp
// Regex
// http.*\.meridiano\.com\.ve.*(\.swf|\.jpg|\.png|\.gif)

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


Saludos
#42
Plugins de música & videos / Pugins de Tu.tv
Agosto 30, 2013, 10:45:46 PM
Código (cpp) [Seleccionar]
#include <iostream>
#include <cstring>
#include <vector>
#include "../utils.cpp"

// use this line to compile
// g++ -I. -fPIC -shared -g -o hv2m90.tu.tv.so hv2m90.tu.tv.cpp
// Regex
// http.*\.tu\.tv.*(\.flv|\.mp4)

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("hv2m90.tu.tv/") != string::npos) and
      ( (url.find(".flv") != string::npos) or (url.find(".mp4") != string::npos) )
  ) {
     
      r.file = get_filename(url);
     if (!r.file.empty()) {
        r.match = true;
        r.domain = "tutv";
     } else {
        r.match = false;
     }
  } else {
     r.match = false;
  }
  return r;
}


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

// use this line to compile
// g++ -I. -fPIC -shared -g -o hv2m91.tu.tv.so hv2m91.tu.tv.cpp
// Regex
// http.*\.tu\.tv.*(\.flv|\.mp4)

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("hv2m91.tu.tv/") != string::npos) and ( (url.find(".flv") != string::npos) or (url.find(".mp4") != string::npos) )
  ) {
     
      r.file = get_filename(url);
     if (!r.file.empty()) {
        r.match = true;
        r.domain = "tutv/1";
     } else {
        r.match = false;
     }
  } else {
     r.match = false;
  }
  return r;
}


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

// use this line to compile
// g++ -I. -fPIC -shared -g -o hv2m92.tu.tv.so hv2m92.tu.tv.cpp
// Regex
// http.*\.tu\.tv.*(\.flv|\.mp4)

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("hv2m92.tu.tv/") != string::npos) and ( (url.find(".flv") != string::npos) or (url.find(".mp4") != string::npos) )
  ) {
     
      r.file = get_filename(url);
     if (!r.file.empty()) {
        r.match = true;
        r.domain = "tutv/2";
     } else {
        r.match = false;
     }
  } else {
     r.match = false;
  }
  return r;
}


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

// use this line to compile
// g++ -I. -fPIC -shared -g -o hv2m93.tu.tv.so hv2m93.tu.tv.cpp
// Regex
// http.*\.tu\.tv.*(\.flv|\.mp4)

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("hv2m93.tu.tv/") != string::npos) and ( (url.find(".flv") != string::npos) or (url.find(".mp4") != string::npos) )
  ) {
     
      r.file = get_filename(url);
     if (!r.file.empty()) {
        r.match = true;
        r.domain = "tutv/3";
     } else {
        r.match = false;
     }
  } else {
     r.match = false;
  }
  return r;
}


Estos son los cuatro principales.
#43
Squid 2.7 & Squid 3.x / Delay Pools y Cache_peer
Agosto 29, 2013, 06:12:30 PM
Primero que nada darle las gracias a todos los amigos y compañeros del foro de alterserv, en esta ocasion vengo a ustedes con una interrogante que hace ratos tenia en mi mente y no habia podido descifrar por mucho que lei en muchos lados por aqui y por alla, sobre delay_pools y cache_peer, pues les cuento cuando uno no cuenta con MK tiene que hacer las limitaciones con squid y esto lo hace posible delay_pools, creando unas piscinas de retraso para el contenido, para todos los amigos que no sepan que es delay_pools y como funciona les recomendaria pasarse por aqui: http://www.alterserv.com/foros/index.php?topic=13.0, en el cual Joemg6 explica su funcionamiento y aplicacion, para no perdernos mucho en el tema, ire al grano, pues resulta que cuando uno hace uso de delay_pools tambien limita la velocidad de cualquier cache_peer, en mi caso limitaba mucho la vizualizacion de videos ya que en mi red miran mucho anime y delay_pools generaba un retraso enorme por las limitaciones que tengo, les mostrare mi configuracion de estas:

acl accesototal src " etc squid3 accesototal.txt"
acl mired src " etc squid3 mired.txt"
acl denegados url_regex -i " etc squid3denegados.lst"
acl magic_words1 url_regex -i 192.168.1.1
acl magic_words2 url_regex -i .mp3 .zip .rar .avi .mpeg .mpe .mpg .wav .mov .3gp .mov .flv .mp2 .mp5 .aac .wma .ogg .mka .asf .iff .amv .mp4 .apk .sys .jar .gz .exe .wma .wmv .ogg
# -----------------------------------------------------------------------------
# DELAY POOL PARAMETERS
# -----------------------------------------------------------------------------
delay_pools 3
delay_class 1 2
delay_parameters 1 -1 -1 -1 -1
delay_access 1 allow accesototal
# -----------------------------------------------------------------------------
delay_class 2 2
#-1/-1 significa que no hay limites.
delay_parameters 2 -1 -1 -1 -1
delay_access 2 allow magic_words1 mired
# -----------------------------------------------------------------------------
delay_class 3 2
delay_parameters 3 70000 70000 70000 70000
delay_access 3 allow magic_words2 mired
#----------------------------------------------------------------------


En el cual limito las extensiones a cierta velocidad y debo decir que son varias estensiones, pero yo lo que queria es que todo lo que viniera de thunder o raptor llegara a velocidad lan, pues estuve desviviendome parte de la tarde buscando configuraciones al respecto y nada, decidiendo buscar las opciones de cache_peer encontre una opcion la cual me permite quitar cualquier delay a thunder o raptor como cache_peer o cache paralelo si lo quieren ver asi, la cual es no-delay esta le dice a Squid que ignore la configuración delay pools para las peticiones a los caches vecinos o pares, dejando nuestra configuraciones  de squid para thunder o raptor asi:

#----------------------------------------------------------------------
acl raptor_lst url_regex -i " etc raptor raptor.lst"
cache deny raptor_lst
cache_peer 192.168.1.1 parent 8080 0 proxy-only no-digest no-delay
dead_peer_timeout 2 seconds
cache_peer_access 192.168.1.1 allow raptor_lst
cache_peer_access 192.168.1.1 deny all
#----------------------------------------------------------------------


Y creanme se siente la diferencia, dejando llegar lo cacheado por thunder o raptor sin limitaciones, que era lo que yo queria, espero que esto les sirva, Saludos

NOTA: el sitio web donde lo encontré es muy interesante y es de un libro que habla sobre squid y cada uno de sus parametros, creanme es muy extenso y a muchos les puede resultar interesante, les dejo el link: http://www.ouitech.fr/ebook/squid/0596001622/main.html.
#44
Muy buenos dias a todos los amigos del foro, o los que por casualidad se pasan por aqui, en esta ocasion vengo a enseñar como compilar nuestro squid3 en cualquiera de sus versiones, esta informacion es compatible con cualquier distribución Debian/Ubuntu y derivados, pues como veo en el foro comentarios de  que squid3 tiene cierta lentitud, pues he armado este post, para ayudarlos y que todos puedan aprender, como ustedes saben el conocimiento es mejor si se comparte, bueno empezemos:

PASOS PREVIOS ANTES DE CUALQUIER OTRA COSA

He visto en el foro en muchas de las configuraciones estos parametros:
Código (cpp) [Seleccionar]
echo 65536 > proc sys fs file-max
echo "*         soft        nofile          65536" >>  etc security limits.conf
echo "*         hard        nofile          65536" >> etc security limits.conf
echo "root      soft        nofile          65536" >> etc security limits.conf
echo "root      hard        nofile          65536" >> etc security limits.conf
echo "proxy     soft        nofile          65536" >> etc securitylimits.conf
echo "proxy     hard        nofile          65536" >> etc security limits.conf
echo "ulimit -Hn 8192
ulimit -Sn 8192">>  etc profile
fs.file-max = 65536


De los cuales debo decir en muchos casos estan equivocados, vamos a ver como ejemplo mi caso yo tengo 8GB de ram y sin estas modificaciones haciendo un:
cat /proc/sys/fs/file-max  # me muestra un valor de 803668

Eso quiere decir que poseo 803668 de descriptores de archivos en mi sistema y con la configuracion solo me permite usar 65536, hagan sus cuentas hay una diferencia mas que notable, entonces recomiendo a todos mis compañeros del foro aumentar estos valores, ya que estos valores aumentan dependiendo de la ram de su sistema y otra variables.

COMPILACIÓN Y OPTIMIZACION DE SQUID3

En Debian/Ubuntu squid esta disponible tanto en su versión 2.x y 3.x, para nuestro caso usaremos la versión 3 por lo que el nombre de paquetes serán squid3, instalamos todos los paquetes requeridos para el servidor vía apt-get.

apt-get install squid3 squidclient squid-cgi

aunque ya tengamos instalado squid3 no hay problema si lo marcamos porque nos dira que ya esta en su sistema, lo importante es instalar las de mas librerias con sus dependencias, despues procedemos a descargas los paquetes de las dependencias de compilacion necesarios para squid3, tecleando esto en la terminal:

apt-get build-dep squid3

Y procedemos a crear un directorio de compilacion para descargar las fuentes de squid3, haciendolo de esta manera:

mkdir /usr/src/squid
cd /usr/src/squid
apt-get source squid3


Ya descargadas las fuentes de squid3, listas para la compilacion, procedemos a ir al directorio donde estan las fuentes y agregar o editar la configuracion de squid3 para mejorarla claro esta, de este modo:

cd squid3-3.1.20
gedit /usr/src/squid/squid3-3.1.20/debian/rules


Y les mostrara este archivo de esta manera:


teniendo que dejarlo de esta:


El parametro --with-filedescriptors=, lo colocan dependiendo los descriptores de archivos que tengan disponibles en su sistema, guardan cierran y empezamos a compilar con:

dpkg-buildpackage -b -uc

Esto tardara un buen rato dependiendo de su maquina, al terminar miremos el resultado con:



Mostrandoles 6 archivos debo advertirles que muchas veces en la compilación aparece un 7 archivo con el nombre squid3-dbg, en el caso de que apareciera eliminarlo antes de pasar a la instalación, ya que no los dejaria instalar, ya pasando a la instalacion de los .debs modificados con:

dpkg -i ../squid*.deb
En la instalacion en la parte final les saldra un error, normalmente es por los permisos de las carpetas etc squid3 o var spool squid3, las cuales ya tienen permisos asignados y dichos paquetes quieren volver a crear estas carpetas, pero ya existen, pero no es algo para alarmarse, para verificar que su compilacion fue hecha correctamente y los paquetes fueron compilados con nuevas directivas, tecleamos:

squid3 -v
Y buscamos '--enable-async-io=128', que tiene que estar en 128 y no en 8, tambien --with-filedescriptors=806668, con los descriptores de archivos que ustedes hayan puesto y no con 65536, si estos datos son correctos, todo esta hecho, solo falta la configuracion de squid para aumentar los descriptores de archivos con el parametro:

max_filedescriptors con el numero fd que ustedes crean conveniente

Reinician Squid, y esta todo terminado, espero que sea de utilidad y si alguien tiene algun parametro mas o una configuracion mas sera aceptada con gusto, dudas o cualquier interrogante no duden en disiparla en este hilo, Saludos

NOTA: "Si me llamáis maestro, ponéis una distancia entre nosotros, os hacéis vosotros ignorantes y a mi soberbio. Prefiero que me llaméis " hermano " y no me arrinconéis en vuestro corazón haciéndome insuperable a vuestra naturaleza. Maestro solo hay uno y está en los Cielos.
CITANDO LA PALABRA DE DIOS: en Mateo
23:8 Pero vosotros no queráis que os llamen Rabí; porque uno es vuestro Maestro, el Cristo, y todos vosotros sois hermanos.
23:9 Y no llaméis padre vuestro a nadie en la tierra; porque uno es vuestro Padre, el que está en los cielos.
23:10 Ni seáis llamados maestros; porque uno es vuestro Maestro, el Cristo.
23:11 El que es el mayor de vosotros, sea vuestro siervo.
23:12 Porque el que se enaltece será humillado, y el que se humilla será enaltecido.
#45
Plugins para RaptorCache / Plugin Ebay.com
Julio 09, 2013, 06:10:47 PM
Buena tarde a todos los amigos del foro, publicando el plugin de ebay específicamente de las imagenes:

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

// g++ -I. -fPIC -shared -g -o ebaystatic.com.so ebaystatic.com.cpp
// regex
// http.*\.ebaystatic\.com.*(\.jpg|\.png|\.swf|\.flv)

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(".ebaystatic.com") != string::npos) and
( (url.find(".jpg") != string::npos) or
(url.find(".png") != string::npos) or
(url.find(".swf")!= string::npos) or
(url.find(".flv")!= string::npos))
) {

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


Saludos
#46
Plugins de música & videos / Plugin enladisco.com
Julio 08, 2013, 01:22:30 PM

Como muchos sabran en la nueva instalacion de Raptor ya viene el plugin para enladisco.com, pero me tope con un inconveniente que hay algunas ips no hacen cache por ejemplo: http://174.36.108.232/~manejado/Files/s19/50ed03d991ca4.Skm, la verdad no se quien creo este plugin y hago este post para reportar y mejorar este plugin, Saludos
#47
Discución General / Problema cuando se hace un post
Julio 03, 2013, 01:38:04 PM
Bueno antes que nada darle las gracias a esta comunidad, por la oportunidad de participar y claro al amigo Joemg6, por crearlo, por lo demas debo decir que desde hace una semana tengo un problema al crear post o responder alguna pregunta, lo interesante de todo esto que solo pasa cuando pongo las barras paralelas y me dice esto:



No dejandome hacer nada mas, espero se pueda solucionar, y saber si a alguien mas le esta pasando, Saludos

#48
Plugins de juegos / Plugins Juegos de Facebook
Mayo 26, 2013, 10:29:17 AM
A todos los amigos que les esta dando problemas algun plugin de facebook, o desea hacer cache de algun juego de facebook, o por que no mejorar alguno de los plugins antes hechos este es el lugar, espero su participacio y apoyo, Saludos
#49
Otros / SoftPerfect WiFi Guard
Abril 25, 2013, 06:44:42 PM
Wifi Guard  es un software que se encarga de monitorizar nuestra red inalámbrica para detectar rápidamente posibles intrusiones, mediante fuerza bruta o vulnerabilidades en el cifrado (sí amigos! todavía hay bastante gente que usa WEP, en vez de WPA o WPA2) .

SoftPerfect WiFi Guard es un software freeware, disponible para todas las plataformas, con el que podemos detectar hasta un máximo de 32 dispositivos conectados y programar escaneados a intervalos específicos (de 1′ a 60′), además  WiFi Guard se encarga de notificarnos de la presencia de dispositivos desconocidos.



Espero les sirva, les dejo los enlaces:

http://lamiradadelreplicante.com/2013/02/18/deteccion-de-intrusos-en-la-red-wi-fi-con-softperfect-wifi-guard/
http://www.softperfect.com/products/wifiguard/


Saludos
#50
Atendiendo a la solicitud de Lervis, que queria un plugin para la pagina de los testigos de Jehova:


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

using namespace std;

// g++ -I. -fPIC -shared -g -o jw.org.so jw.org.cpp
// regex
// http.*\.jw\.org.*(\.mp4|\.mp3|\.swf|\.jpg|\.png|\.pdf|\.aac)

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


Espero les sirva, Saludos
#51
Buenos Dias Amigos del foro, aqui viendo si a alguno no le ha pasado que no puede acceder al webpanel, el log de pache de la pagina me dice esto:

[error] [client 127.0.0.1] PHP Notice:  Undefined variable: uptimeString in /var/raptor/main/functions.php on line 74
[Fri Mar 08 03:13:33 2013] [error] [client 127.0.0.1] PHP Notice:  Undefined variable: secs in /var/raptor/main/functions.php on line 77
[Fri Mar 08 03:13:33 2013] [error] [client 127.0.0.1] PHP Fatal error:  Uncaught exception 'PDOException' with message 'SQLSTATE[28000] [1045] Access denied for user 'root'@'localhost' (using password: YES)' in /var/raptor/index.php:5\nStack trace:\n#0 /var/raptor/index.php(5): PDO->__construct('mysql:host=loca...', 'root', 'raptor')\n#1 {main}\n  thrown in /var/raptor/index.php on line 5
[Fri Mar 08 03:13:34 2013] [error] [client 127.0.0.1] File does not exist: /var/raptor/favicon.ico


y el error.log de raptor me dice esto:

08/03/2013 03:13:54 Error connection mysql
08/03/2013 03:13:54 Error connection mysql
08/03/2013 03:13:54 Error connection mysql
08/03/2013 03:13:54 Error connection mysql
08/03/2013 03:13:55 Error connection mysql
08/03/2013 03:13:55 Error connection mysql
08/03/2013 03:13:55 Error connection mysql
08/03/2013 03:13:55 Error connection mysql
08/03/2013 03:13:55 Error connection mysql
08/03/2013 03:13:55 Error connection mysql
08/03/2013 03:13:55 Error connection mysql
08/03/2013 03:13:55 Error connection mysql
08/03/2013 03:13:55 Error connection mysql
08/03/2013 03:14:56 Error connection mysql


Debo agregar que acabo de instalar RaptorCache, y cuando reinicie paso esto, Gracias a todos, Saludos
#52
Buenas tardes amigos del foro aqui publicando dos plugins que me habian pedido hace ratos y se ma habian olvidado.

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

// g++ -I. -fPIC -shared -g -o buenamusica.com.so buenamusica.com.cpp
// regex
// http.*\.buenamusica\.com.*(\.png|\.jpg|\.swf)

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(".buenamusica.com/") != string::npos) and
( (url.find(".png") != string::npos) or
(url.find(".jpg") == string::npos) or
(url.find(".swf") == string::npos) )
) {

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


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

// g++ -I. -fPIC -shared -g -o perufino.com.so perufino.com.cpp
// regex
// http.*\.perufino\.com.*(\.png|\.jpg|\.mp3)

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(".perufino.com/") != string::npos) and
( (url.find(".png") != string::npos) or
(url.find(".jpg") == string::npos) or
(url.find(".mp3") == string::npos) )
) {

    r.file = get_filename(url);
if (!r.file.empty()) {
r.match = true;
r.domain = "perufino";
} else {
r.match = false;
}
} else {
r.match = false;
}
return r;
}
#53
Buanas tardes amigos del foro, aqui publicando varios plugins de servidores de descarga de musica en mp3, el detalle es que estuve viendo que sitios como hulkshare, dilandau, mp3skull, mp3-buscador, mp3shake.com, mimp3.com, emp3world.com, usan casi siempre los mismos servidores para la descarga de musica, y me puse a la tarea de hacerles plugin ya que en mi red son los que mas consumo me producen, a continuacion se los publico:

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

// g++ -I. -fPIC -shared -g -o nofeehost.com.so nofeehost.com.cpp
// regex
// http.*\.nofeehost\.com.*\.mp3
// http://users6.nofeehost.com/sosoniderito/Regueton/Wisin%20Y%20Yandel%20-%2008%20-%20Yandel.%20Franco%20(El%20Gorilla)%20-%20Vamo%20a%20Hacerlo.mp3

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(".nofeehost.com/") != string::npos) and ( (url.find(".mp3") != string::npos) )
) {

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


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

// http://manabar.ca/pictures/33_WisinyYandel-PalMundo-13-NocheDeSexoFtAventura.mp3
// g++ -I. -fPIC -shared -g -o manabar.ca.so manabar.ca.cpp
// regex
// http.*manabar\.ca.*\.mp3

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("manabar.ca/") != string::npos) and ( (url.find(".mp3") != string::npos) )
) {

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


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

// g++ -I. -fPIC -shared -g -o ning.com.so ning.com.cpp
// regex
// http.*\.ning\.com.*\.mp3
// http://api.ning.com/files/cVbHHr*PLJtLaAnj3*Rq96R5KqQuvQcKJYdz7czJj92wxIrFqvHlvVhs*g-5RMQSNvSZ*yK-NxpmLo1RcfZxM-3QSkiAL4d8/ep-Um56kmKyWeJiVqWSLiJKboTQ$.mp3

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(".ning.com/") != string::npos) and ( (url.find(".mp3") != string::npos) )
) {

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


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

// g++ -I. -fPIC -shared -g -o molenillo.com.so molenillo.com.cpp
// regex
// http.*molenillo\.com.*\.mp3
// http://molenillo.com/wp-content/uploads/2009/08/Wisin-y-Yandel-Abusadora-LMP.mp3

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("molenillo.com/") != string::npos) and ( (url.find(".mp3") != string::npos) )
) {

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


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

// g++ -I. -fPIC -shared -g -o mp3-buscador.com.so mp3-buscador.com.cpp
// regex
// http.*\.mp3-buscador\.com.*\.mp3
// http://musica.mp3-buscador.com/0001/wisin-y-yandel-pegate.mp3

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(".mp3-buscador.com/") != string::npos) and ( (url.find(".mp3") != string::npos) )
) {

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


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

// g++ -I. -fPIC -shared -g -o maguinamotors.com.so maguinamotors.com.cpp
// regex
// http.*\.maguinamotors\.com.*\.mp3
// http://www.maguinamotors.com/media/Wisin_Yandel_-_Rakata.mp3

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(".maguinamotors.com/") != string::npos) and ( (url.find(".mp3") != string::npos) )
) {

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


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

// g++ -I. -fPIC -shared -g -o coqui.net.so coqui.net.cpp
// regex
// http.*\.coqui\.net.*\.mp3
// http://home.coqui.net/afuegoski/disfrutalo.mp3

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(".coqui.net/") != string::npos) and ( (url.find(".mp3") != string::npos) )
) {

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


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

// g++ -I. -fPIC -shared -g -o turner.com.so turner.com.cpp
// regex
// http.*\.turner\.com.*\.mp3
// http://tbsila.cdn.turner.com/tbsila/big/trends/com.htv.radio/htv-hurbano/wisin-y-yandel-siguelo.mp3

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(".turner.com/") != string::npos) and ( (url.find(".mp3") != string::npos) )
) {

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


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

// g++ -I. -fPIC -shared -g -o hulkshare.com.so hulkshare.com.cpp
// regex
// http.*\.hulkshare\.com.*\.mp3
// http://cdn07.hulkshare.com/dev7/0/005/731/0005731392.fid/PSY_-_Gangnam_Style_remix_dj_dann.mp3?key=f075c34975332bb257d35f13c0609700&dl=1

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(".hulkshare.com/") != string::npos) and ( (url.find(".mp3") != string::npos) )
) {

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


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

// http://share.auditory.ru/2006/Olga.Belova/Songs/reggaetton/Wisin%20Y%20Yandel%20-%20Yo%20Te%20Quiero%20(Cera%20Reggaeton%20Nuevo%20Septiembre06).mp3
// g++ -I. -fPIC -shared -g -o auditory.ru.so auditory.ru.cpp
// regex
// http.*\.auditory\.ru.*\.mp3

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(".auditory.ru/") != string::npos) and ( (url.find(".mp3") != string::npos) )
) {

    r.file = get_filename(url);
if (!r.file.empty()) {
r.match = true;
r.domain = "auditory";
} else {
r.match = false;
}
} else {
r.match = false;
}
return r;
}
#54
Plugins de música & videos / Plugin xvideos
Diciembre 15, 2012, 11:27:29 AM
Buenos dias amigos del foro este plugin de xvideos no lo he probado es de un amigo del foro de brazilfw, segun el si funciona, la verdad yo no miro ese tipo de contenidos por eso no lo probe, pero si ustedes quieren probar, les dejo el codigo y avisan:

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

// regex
// http.*(porn|img).*\.xvideos\.com\/videos\/(thumbs\/)?.*(\.jpg|\.flv\?.*|\.mp4\?.*)$
// use this line to compile
// g++ -I. -fPIC -shared -g -o xvideos.com.so xvideos.com.cpp

string get_filename(string url) {
   vector<string> resultado;
   string::size_type pos;
   string tmp;

   stringexplode(url,"/",&resultado);
   url = resultado.at(resultado.size() - 1);
   resultado.clear();

   if (url.find("?") != string::npos) {
      stringexplode(url, "?", &resultado);
      url = resultado.at(0);
      if( (pos = url.find(";")) != string::npos )
         url.erase(pos);
      return url;
   } else {
      if( (pos = url.find(";")) != string::npos )
         url.erase(pos);
      return url;
   }
}

extern "C" resposta getmatch(const string url) {
   resposta r;
   
   r.file = get_filename(url);
   if ( !r.file.empty() ) {
      r.match = true;
      r.domain = "xvideos";
   } else {
      r.match = false;
   }
   return r;
}
#55
#include <iostream>
#include <cstring>
#include <vector>
#include "../utils.cpp"

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

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(".cam4s.com/") != string::npos) and ((url.find(".jpg") != string::npos) or (url.find(".png") != string::npos) or (url.find(".gif") != string::npos) or (url.find(".swf") != string::npos) or (url.find(".mp4") != string::npos))
) {

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


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

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

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(".serviporno.com/") != string::npos)
   ) {
       r.file = get_filename(url);
      if (!r.file.empty()) {
         r.match = true;
         r.domain = "serviporno";
      } else {
         r.match = false;
      }
   } else {
      r.match = false;
   }
   return r;
}
#56
Buenas tardes Amigos del foro aqui publicando un plugin proveido por Gerardo Noh

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

//http.*\.5min\.com.*\.(flv|mp4)
// use this line to compile
// g++ -I. -fPIC -shared -g -o 5min.com.so 5min.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 get_match(const string url) {
    resposta r;   
   
   if ( (url.find(".5min.com/") != string::npos)   and
       ( (url.find(".flv") != string::npos) or (url.find(".mp4") != string::npos) )
   ) {
     
       r.file = get_filename(url);
      if (!r.file.empty()) {
         r.match = true;
         r.domain = "lvideo";
      } else {
         r.match = false;
      }
   } else {
      r.match = false;
   }
   return r;
}


Espero les Sirva, Saludos
#57
Squid 2.7 & Squid 3.x / Ufs, Aufs y Diskd
Noviembre 28, 2012, 09:27:59 PM
Buenas Noches Amigos del Foro, aquí trayéndoles informacion a la hora de configurar squid, específicamente el sistema de archivos de squid.

1) UFS. Este es el sistema de archivos probado y verdadero para el calamar. También es el más lento. Existe dentro del proceso de calamar principal, así que cuando las operaciones de E / S se realiza, ninguna otra obra que puede suceder. También significa que incluso si tiene varios discos duros, sólo se puede acceder uno a la vez. Obviamente, esto es malo, pero es sorprendente que, a veces puede trabajar a su ventaja si el disco es especialmente lento servicio de solicitudes simultáneas múltiples, como es el caso de muchas unidades ATA y algunos mal diseñados configuraciones RAID 5.

2) AUFS. En lugar de existir en el hilo principal calamar, se genera subprocesos adicionales para accesar al disco. La A significa asincrónico UFS. Debido a que el acceso al disco ocurre en hilos separados, calamar todavía puede manejar las solicitudes y otros trabajos mientras se espera en los accesos al disco. Esto hace que el proceso squid sea más rápido, en particular, aprovechando los procesadores multinucleo.

Si usted decide usar AUFS usted debe ajustar el número de hilos utilizados para el acceso al disco al compilar calamar. De forma predeterminada, el calamar se generan bastantes pocos hilos para AUFS, que en algunos casos puede afectar al rendimiento. La razón de esto es con hilos de más, usted está en efecto diciendo la unidad de disco duro, que quieres hacer varias cosas a la vez. Los sistemas de archivos de Linux pueden mitigar este problema de manera que ordenar los accesos al disco correctamente. Sin embargo, las unidades ATA y muchos discos SATA pueden manejar con mayor eficacia las solicitudes de manera más seria. Cabe mencionar, las unidades SCSI y, en menor medida, las unidades SATA con NCQ no sufren agudamente de este problema.

Nota: cuando hable de ajustar el número de hilos utilizados para el acceso al disco al compilar calamar, es aumentar los filedescriptors, por defecto viene en 65536 y el maximo permitido es 819200, pero eso solo se puede aumentar cuando compilas squid.

3) "diskd" utiliza el mismo formato de almacenamiento que "ufs", utilizando un proceso separado para evitar el bloqueo del proceso Squid en el disco I / O.

cache_dir diskd Directory Nombre Mbytes L1 L2 [opciones] [Q1 = n] [Q2 = n]


Q1 especifica el número de peticiones reconocidas de E / S cuando se detiene Squid abrir archivos nuevos. Si esta cantidad de mensajes se encuentran en las colas, Squid no abrirá los archivos nuevos. El valor predeterminado es 64

Q2 especifica el número de mensajes no confirmados cuando Squid se inicia el bloqueo. Si esta cantidad de mensajes se encuentran en las colas, los bloques de calamar hasta recibir algunas respuestas. El valor predeterminado es 72

Cuando Q1 <Q2 (por defecto), el directorio de caché se optimiza el tiempo de respuesta inferior a expensas de una disminución de la proporción de aciertos. Si Q1> Q2, el directorio de caché está optimizado para la proporción de aciertos superior a expensas de un aumento en el tiempo de respuesta.

NOTA: E/S Y I/O, quiere decir entrada y salida

Espero les sirva, Saludos
#58
Plugins de música & videos / Plugin Sonico Musica
Noviembre 27, 2012, 09:37:06 AM
Buenos dias amigos del foro publicando el codigo de sonicomusica.com, probado y funcionando.

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

// g++ -I. -fPIC -shared -g -o sonicomusica.com.so sonicomusica.com.cpp
// regex
// http.*\.sonicomusica\.com.*(\.sm3|\.jpg|\.flv)

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(".sonicomusica.com/") != string::npos) and ( (url.find(".sm3") != string::npos) or (url.find(".jpg") != string::npos) )
) {

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


Espero les Sirva, Saludos
#59
Discución General / Tiempo de vida de Archivos
Noviembre 23, 2012, 06:44:00 PM
Buenas Tardes a todos los Amigos del foro, aqui con una pregunta para el master Joemg6, quisiera saber si se puede poner un periodo de vida a lo cacheado por los plugins, por ejemplo que en el plugin se pueda poner un lifetime a ciertas extensiones, asi como para los juegos de facebook, o mas bien si existe la forma de agregar en el codigo de los plugins un tiempo de vida para lo cacheado, dependiendo del plugin, esa es mi interrogante Amigo joemg6, Gracias por tu atencion y tu tiempo, Saludos
#60
Buenos Dias Amigos del Foro, aqui publicando otro plugin, pues todo empezo porque fulltono tiene muy pocas canciones y empece a buscar y encontre este sitio http://www.gooveo.com/ el cual tiene canciones hasta para tirar al cielo, solo con decirles que a mi me gusta escuchar musica de jesus adrian romero y encontre una playlist de 333 canciones solo de el, espero que lo disfruten:

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

// use this line to compile
// g++ -I. -fPIC -shared -g -o domusicas.com.so domusicas.com.cpp
// regex
// http.*domusicas\.com.*(\.swf|\.mp3)

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