FAQ – HAARPCACHE

¿Como agregar un nuevo disco duro al haarp?

Sólo formatear y montar el nuevo disco, buscar millares de manuales en la web de como hacer esto.
Luego agregas los directorios donde los montaste en el haarp.conf. Para esto existe la opción CACHEDIR. Configuralo como dice el manual:

CACHEDIR <dir_1>|<dir_2>|<dir_3> …

<dir_1>, <dir_2>,… son los directorios donde el cache será almacenado. Por defecto: CACHEDIR /haarp/
Ejemplos:
CACHEDIR /haarp/|/mnt/haarp/|/mnt/haarp2/|/home/user/haarp/
Agregando los directorios siempre terminados con “/” y separados con “|”.

¿Como hacer nuevos plugins?

Un plugin es simplemente un programa que recibe una URL de algun archivo que se desea cachear. Este devuelve el nombre del archivo con el que será guardado en disco, usualmente obtenido desde la URL y de forma que lo identifique con respecto a otras urls del mismo domino, el nombre del domino que representa aquel conjunto de URL, por ejemplo “youtube”, “4shared”, etc; y un identificador que nos dice si aquel URL puede ser cacheado o no.

Para hacer nuevos plugins lo recomendable es saber algún lenguaje de programación: de preferencia C++. Si vas al directorio de las fuentes del haarpcache, alli veras el directorio: haarp/plugins/. Dentro de este encuentras muchos otros plugins hechos por la comunidad. Puedes guiarte de estos para hacer un plugin tu mismo. Asegúrate de crear un plugin con el nombre de dominio de las urls a las que quieres hacer cache. Por ejemplo si deseas un plugin de 4shared.com, cuyos links de datos a cachear tienen el siguiente aspecto:

http://dc342.4shared.com/img/1026923787/3b07d7f4/dlink__2Fdownload_2F_5Ftxkuq_5F1_2FGuns_5FAnd_5FRoses_5F-_5FYesterday.mp3_3Ftsid_3D20150524-014002-6f9caeb1_26lgfp_3D1000_26sbsr_3D085e811f83de4dd19c794d61f5988b92398dde9351c0de5e/preview.waveform

notarás que el domino de aquel link es “dc342.4shared.com”, el haarpcache utiliza este nombre de domino para determinar el nombre del plugin que hará uso para su respectivo cache.

En este caso el haarpcache buscara el plugin “4shared.com.so” en el directorio de plugins.  Es decir justa los dos primeros dominos para formar el nombre del plugin: “4shared” y “com”.
Si se tienen urls como por ejemplo: “empresa.com.pe” o “universidad.com.br”, entonces se considera el nombre del plugin como: “empresa.com.pe.so” y “univesidad.com.br.so”, es decir se toma el tercer domino o subdomino para formar el nombre del plugin. Cuando el primer segundo domino poseen menos de 3 caracteres, entonces se toma el tercer domino o subdominio para formar el nombder del plugin. Tener en cuenta esto para nombrar correctamente el plugin.

Finalmente edita el archivo etc/haarp/haarp.lst ubicado en el directorio de las fuentes del haarpcache. Y agrega la expresión regular que desees que el squid filtre para hacer que el haarpcache haga luego almacenamiento con el plugin creado por ti.

Por ejemplo para 4shared, podría ser:

^http.{1,15}\.4shared\.com.*(\.exe|\.iso|\.torrent|\.zip|\.rar|\.pdf|\.doc|\.tar|\.mp3|\.mp4|\.avi|\.wmv|\.mpg)

Luego para compilar el plugin y generar el “.so”
respectivo, modificar el archivo haarp/plugins/Makefile.in y agregar el nuevo nombre, “4shared.com.so” en nuestro caso, en la lista de las demás *.so asignados a la variable llamada “OBJECTS”.

Configurar para generar el Makefile: ./configure desde el directorio donde se encuentra las fuentes del haarpcache.
Luego compilar e instalar: make; make install.

Pueden también hacer pruebas de sus plugins antes de instalarlos, para esto existe el programa llamado teste, ubicado en el directorio haarp/plugins/
Un ejemplo de su uso:

./haarp/plugins/4shared.com.so “http://dc342.4shared.com/img/1026923787/3b07d7f4/dlink__2Fdownload_2F_5Ftxkuq_5F1_2FGuns_5FAnd_5FRoses_5F-_5FYesterday.mp3_3Ftsid_3D20150524-014002-6f9caeb1_26lgfp_3D1000_26sbsr_3D085e811f83de4dd19c794d61f5988b92398dde9351c0de5e&#8221;

El cual nos entrega como resultado:

C++ dlopen demo

Opening ./haarp/plugins/4shared.com.so
Loading symbol …
retorno:
Match: 1
Domain: 4shared
File: _txkuq_1-Guns_And_Roses_-_Yesterday.mp3
range_min: 0
range_max: 0
total_file_size: 0
Closing library…
Time: 1.13700 msec.

Informándonos que aquella URL esta en el formato correcto para realizarle cache: “Match: 1”, su dominio o identificador es “4shared”, el nombre con el que se guardará el archivo es “_txkuq_1-Guns_And_Roses_-_Yesterday.mp3”, y su tiempo de cargado y proceso es de 1.14 mili segundos.

Salu2.

A %d blogueros les gusta esto: