NEW RELEASE: HAARPCACHE v1.3.2

Pueden seguir los avances del sistema en el Grupo de desarrolladores interesados en el projecto HaarpCache o Forks de ThunderCache 3.1.


+Para plugins personalizados escribame a+
kei.haarpcache(at)gmail.com


Para el funcionamiento del Youtube.com, agregar las siguientes lineas en squid.conf:

acl google url_regex -i (googlevideo.com|www.youtube.com)
acl iphone browser -i regexp (iPhone|iPad)
acl BB browser -i regexp (BlackBerry|PlayBook)
acl Winphone browser -i regexp (Windows.*Phone|Trident|IEMobile)
acl Android browser -i regexp Android
request_header_access User-Agent deny google !iphone !BB !Winphone !Android
request_header_replace User-Agent Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)

Estas mantienen las conexiones HTTP en Youtube.com. El artificio funciona sólo en PC’s.

Changelog:

  • New Plugins:
    • Netflix.com: Videos.

El cache sólo trabaja en HTTP.

Para quienes tengan las versiones anteriores (v1.3.0 o v1.2.x), realizar lo siguiente sobre su base de datos:

mysql -D haarp -u root -p -e “ALTER TABLE haarp CHANGE requested bytes_requested bigint unsigned not null default 0″
mysql -D haarp -u root -p -e “UPDATE haarp SET bytes_requested=round((bytes_requested/(np|1))*filesize)”

Esto permite modificar el reporte del HIT.

Manual de instalación: http://keikurono.github.io/haarpcache/

Segunda guía alternativa de instalación: https://perufw.wordpress.com/2013/02/11/instalando-haarpcache-v1-1-un-cache-inteligente/

Capturas y resultados del HaarpCache:

NEW RELEASE: HAARPCACHE v1.3.1

Pueden seguir los avances del sistema en el Grupo de desarrolladores interesados en el projecto HaarpCache o Forks de ThunderCache 3.1.

SI DESEAS UN PLUGIN PERSONALIZABLE ESCRIBEME A: KEI.HAARPCACHE*GMAIL.COM

Para el funcionamiento del Youtube.com, agregar las siguientes lineas en squid.conf:

acl google url_regex -i (googlevideo.com|www.youtube.com)
acl iphone browser -i regexp (iPhone|iPad)
acl BB browser -i regexp (BlackBerry|PlayBook)
acl Winphone browser -i regexp (Windows.*Phone|Trident|IEMobile)
acl Android browser -i regexp Android
request_header_access User-Agent deny google !iphone !BB !Winphone !Android
request_header_replace User-Agent Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)

Estas mantienen las conexiones HTTP en Youtube.com. El artificio funciona sólo en PC’s.

Changelog:

  • New Plugins:
    • Netflix.com: Images.
    • Avira Antivirus: Download.
    • Bitdefender Antivirus: Download and Update.
  • Fix incorrect information of Hits on report and database.

El cache sólo trabaja en HTTP.

Para quienes tengan las versiones anteriores instaladas, realizar lo siguiente sobre su base de datos:

mysql -D haarp -u root -p -e “ALTER TABLE haarp CHANGE requested bytes_requested bigint unsigned not null default 0″
mysql -D haarp -u root -p -e “UPDATE haarp SET bytes_requested=round((bytes_requested/(np|1))*filesize)”

Esto permite modificar el reporte del HIT.

Manual de instalación: http://keikurono.github.io/haarpcache/

Segunda guía alternativa de instalación: https://perufw.wordpress.com/2013/02/11/instalando-haarpcache-v1-1-un-cache-inteligente/

Capturas y resultados del HaarpCache:

NEW RELEASE: HAARPCACHE v1.3

Pueden seguir los avances de este sistema OpenSource en el Grupo de desarrolladores interesados en el projecto HaarpCache o Forks de ThunderCache 3.1.

Aquí el update!. No olviden de agregar las lineas:

acl google url_regex -i (googlevideo.com|www.youtube.com)
acl iphone browser -i regexp (iPhone|iPad)
acl BB browser -i regexp (BlackBerry|PlayBook)
acl Winphone browser -i regexp (Windows.*Phone|Trident|IEMobile)
acl Android browser -i regexp Android
request_header_access User-Agent deny google !iphone !BB !Winphone !Android
request_header_replace User-Agent Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)

en squid.conf. Estas reglas impiden la redireccion de HTTP a HTTPS cuando se ingresar al youtube por HTTP.

Las reglas se desactivan para celulares o tablets, debido a que el formato del youtube en HTTP no es acorde a estos equipos. El sistema de cache (para Youtube) funciona sólo para PC’s.

Changelog:

  • Fix Problem with concurrent caching of files.
  • Update the plugin Youtube.

El cache sólo trabaja en HTTP.

Según mis pruebas estas modificaciones hace que el cache sea uno de los más estables en comparación a versiones anteriores. Se recomienda su actualización.
Se necesita remover el antiguo cache de Youtube: ‘rm -fr /haarp/youtube’ (sólo para quienes instalaron la versión anterior).

Manual de instalación: http://keikurono.github.io/haarpcache/

Segunda guía alternativa de instalación: https://perufw.wordpress.com/2013/02/11/instalando-haarpcache-v1-1-un-cache-inteligente/

Capturas y resultados del HaarpCache:

NEW RELEASE: HAARPCACHE v1.2.1

Pueden seguir los avances de este sistema OpenSource en el Grupo de desarrolladores interesados en el projecto HaarpCache o Forks de ThunderCache 3.1.

Aquí el update!. No olviden de agregar las lineas:

acl google url_regex -i (googlevideo.com|www.youtube.com)
acl iphone browser -i regexp (iPhone|iPad)
acl BB browser -i regexp (BlackBerry|PlayBook)
acl Winphone browser -i regexp (Windows.*Phone|Trident|IEMobile)
acl Android browser -i regexp Android
request_header_access User-Agent deny google !iphone !BB !Winphone !Android
request_header_replace User-Agent Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)

en squid.conf. Estas reglas impiden la redireccion de HTTP a HTTPS cuando se ingresar al youtube por HTTP.

Las reglas se desactivan para celulares o tablets, debido a que el formato del youtube en HTTP no es acorde a estos equipos. El sistema de cache (para Youtube) funciona sólo para PC’s.

Changelog:

  • Reparo del cacheado concurrente de archivos.
  • Actualizacion del haarpclean script.
  • Actualizacion e algunos plugins: Youtube, Dailymotion, 4shared, Issuu, Avgate, Submanga, YourPorn, PornHub, Xvideos, PornTube, Tube8.
  • Los videos de youtube.com son cacheados con el mismo nombre del Watch ID provenientes de sus URL.

El cache sólo trabaja en HTTP.

Se agradece la colaboración de: Samuel Espinoza, Oscar Vaquero y Fernando Maniglia.

Pasos para la instalación: http://keikurono.github.io/haarpcache/
O pueden seguir la guia: https://perufw.wordpress.com/2013/02/11/instalando-haarpcache-v1-1-un-cache-inteligente/

NEW RELEASE: HAARPCACHE v1.2

El ‘proyecto’ Haarp se dará una pausa de cinco meses (desde: 01/05/14), avisamos que el sistema necesita de una actualización en el plugin Youtube.

Posibles soluciones y/o sugerencias aqui: Grupo de desarrolladores interesados en el projecto HaarpCache o Forks de ThunderCache 3.1.

* Update 2013/12/24: New system for the cleanign of cache: haarpClean v1.1. (for more info: /etc/init.d/haarpclean –help); update of core of haarp, please update you system.

* Update 2014/01/09: New plugins: aol, wrzuta and youku (update too the reporter for the web haarp-ext-js-viewer).

Update 2014/01/14: Improvement of synchronization and efficiency in the use of the cache, avoid the possible corruption of  files.

Update 2014/01/20: Driver of header Origin (Improvement the cache on Youtube), improvent the cache of Ytimg (cache of imagens of middle quality).

* Important Update 2014/01/27:  Fixed problem with parameters cms_redirect, ir, rr, etc for not corrupt files of the Youtube. (This will make cache from scratch, but no need to remove old cache files, they are automatically deleted with the haarpclean in the crontab, see the instalation for haarp 1.1 for the configure of crontab).

* Update 2014/03/10:  Fix the bug ‘free() invalid pointer’.

Hola comunidad del cache!.

In this post we’ll put a few of the new version of HaarpCache:

ChangeLog:

  1. Fix header of Hits, for the web Youtube (adding the header ‘Access-Control-Allow-Origin’ for the working with the browser google-chromium).
  2. Improved ad blocking Youtube.

Source Code: http://keikurono.github.io/haarpcache/

Perform the following to update your haarp:

su
cd /tmp/
git clone git://github.com/keikurono/haarpcache.git
cd haarpcache
./configure CXX=g++-4.4
make clean
make
make install
mysql -u root -p < haarp.sql
cp /etc/haarp/haarp.conf /etc/haarp/haarp.conf.back
cp etc/haarp/haarp.conf /etc/haarp/haarp.conf
cp /etc/haarp/haarp.lst /etc/haarp/haarp.lst.back
cp etc/haarp/haarp.lst /etc/haarp/haarp.lst
#restart the systems:
service haarp restart
squid3 -k reconfigure

* Update the params of the file haarp.conf (please, see the instalation of the haarpcache 1.1).

The installation is seem that the version 1.1.

* Example of used of cleaning of cache:

/etc/init.d/haarpclean –dates 01/02/2013-20/11/2013 –domain youtube  (recommended for those using the haarpcache 1.1).

other example:

/etc/init.d/haarpcache –dates 01/10/2013-end (“end” for the date of today).

Video installation:

 

INSTALANDO HAARPCACHE v1.1 – UN CACHE INTELIGENTE

NEW: HaarpCache v1.2

  • Update 16/03/13: Nueva interfaz web para HaarpCache
  • Update 26/03/13: (FAQ) Como incorporar código de otros plugins en HaarpCache.
  • Update 27/03/13: Mejoras en plugin de Facebook.
  • Update 31/03/13: (FAQ) Integración con el Mikrotik.
  • Update 06/05/13: + plugin de speedtest (Thx a Samuel Espinoza por los testes!).
  • Update 18/05/13: Limpieza automática del HaarpCache.
  • Update 13/06/13: Actualización del plugin para el bloqueo de publicidad en Youtube.
  • Update 26/06/13: Actualización del HaarpClean (limpieza del cache), corrección  y mejora: Thx to Oscar  Vaquero Montecino.
  • Update 04/07/13: 1º actualización del core y plugin para: Youtube.
  • Update 05/08/13: Para aquellos que instalaron antes de este mensaje, y para Impedir la corrupción de los videos de Youtube, cambiar la opción  “FLV_MIN 1000” a “FLV_MIN 819200” en /etc/haarp/haarp.conf.
  • Update 19/08/13: Modificación de la captura de URL’s para facebook en Haarp.list (Aqui los cambios).
  • Important Update  24/09/13: Cambio en el ‘Content-Type’ para los videos del Youtube (de videos/x-flv a application/octet-stream) esto genera compatibilidad en audio y vídeo. Aqui los pasos para actualizar el Haarp
  • Update 31/10/13: Descomentar la linea de “http.*\.googlevideo\.com.*videoplayback” en el haarp.lst.
  • Update 12/11/13:  Video Instalation: https://www.youtube.com/watch?v=s9GhTwJJ-Yk

HaarpCache es un fork de ThunderCache 3.1, que en comparación a otros caches es un cache inteligente en el sentido del almacenamiento y en el despacho de archivos. Es decir almacena cada pedazo del vídeo o archivo juntándolos todo en un único recurso en el disco, aún sin importar si estas llegaron completas o no. Con ello, el HaarpCache puede despachar incluso cuando se piden partes de un archivo que en mayor tamaño está en cache.

En conclusión HaarpCache da soporte a la tecnología MPEG-DASH.

En concreto, ¿Que trae de nuevo este cache?:

  1. Cache dinámico e inteligente.
  2. Plugins editados, para funcionamiento inteligente.
  3. Multidisco.
  4. Bloqueo de publicidad en Youtube.
  5. Soporte a las solicitudes ‘Partial Content’ (Youtube en HTML5) .
  6. Código fuente.

Instalación y Configuración

Instalamos dependencias:

su
apt-get update
apt-get install build-essential mysql-server \
mysql-client php5 apache2 php5-mysql libblkid-dev \
libcurl4-gnutls-dev libmysqlclient15-dev \
libapache2-mod-auth-mysql libapache2-mod-php5 \
 sharutils curl autoconf bind9 squid3

Instalamos el Haarp:

#(Distribuciones Debian)
apt-get install git
cd /usr/src
git clone git://github.com/keikurono/haarpcache.git
cd haarpcache
./configure
make clean
make
make install

Nota: Si tienen un error, en la compilación, puede deberse al uso de su compilador g++: Instalar el g++-4.4, y luego hacer: ./configure CXX=g++-4.4  y seguir con el ‘make clean’, ‘make’, etc.

Agregamos la base de datos:

mysql -u root -p < haarp.sql

Para que surtan los efectos, nos pedirá que ingresemos la contraseña root de mysql.

Editamos el archivo de configuración del haarp (/etc/haarp/haarp.conf):

MYSQL_USER <USER_MYSQL>
MYSQL_PASS <PASS_MYSQL>
PIDFILE /var/log/haarp/haarp.pid
ACCESSLOG /var/log/haarp/access.log
ERRORLOG /var/log/haarp/error.log

“USER_MYSQL” y “PASS_MYSQL” son el usuario y password de tu cuenta en mysql, como usuario pueden colocar ‘root’, sin comillas.

Hacemos que arranque cuando se inicie el sistema:

cd /etc/init.d
update-rc.d haarp defaults 98

Agregamos al final del archivo /etc/squid/squid.conf (o en /etc/squid3/squid.conf, cual tengan):

# Haarp 1.1
#=========================================================#
acl haarp_lst url_regex -i "/etc/haarp/haarp.lst"
cache deny haarp_lst
cache_peer <TU_PROXY_LAN> parent 8080 0 proxy-only no-digest
dead_peer_timeout 2 seconds
cache_peer_access <TU_PROXY_LAN> allow haarp_lst
cache_peer_access <TU_PROXY_LAN> deny all

Donde “TU_PROXY_LAN” es la IP de su servidor en la LAN.

Hacemos al squid transparente: cambiando la linea http_port 3128 por: http_port 3128 transparent, en el archivo squid.conf anterior.

Luego antes de la linea:

http_access deny !Safe_ports

Insertamos:

acl red_local src <IP_RED_LAN>
http_access allow red_local

Donde “IP_RED_LAN” es por ejemplo “192.168.1.0/24″ (la red de tu LAN) Comentamos la linea:

#hierarchy_stoplist cgi-bin ?

Configuramos los DNS, agregamos en /etc/resolv.conf:

nameserver 8.8.8.8
nameserver 8.8.4.4

En el caso que que deseemos otros DNS, colocarlos cambiando aquellas IPs (8.8.x.x).

Redireccionamos las peticiones de http al squid y enmascaramos:

sudo iptables -t nat -A POSTROUTING -o <ETH_WAN> -j SNAT  --to <IP_IFACE_WAN>
sudo iptables  -t nat -A PREROUTING -i <ETH_LAN> -p tcp --dport 80 -j REDIRECT --to-port 3128
echo 1 > /proc/sys/net/ipv4/ip_forward

ETH_WAN es la interface de tu tarjeta de red que da a Internet (ej: eth0, eth1), IP_IFACE_WAN es la ip de la interface anterior. ETH_LAN es la interface de la tarjeta LAN.

Las reglas anteriores deben ser guardadas en un archivo por ejemplo: ‘/etc/init.d/reglas_proxy.sh’. Para que las reglas se carguen, cada vez que reiniciemos el servidor, agregamos la linea: “/etc/init.d/reglas_proxy.sh” antes del exit, al final del archivo /etc/rc.local. No olvidar dar permisos de ejecución.

La limpieza del sistema Haarp, se hace automáticamente, todo depende de si sus discos estén llenos o no (el llenado o no de los discos, depende del valor de la variable CACHE_LIMIT configurado en /etc/haarp/haarp.conf).

En el archivo /etc/crontab, agregamos:

01 12   * * *   root    /etc/init.d/haarpclean

* Bloqueo de publicidad de Youtube: El Haarp trae consigo  un plugin para el bloqueo del Ads-Youtube.

* Reportes: Haarpcache trae consigo el tradicional visor de estadísticas (echo en PHP). Pero pueden instalar este nuevo reporteador con tecnología Ajax.

En caso de usar la pagina PHP, copiamos: “cp /etc/haarp/haarp.php /var/www/haarp.php”, luego editamos el archivo: /var/www/haarp.php, cambiando la linea:

if (!( $db = new PDO('mysql:host=localhost;dbname=haarp', 'root','haarpcache') ) ) {

Modificando donde dice root con nuestro usuario mysql (por defecto dejarlo igual); y donde dice haarpcache reemplazarlo por el password mysql.

Se accede, ingresando a: http://-ip_server_proxy-/haarp.php, reemplazando el “-ip_server_proxy-” por la ip del servidor.

* Multidisco: Para agregar nuevos disco o particiones como discos caches, se deben de agregar los directorios de montaje de estas particiones, ellas deben de colocarse en el formato: dir1| dir2 | dir3 .. etc. Por ejemplo si tengo montado dos particiones, uno en el directorio /haarp1/ y el otro en el directorio /haarp2/, entonces vamos al archivo de configuración del Haarp (por defecto: /etc/haarp/haarp.conf) y editamos el valor de la variable CACHEDIR:

CACHEDIR /haarp1/ | /haarp2/

Y listo, con esto el sistema cache tomará los dos directorios como discos cache.

* QoS: El manejo de velocidades de descarga de archivos en cache, puede ser realizado utilizando las aplicaciones iptables y tc del mismo Gnu/Linux, ver las configuraciones aquí. Si se usa otro router externo, como Mikrotik, ver su configuración en el FAQ.

Finalmente reiniciamos el servicio y listo:

/etc/init.d/haarp restart
squid -k reconfigure

Aquí una foto del relatorio: Relatorio – Espero les agrade!, en la misma página del github hay para colocar una Wiki, así que si existe alguna duda con la programación del sistema podemos ir armando algunas cosas. – También hay una paleta para colocar problemas que pueda haber, así que si gustan pueden dejarlos ahí, y así nos ordenamos.. – El proyecto está en licencia GPLv2, así que el programa es de acceso libre y su uso es de su propia responsabilidad.

Pequeña explicación del funcionamiento de HaarpCache:

Lo haré con un ejemplo, supongamos que tenemos un archivo en el servidor de youtube, este vídeo se llama video_youtube.flv, y supongamos que pesa 10MB y dura 20 minutos. Ahora, supongamos que tenemos un usuario A en nuestra red, que le da curiosidad de ver dicho vídeo, pues le llamo la atención el gráfico de presentación que tenia este, pero el usuario no quiere ver dicho vídeo desde el inicio, le interesa ver solo la parte que le llamo la atención, y adelanta el vídeo hasta la mitad del mismo, o sea hasta el minuto 10, y después de transcurrido 3 minutos este se impacienta y adelanta el vídeo aún más, colocandolo en el minuto 16 y desde ahí lo ve hasta el final. El resultado total, es que nuestro usuario sólo vio el vídeo desde el minuto 10 al minuto 13, y luego desde el minuto 16 hasta el minuto 20. Hasta aquí, ¿Que creen que sucedería si usáramos un sistema cache tradicional?, uno como los del thundercache 3x, 4x, 5x … 7.0?, pues simplemente no podrían hacer cache del vídeo. O en todo caso lo harían pero guardando los pedazos del video (del min 10 al min 13 y del min 16 al min 20) como archivos separados y sin importar si estos están solapados o incluidos unos de otros (Caso thundercache 3.1.2 o storeurl.pl). En contraste a como lo hace el haarpcache, que guarda los pedazos vistos en un único archivo y sin redundancia. Ahora que pasa si viene otro usuario B, y quiere ver el video anterior, que derrepente está de moda, o está en la pagina principal del youtube y le da curiosidad de verlo también, pero él decide verlo desde el inicio (desde el minuto cero), y como nos tiene acostumbrado la pagina de youtube, decide enviarle el vídeo por pedazos, supongamos que una primera parte, desde el minuto cero al minuto 12. Entonces el haarpcache toma la peticion de ver el video video_youtube.flv desde el minuto 0 al minuto 12, pero se dá cuenta que en el cache ya tiene el mismo vídeo desde el minuto 10 al minuto 13. Por lo tanto decide darnos el pedazo que le falta (minuto 0 al minuto 10), descargando desde internet, pero a la vez que guarda esta parte faltante en el cache, pegándolo en el mismo archivo único del inicio; y la parte del minuto 12 al minuto 13 es un mini Hit pues esta ya lo tiene en cache, por lo tanto no lo descarga de nuevo, sino que nos lo envía desde el mismo cache (mini Hit). Hasta aqui el archivo guardado en cache corresponde al vídeo de youtube desde el minuto 0 al minuto 13 y del minuto 16 al minuto 20, todo esto en un único archivo. Que pasaría si el usuario B prosigue ver el vídeo hasta el final, pues entonces, el haarpcache procederá a guardar la otra parte que le faltaba (del minuto 13 al minuto 16, que seguramente verá el usuario B) y terminaría por completar el archivo video_youtube.flv, justo como lo tienen en el servidor de youtube, en un único archivo. La ventaja de esto es que si vemos un vídeo desde el minuto 5 al minuto 60 por ejemplo, en los caches tradicionales lo guardarían todo ello, en el mejor de los casos, como un archivo indistinto e independiente; ocurriendo que cuando alguien quiera ver el mismo vídeo desde el minuto 0 al 60 (todo), el cache tradicional verá que ese pedazo de vídeo no lo tiene en cache (ya que el que tiene en el disco, tiene otro tamaño, nombre, etc). Por lo tanto lo descargará nuevamente desde Internet; desperdiciando los ¡55 minutos! que se habían descargado anteriormente. Cosa que no ocurre con el haarpcache que descarga la parte faltante y lo demás te lo entregará desde el cache sin descargar de nuevo desde Internet[*], guardando lo que pueda faltar en un único archivo (sin redundar espacios) y entregando las partes cacheadas anteriormente a velocidad LAN. O peor aún si queremos ver el vídeo anterior desde el minuto 10 al minuto 50, en los caches tradicionales, ellos a lo más verán que ese pedazo no lo tienen cacheado, ya que no es igual al del pedazo 5-60 minutos, por lo tanto tendrán que descargarlo desde Internet!; y para colmo te guardarán el pedazo de vídeo en otro archivo haciendo redundancia con el anterior. Esto no ocurre en el haarpcache, que notará que este pedazo de vídeo lo tiene incluido en la sección de 5-60 minutos, por lo tanto te dará aquella parte que solicitaste en HIT o sea a velocidad LAN, sin descargar de Internet.

[*]Finalmente, decir que el sistema es más complejo de lo que he tratado de explicar aquí, espero que quede claro en un futuro FAQ que colocaré debajo.

FAQ

Q:¿Qué son los mensajes MISS o HIT que se ven en los archivos LOG?

  • HIT es cuando el recurso no lo descarga desde internet sino desde el cache.
  • MISS es cuando un recurso no se encuentra en el cache, se está descargando desde internet y se está almacenando por primera vez.

Q:¿Cómo puedo verificar si estoy haciendo un Hit o un Miss?

Una forma fácil de comprobar si estás haciendo un HIT o MISS, es usando el navegador Chrom. Podemos llevarlo acabo, siguiendo los siguientes pasos (por ejm. si queremos verificar el funcionamiento del Youtube):

  • Nos dirigimos a la página de Youtube.
  • Abres el debug de chomium (presionando F12).
  • Asistimos un vídeo de la página.
  • Nos dirigimos al panel que abrimos anteriormente, y hacemos Click a la paleta que dice “Network”. En ella tendremos una lista de las conexiones que nuestra pagina está enviando hacia internet.
  • Hacemos Click en aquellas que contengan el nombre “videoplayback”, nos aparecerá otro panel al lado.
  • Verificamos si cerca del final de este panel nos aparecen el mensaje: “Haarp: HIT from” o “Haarp: MISS from“, y ya con ellas sabremos si vino o no del cache.

Instalando el plugin firebug, se puede hacer lo mismo en Firefox.

Aquí una pequeña vista de como ver el mensaje HIT: Haarp_HIT Q:¿Tengo un plugin en ThunderCache, puedo hacer que funcionen en HaarpCache?

Sí, sólo cambia la linea:

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

por esta:

extern "C" resposta hgetmatch2(const string url) {
y agregar debajo de la linea: “responsa r;” lo siguiente:
r.range_min = 0;
r.range_max = 0;

Eso es todo.

Q:¿Cómo configuro el HaarpCache con Mikrotik?

Lo probaremos con dos topologías:

El primero usando un Mikrotik con tres o más interfaces ethernet y otro con dos interfaces.

Utilizando sólo 3 interfaces:

INTERNET 
| |
eth1 (dhcp)
MIKROTIK eth3 {192.0.4.1/24} ——{192.0.4.15}HaarpCache
eth2 {192.0.3.1/24}
| |
LAN

En el HaarpCache:

  • Realizar las mismas configuraciones para el squid.conf de este manual, adicionando debajo de las reglas: acl red_lan … otras redes más por ejemplo:

    acl red_mik_1 192.0.4.0/24 http_access allow red_mik_1

    Donde el 192.0.4.0/24 representa a una red LAN en el Mikroik.

  • No es necesario las reglas de iptables (Si anteriormente se probó el sistema usando 2 tarjetas como en este manual, por favor quitar el script que pudiéramos tener dentro del rc.local, y luego reiniciar o hacer iptables -t nat -F).

En el Mikrotik:

/ip firewall nat \

add action=masquerade chain=srcnat comment=”Masquerate for Internet” disabled=no out-interface=ether1 \

add action=masquerade chain=srcnat comment=”Masquerate for HaarpCache” disabled=no out-interface=ether3 \

add action=dst-nat chain=dstnat comment=”Redirect to HaarpCache” disabled=no dst-port=80 in-interface=ether2 protocol=tcp to-addresses=192.0.4.15 to-ports=3128 \

/ip firewall mangle \

add action=mark-connection chain=postrouting comment=”MarkConnect HaarpCache” content=”X-Cache: HIT from Haarp” disabled=no new-connection-mark= “Connect – HaarpCache” out-interface=ether2 passthrough=yes src-address=192.0.4.0/24 \

add action=mark-packet chain=postrouting comment=PacketMark-Haarp connection-mark=“Connect – HaarpCache” disabled=no new-packet-mark=Packet-Haarp out-interface=ether2 passthrough=yes

Aquí las reglas de QoS, con 1.5MB para el haarpcache:

/queue tree add burst-limit=0 burst-threshold=0 burst-time=0s comment=Q-HIT-Haarp disabled=no limit-at=0 max-limit=12M name=Queue-HIT-Haarp packet-mark=Packet-Haarp parent=global-out priority=1 queue=default

Utilizando dos interfáces ether (y HAARP dentro de la LAN)

INTERNET 
| |
eth1 (dhcp)
MIKROTIK 
eth2 {192.0.3.1/24}
| |
LAN ——{192.0.3.15}HaarpCache
 
En el HaarpCache: Igual que en el caso anterior.En el Mikrotik:

/ip firewall nat \

add action=masquerade chain=srcnat comment=”Masquerate for Internet” disabled=no out-interface=ether1 \

add action=src-nat chain=srcnat comment=”Masquerate for HaarpCache” disabled=no dst-address=192.0.3.15 out-interface=ether2 to-addresses=192.0.3.1 \

add action=dst-nat chain=dstnat comment=”Redirect Haarp — in — lan” disabled=no dst-port=80 protocol=tcp src-address=!192.0.3.15 to-addresses=192.0.3.15 to-ports=3128 \

/ip firewall mangle \

add action=mark-connection chain=postrouting comment=”MarkConnect HaarpCache” content=”X-Cache: HIT from Haarp” disabled=no new-connection-mark= “Connect – HaarpCache” out-interface=ether2 passthrough=yes src-address=192.0.4.0/24 \

add action=mark-packet chain=postrouting comment=PacketMark-Haarp connection-mark=“Connect – HaarpCache” disabled=no new-packet-mark=Packet-Haarp out-interface=ether2 passthrough=yes

Aquí las reglas de QoS, con 1.5MB para el haarpcache:

/queue tree add burst-limit=0 burst-threshold=0 burst-time=0s comment=Q-HIT-Haarp disabled=no limit-at=0 max-limit=12M name=Queue-HIT-Haarp packet-mark=Packet-Haarp parent=global-out priority=1 queue=default

Note que en comparación con las reglas anteriores, sólo modificamos las dos últimas lineas de las reglas “ip firewall nat”.

Any problem or bug please report it here below or on any of these: Github or Bitbucket. Sugerencias?, mandarlas también :) Saludos!

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 78 seguidores