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 - joemg6

#41
Actualizaciones / [Update] RaptorCache 1.0.3b
Agosto 19, 2013, 11:37:23 AM
RaptorCache 1.0.3b

- Corrección "Cannot write to PIDFILE"
- Control de uso de memoria cache "frch"

Debian 7 - 64 bits
Código (bash) [Seleccionar]

wget http://www.raptorcache.com/install/update/bin64/raptor_103b_64_d7.tar.gz
rm -rf /usr/sbin/raptor
mv raptor_103b_64_d7.tar.gz /tmp
tar -xzvf /tmp/raptor_103b_64_d7.tar.gz -C /
chmod a+x /usr/sbin/raptor


Debian 7 - 32 bits
Código (bash) [Seleccionar]

wget http://www.raptorcache.com/install/update/bin32/raptor_103b_32_d7.tar.gz
rm -rf /usr/sbin/raptor
mv raptor_103b_32_d7.tar.gz /tmp
tar -xzvf /tmp/raptor_103b_32_d7.tar.gz -C /
chmod a+x /usr/sbin/raptor


Debian 6 - 64 bits
Código (bash) [Seleccionar]

wget http://www.raptorcache.com/install/update/bin64/raptor_103b_64_d6.tar.gz
rm -rf /usr/sbin/raptor
mv raptor_103b_64_d6.tar.gz /tmp
tar -xzvf /tmp/raptor_103b_64_d6.tar.gz -C /
chmod a+x /usr/sbin/raptor


Debian 6 - 32 bits
Código (bash) [Seleccionar]

wget http://www.raptorcache.com/install/update/bin32/raptor_103b_32_d6.tar.gz
rm -rf /usr/sbin/raptor
mv raptor_103b_32_d6.tar.gz /tmp
tar -xzvf /tmp/raptor_103b_32_d6.tar.gz -C /
chmod a+x /usr/sbin/raptor


Para el uso del "frch" agregar la siguiente regla en el crontab

*/3             *               *               *               *       root    frch 512

Donde 512 es el 20% del total de su Memoria RAM.

Luego Reiniciar el Servidor
#43
RaptorCache - Full Cache Mikrotik RouterOS V.6
Primero tenemos que tener en cuenta los cambios que hay en esta versión, para eso podemos ver la variación en el paquet flow
http://wiki.mikrotik.com/wiki/Manual:Packet_Flow



Como se ve para que funcione el full cache en la versión 6 de RouterOS se tienen que quitar las reglas que van en el Queues Tree y en su lugar se agregan otras reglas en Simple Queues, por lo tanto las reglas de redireccionamiento como de mangle siguen siendo el mismo, para ver su configuración y funcionamiento lo podemos ver en el siguiente video.

#44
Instalación Clipbucket 2.6 - Debian 7
Para que el proceso de instalación del servidor de videos Clipbucket 2.6 sea de una manera más sencilla, solo se tiene que proceder a ejecutar el siguiente script.
Código (bash) [Seleccionar]

wget http://www.joemg.host56.com/clipbucket/install_clipbucket26.sh
chmod 777 install_clipbucket26.sh
bash install_clipbucket26.sh




#45
Actualizaciones / Expirar Contenido RaptorCache
Mayo 28, 2013, 02:05:51 PM
Expirar Contenido RaptorCache
Para expirar el contenido del cache, tenemos que descargar y ejecutar el siguiente servicio.

64 Bits - Debian 7
Código (bash) [Seleccionar]

wget http://www.raptorcache.com/install/update/expire/64/exp.gz
gzip -d exp.gz
mv exp /usr/bin/
chmod a+x /usr/bin/exp

32 Bits - Debian 6
Código (bash) [Seleccionar]

wget http://www.raptorcache.com/install/update/expire/32_old/exp.gz
gzip -d exp.gz
mv exp /usr/bin/
chmod a+x /usr/bin/exp

64 Bits - Debian 6
Código (bash) [Seleccionar]

wget http://www.raptorcache.com/install/update/expire/64_old/exp.gz
gzip -d exp.gz
mv exp /usr/bin/
chmod a+x /usr/bin/exp

Procedemos a usar el servicio ejecutando por terminal de la siguiente manera
exp 4share 15
Donde se puede cambiar el nombre del plugin y el número de días que el contenido permanecerá almacenado.

Para programar la ejecución automática lo podemos hacer de la siguiente manera en el crontab

40              23              *       *               *       root    exp 4share 30 && exp avg 15 && exp avast 15 && exp macromedia 15
#46
Redirección RaptorCache 2 por Mangle

Al usar esta redirección es necesario configurar el firewall de RaptorCache, para eso vamos a usar el siguiente esquema para identificar la red Lan de acuerdo a su segmento de red por su clase (CIDR), entonces sería 192.168.1.0/24 si se usa como Máscara de subred 255.255.255.0

Entonces solo remplazamos el segmento que viene por defecto por el que estemos usando y también vefificamos el nombre de nuestra interface de red del servidor Raptor, en este caso es eth0(se puede verificar con el comando "ifconfig"), y nos quedaría como la siguiente imagen


En el caso que tengamos más de un segmento de red, solo agregamos reglas adicionales agregando los segmentos restantes, por ej.


Si se quiere editar manualmente pueden hacerlo en el archivo "etc/raptor/fw.sh"
y quedaría de la siguiente manera
Código (bash) [Seleccionar]

#!/bin/bash
echo ";;;;;;;;;;;;;;;;;;;;;;;"
echo ";     RaptorCache     ;"
echo ";;;;;;;;;;;;;;;;;;;;;;;"

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -F
iptables -X
iptables -Z
iptables -t nat -F

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT


iptables -A INPUT -i lo -j ACCEPT #comment#Localhost

# -----------------------------| Redireccion por mangle |----------------------------------
iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT #comment#Input LAN 
iptables  -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128 #comment#Redirect 3128
iptables -A FORWARD -i eth0 -p udp -m udp --dport 80 -j REJECT --reject-with icmp-port-unreachable #comment#Block QUIC
# -----------------------------------------------------------------------------------------



En Mikrotik se ingresan las siguientes reglas
En la regla de Mangle modificar el in-interface por el nombre que estén usando
Código (mk) [Seleccionar]

/ip route
add check-gateway=ping disabled=no distance=1 dst-address=0.0.0.0/0 gateway=192.168.10.2 routing-mark=raptor_route scope=30 target-scope=10
/ip firewall mangle
add action=mark-routing chain=prerouting comment="Raptor - Mangle ====================>" disabled=no dst-port=80 in-interface=LAN new-routing-mark=raptor_route passthrough=no protocol=tcp
add action=mark-connection chain=forward comment="== RAPTORCACHE ==" content="X-Cache: HIT from Raptor" disabled=no new-connection-mark=raptor-connection passthrough=yes
add action=mark-packet chain=forward connection-mark=raptor-connection disabled=no new-packet-mark=raptor-packs passthrough=no
/queue tree
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=4M name="RaptorCache" packet-mark=raptor-packs parent=global-out priority=4 queue=default
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=4M name="Squid 3.x" packet-mark=squid-packs parent=global-out priority=4 queue=default






#47
Instalación de RaptorCache en Debian 7
Para la instalación tomaremos como ejemplo el siguiente esquema.


Es importante que durante la instalación del RaptorCache poner la contraseña del Mysql: raptor

64 bits
Código (bash) [Seleccionar]

wget http://www.raptorcache.netii.net/raptor64-d7.sh
chmod 777 raptor64-d7.sh
bash raptor64-d7.sh


Redireccionamos y priorizamos el trafico de Raptor en Mikrotik con las siguientes reglas.
Código (mk) [Seleccionar]

/ip firewall filter
add action=accept chain=forward comment="Acepta RaptorCache" disabled=no src-address=192.168.10.0/30
/ip firewall nat
add action=dst-nat chain=dstnat comment="Redirect Raptorcache" disabled=no dst-port=80 protocol=tcp src-address=!192.168.10.2 to-addresses=192.168.10.2 to-ports=3128
/ip firewall mangle
add action=mark-connection chain=postrouting comment="== RAPTORCACHE ==" content="X-Cache: HIT from Raptor" disabled=no new-connection-mark=raptor-connection passthrough=yes src-address=192.168.10.2 protocol=tcp
add action=mark-packet chain=postrouting connection-mark=raptor-connection disabled=no new-packet-mark=raptor-packs passthrough=yes
add action=mark-connection chain=postrouting comment="== SQUID ==" content="X-Cache: HIT from proxy.os.com" disabled=no new-connection-mark=squid-connection passthrough=yes src-address=192.168.10.2 protocol=tcp
add action=mark-packet chain=postrouting connection-mark=squid-connection disabled=no new-packet-mark=squid-packs passthrough=yes
/queue tree
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=4M name="RaptorCache" packet-mark=raptor-packs parent=global-out priority=4 queue=default
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=4M name="Squid 3.x" packet-mark=squid-packs parent=global-out priority=4 queue=default


Entramos por el navegador web para ver la interface gráfica Raptor Webpanel.
Para visualizar el Webpanel ingresamos la siguiente dirección en el navegador web.
http://ip_del_servidor:82

Nombre de Usuario=admin
Contraseña=admin

Todo el proceso del script durante la Instalación de RaptorCache en Debian 7


Para los que extrañaban la configuración del TOS en el Squid, en esta versión soporta esa configuración sin necesidad de compilar, para mayores detalles pueden revisar este post
http://www.alterserv.com/foros/index.php?topic=21.0
La regla de marcado en el caso de esta configuración sería (solo la regla de squid)
Código (mk) [Seleccionar]

/ip firewall mangle
add action=mark-connection chain=postrouting comment="==SQUID - TOS 12==" disabled=no dscp=12 \
new-connection-mark=squid-connection passthrough=yes protocol=tcp src-address=192.168.10.2
add action=mark-packet chain=postrouting connection-mark=squid-connection disabled=\
no new-packet-mark=squid-packs passthrough=yes
#48
Actualizaciones / [Update] RaptorCache 1.0.2b
Mayo 01, 2013, 08:58:08 PM
RaptorCache 1.0.2b
(Solo 64 bits)

Change log.
- Soporte para Partial Content.

Código (bash) [Seleccionar]

rm -rf /usr/sbin/raptor
wget http://www.raptorcache.com/install/update/bin64/raptor_102b.tar.gz
mv raptor_102b.tar.gz /tmp
tar -xzvf /tmp/raptor_102b.tar.gz -C /
chmod a+x /usr/sbin/raptor
/etc/init.d/raptor restart && /etc/init.d/squid3 restart
#49
Actualizaciones / Actualización RaptorWebPanel-001
Abril 25, 2013, 02:10:07 PM
Actualización RaptorWebPanel-001
Change log
- Utilidad para ver el número de conexiones que está generando cada usuario (esta utilidad se ubica al desplegar la pestaña Utilitarios).
Código (bash) [Seleccionar]

wget http://www.raptorcache.com/install/update/wpanel/rwpanel001.tar.gz
mv rwpanel001.tar.gz /tmp
tar -xzvf /tmp/rwpanel001.tar.gz -C /
#50
Plugins para RaptorCache / [Test] Plugin YouTube
Abril 23, 2013, 08:45:22 PM
Update - 01/05/2013

Este plugin está en fase de test ya que como se sabe YouTube ha cambiado el manejo de entregar su contenido, este test es solo para los que tengan la versión de 64 bits, por lo tanto para los que quieran testear este plugin primero hacer un backup del plugin de youtube y luego proceder a ingresar los siguientes comandos.

Código (bash) [Seleccionar]

wget http://www.raptorcache.com/install/update/plugins/64/youtube.com.so
mv youtube.com.so /etc/raptor/plugins/
chmod 777 /etc/raptor/plugins/youtube.com.so
/etc/init.d/raptor restart && /etc/init.d/squid3 restart


Requisito binario v.1.0.2

En caso que haya videos que no hagan HIT, fijarse que anteriormente se haya grabado a la resolución vista anteriormente, en caso haya videos con algún problema hacer el reporte publicando la dirección del video.
#51
Plugins de juegos / Plugin Grandchase
Abril 23, 2013, 08:40:28 PM
Código (cpp) [Seleccionar]

#include <iostream>
#include <cstring>
#include <vector>

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

// http://122.102.49.202/cp/GrandChase/GrandChase100311/stage/ai/ai.kom
// Regex
// 122\.102\.49\.[0-9]{2,3}\/.*(\.stg|\.kom|\.exe|\.zip)

using namespace std;

struct resposta {
        bool match;
        string domain;
        string file;
};

void stringExplode(string str, string separator, vector<string>* results){
    int found;
    found = str.find_first_of(separator);
    while(found != string::npos){
        if(found > 0){
            results->push_back(str.substr(0,found));
        }
        str = str.substr(found+10);
        found = str.find_first_of(separator);
    }
    if(str.length() > 0){
        results->push_back(str);
    }
}

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()-4) + "_" + resultado.at(resultado.size()-3) + "_" + resultado.at(resultado.size()-2) + "_" +resultado.at(resultado.size()-1);           
        } else {
            stringExplode(url, "/", &resultado);
            return resultado.at(resultado.size()-4) + "_" + resultado.at(resultado.size()-3) + "_" + resultado.at(resultado.size()-2) + "_" +resultado.at(resultado.size()-1);
        }
}

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

if ( url.find(".grandchase.com/") == string::npos )
{
    r.file = get_filename(url);
if (!r.file.empty()) {
r.match = true;
r.domain = "grandchase";
} else {
r.match = false;
}
} else {
r.match = false;
}
return r;
}
#52
Plugins para RaptorCache / Plugin Mediafire
Abril 23, 2013, 08:38:55 PM
Código (cpp) [Seleccionar]

#include <iostream>
#include <cstring>
#include <vector>

// use this line to compile
// g++ -I. -fPIC -shared -g -o mediafire.com.so mediafire.com.cpp
// Regex
// (205\.196\.|199\.91\.)[0-9]{2,3}\.[0-9]{1,3}\/.*(\.exe|\.iso|\.zip|\.rar|\.pdf|\.mp3|\.mp4|\.avi|\.wmv)

using namespace std;

struct resposta {
        bool match;
        string domain;
        string file;
};

void stringExplode(string str, string separator, vector<string>* results){
    int found;
    found = str.find_first_of(separator);
    while(found != string::npos){
        if(found > 0){
            results->push_back(str.substr(0,found));
        }
        str = str.substr(found+10);
        found = str.find_first_of(separator);
    }
    if(str.length() > 0){
        results->push_back(str);
    }
}

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("mediafire.com/") == string::npos )
{
    r.file = get_filename(url);
if (!r.file.empty()) {
r.match = true;
r.domain = "mediafire";
} else {
r.match = false;
}
} else {
r.match = false;
}
return r;
}
#53
Actualizaciones / [Update] RaptorCache 1.0.1b
Abril 23, 2013, 08:36:00 PM
RaptorCache 1.0.1b
(Solo 64 bits)

Change log.
- Implementación de soporte para algunos plugins con Regex.

Código (bash) [Seleccionar]

rm -rf /usr/sbin/raptor
wget http://www.raptorcache.com/install/update/bin64/raptor_101b.tar.gz
mv raptor_101b.tar.gz /tmp
tar -xzvf /tmp/raptor_101b.tar.gz -C /
chmod a+x /usr/sbin/raptor
/etc/init.d/raptor restart && /etc/init.d/squid3 restart
#54
Plugins de música & videos / Plugin Dailymotion
Abril 05, 2013, 03:30:32 PM
Al parecer dalilymotion también ha cambiado su manera de entregar sus videos, ahora lo hace por partes, pero observando la url del contenido no es muy complejo, ahí dejos los códigos para que prueben.

dailymotion.com.cpp
Código (cpp) [Seleccionar]

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


// use this line to compile
// g++ -I. -fPIC -shared -g -o dailymotion.com.so dailymotion.com.cpp
// Regex
// http.*\.dailymotion\.com.*(\.flv|\.on2|\.h264|\.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()-6) + "_" + resultado.at(resultado.size()-5) + "_" + resultado.at(resultado.size()-4) + "_" + resultado.at(resultado.size()-3) + "_" + resultado.at(resultado.size()-2) + "_" +resultado.at(resultado.size()-1);           
} else {
stringexplode(url, "/", &resultado);
return resultado.at(resultado.size()-6) + "_" + resultado.at(resultado.size()-5) + "_" + resultado.at(resultado.size()-4) + "_" + resultado.at(resultado.size()-3) + "_" + resultado.at(resultado.size()-2) + "_" +resultado.at(resultado.size()-1); ;
}
}

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


if ( ( (regex_match("proxy[a-z0-9\\-][a-z0-9][a-z0-9][a-z0-9]?\\.dailymotion\\.com", url) != "") or
(url.find("vid.akm.dailymotion.com") != string::npos) or (url.find(".cdn.dailymotion.com") != string::npos) ) and
( (url.find(".flv") != string::npos) or (url.find(".h264") != string::npos) or (url.find(".mp4") != string::npos) or
(url.find(".on2") != string::npos) )
) {

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

}


dmcdn.net.cpp
Código (cpp) [Seleccionar]

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


// use this line to compile
// g++ -I. -fPIC -shared -g -o dmcdn.net.so dmcdn.net.cpp
// Regex
// http.*\.dmcdn\.net.*(\.flv|\.on2|\.h264|\.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()-6) + "_" + resultado.at(resultado.size()-5) + "_" + resultado.at(resultado.size()-4) + "_" + resultado.at(resultado.size()-3) + "_" + resultado.at(resultado.size()-2) + "_" +resultado.at(resultado.size()-1);           
} else {
stringexplode(url, "/", &resultado);
return resultado.at(resultado.size()-6) + "_" + resultado.at(resultado.size()-5) + "_" + resultado.at(resultado.size()-4) + "_" + resultado.at(resultado.size()-3) + "_" + resultado.at(resultado.size()-2) + "_" +resultado.at(resultado.size()-1); ;
}
}

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


if ( ( (url.find(".dmcdn.net") != string::npos) ) and
(  (url.find(".flv") != string::npos) or (url.find(".h264") != string::npos) or (url.find(".mp4") != string::npos) or
(url.find(".on2") != string::npos) )
) {

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

}

#55
Hace unos días me fue enviado una modificación al script de instalación que tiene algunas mejoras y también el script funciona tanto para ubuntu como para debian ya que dentro de la modificación reconoce la distribución, lo he probado y ha funcionado, ahí lo publico para que hagan los test correspondientes.

El autor del script es el amigo @iamspa

Código (bash) [Seleccionar]

wget http://www.raptorcache.com/install/raptor10b-r001.sh
chmod 777 raptor10b-r001.sh
bash raptor10b-r001.sh


Pueden revisar el contenido del script, ya que se ha adjuntado unas configuraciones interesantes, solo por citar una parte del contenido.

Código (bash) [Seleccionar]

#===============================================================================
#                          Optimizing Server Performance
#===============================================================================

echo 4 >> /proc/sys/net/ipv4/tcp_fin_timeout
mv /etc/sysctl.conf /etc/sysctl.conf_
touch /etc/sysctl.conf

echo "kernel.panic = 30
kernel.panic_on_oops = 30
kernel.sysrq = 0
kernel.core_uses_pid = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
fs.file-max = 65536
vm.swappiness = 10
vm.vfs_cache_pressure=50
vm.mmap_min_addr = 4096
vm.overcommit_ratio = 0
vm.overcommit_memory = 0
kernel.shmmax = 268435456
kernel.shmall = 268435456
vm.min_free_kbytes = 65536
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_syn_retries = 5
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.ip_forward = 0
net.ipv4.conf.all.forwarding = 0
net.ipv4.conf.default.forwarding = 0
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.all.log_martians = 0
net.ipv4.conf.default.log_martians = 0
net.ipv4.tcp_fin_timeout = 15
net.ipv4.tcp_keepalive_time = 300
net.ipv4.tcp_keepalive_probes = 5
net.ipv4.tcp_keepalive_intvl = 15
net.ipv4.conf.all.bootp_relay = 0
net.ipv4.conf.all.proxy_arp = 0
net.ipv4.tcp_dsack = 1
net.ipv4.tcp_sack = 1
net.ipv4.tcp_fack = 1
net.ipv4.tcp_timestamps = 1
net.ipv4.icmp_echo_ignore_all = 0
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.icmp_ignore_bogus_error_responses = 1
net.ipv4.ip_local_port_range = 1024 65535
net.ipv4.tcp_rfc1337 = 1
net.ipv4.tcp_congestion_control = cubic
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_mem = 65536 131072 262144
net.ipv4.udp_mem = 65536 131072 262144
net.ipv4.tcp_rmem = 8192 87380 16777216
net.ipv4.udp_rmem_min = 16384
net.core.rmem_default = 87380
net.core.rmem_max = 16777216
net.ipv4.tcp_wmem = 8192 65536 16777216
net.ipv4.udp_wmem_min = 16384
net.core.wmem_default = 65536
net.core.wmem_max = 16777216
net.core.somaxconn = 32768
net.core.netdev_max_backlog = 4096
net.core.dev_weight = 64
net.core.optmem_max = 65536
net.ipv4.tcp_max_tw_buckets = 1440000
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_max_orphans = 16384
net.ipv4.tcp_orphan_retries = 0
net.ipv4.ipfrag_high_thresh = 512000
net.ipv4.ipfrag_low_thresh = 446464
net.ipv4.tcp_no_metrics_save = 1
net.ipv4.tcp_moderate_rcvbuf = 1
net.unix.max_dgram_qlen = 50
net.ipv4.neigh.default.gc_thresh3 = 2048
net.ipv4.neigh.default.gc_thresh2 = 1024
net.ipv4.neigh.default.gc_thresh1 = 32
net.ipv4.neigh.default.gc_interval = 30
net.ipv4.neigh.default.proxy_qlen = 96
net.ipv4.neigh.default.unres_qlen = 6
net.ipv4.tcp_ecn = 1
net.ipv4.tcp_reordering = 3
net.ipv4.tcp_retries2 = 15
net.ipv4.tcp_retries1 = 3" >> /etc/sysctl.conf

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/security/limits.conf
echo "proxy     hard        nofile          65536" >> /etc/security/limits.conf
echo "session required        pam_limits.so" >> /etc/pam.d/common-session
modprobe ip_tables
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_conntrack_irc
modprobe iptable_nat
modprobe ip_nat_ftp

echo "ip_conntrack
ip_tables
ip_conntrack_ftp
ip_conntrack_irc
iptable_nat
ip_nat_ftp">> /etc/modules


echo "ulimit -Hn 65536
ulimit -Sn 65535">> /etc/profile


Toda observación, sugerencia, arreglo, etc. son bienvenidos
#56
Instalación de RaptorCache 1.0b
Raptorcache es un sistema proxy cache que se caracteriza por almacenar contenido dinámico, lo cual nos permite guardar diferentes tipo de contenido  al momento de navegar, para luego si se hace la misma petición sea entregado  desde el servidor lo cual nos ahorraría el ancho de banda de internet, también esta entrega que se hace desde el servidor se efectuaría a una velocidad mayor lo cual ofrecería una mejor calidad de servicio.
Para instalar tenemos que seguir los siguientes pasos.

1.- Primero tenemos que instalar Debían, se puede descargar de los siguientes enlaces.

32 bits
http://cdimage.debian.org/debian-cd/7.5.0/i386/iso-cd/debian-7.5.0-i386-netinst.iso

64 bits
http://cdimage.debian.org/debian-cd/7.5.0/amd64/iso-cd/debian-7.5.0-amd64-netinst.iso

Luego procedemos a instalar Debian como se muestra en el video.



2.- Instalamos el Raptorcache en Debian para eso procedemos a ingresar los siguientes comandos por el terminal que ejecutara el script de instalación (se puede hacer tambien esto utilizando putty).

Para esta instalación tomaremos como ejemplo el siguiente esquema.


Es importante que durante la instalación del RaptorCache poner la contraseña del Mysql: raptor

32 bits
Código (bash) [Seleccionar]

wget http://www.raptorcache.com/install/raptor10b-32.sh
chmod 777 raptor10b-32.sh
bash raptor10b-32.sh


64 bits
Código (bash) [Seleccionar]

wget http://www.raptorcache.com/install/raptor10b-64.sh
chmod 777 raptor10b-64.sh
bash raptor10b-64.sh


3.- Redireccionamos y priorizamos el trafico de Raptor en Mikrotik con las siguientes reglas.

Código (mk) [Seleccionar]

/ip firewall filter
add action=accept chain=forward comment="Acepta RaptorCache" disabled=no src-address=192.168.10.0/30
/ip firewall nat
add action=dst-nat chain=dstnat comment="Redirect Raptorcache" disabled=no dst-port=80 protocol=tcp src-address=!192.168.10.2 to-addresses=192.168.10.2 to-ports=3128
/ip firewall mangle
add action=mark-connection chain=postrouting comment="== RAPTORCACHE ==" content="X-Cache: HIT from Raptor" disabled=no new-connection-mark=raptor-connection passthrough=yes src-address=192.168.10.2 protocol=tcp
add action=mark-packet chain=postrouting connection-mark=raptor-connection disabled=no new-packet-mark=raptor-packs passthrough=yes
add action=mark-connection chain=postrouting comment="== SQUID ==" content="X-Cache: HIT from proxy.os.com" disabled=no new-connection-mark=squid-connection passthrough=yes src-address=192.168.10.2 protocol=tcp
add action=mark-packet chain=postrouting connection-mark=squid-connection disabled=no new-packet-mark=squid-packs passthrough=yes
/queue tree
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=4M name="RaptorCache" packet-mark=raptor-packs parent=global-out priority=4 queue=default
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=4M name="Squid 3.x" packet-mark=squid-packs parent=global-out priority=4 queue=default


4.- Entramos por el navegador web para ver la interface gráfica Raptor Webpanel.
Para ingresar a ver el Webpanel de ingresa poniendo la siguiente dirección en el navegador web.
http://ip_del_servidor:82

En el caso del esquema sería:
http://192.168.10.2:82

Nombre de Usuario=admin
Contraseña=admin
#57
Ingresar al WebPanel - RaptorCache desde fuera de la red local (internet)

Con esta regla de redirección podemos ingresar a ver el WebPanel desde cualquier parte en que tengamos una conexión a internet, para esto se tiene que poner la siguiente regla en el mikrotik que este haciendo la función de router.
Código (mk) [Seleccionar]

/ip firewall nat
add chain=dstnat protocol=tcp dst-port=5800 action=dst-nat to-addresses=192.168.10.2 to-ports=80

En este caso hemos puesto el Puerto 5800 puede ser cualquier otro puerto libre.

Y desde el navegador web ingresamos
http://tu-ip-publica:5800
#58
Para liberar y priorizar el tráfico tenemos que identificar las cabeceras que utiliza el Webshare, para esto que veremos la información que nos da para marcar el contenido, esto lo podemos ver en el panel de administración del Webshare
http://192.168.10.2/web/admin/
En la pestaña información buscamos la parte de HTTP Response Headers y buscamos la parte de "X-Powered-By:" como se ve marcada en la imagen



Se ha identificado que el contenido tiene la marca de:
X-Powered-By: PHP/5.3.3-7+squeeze14

Con este dato partiremos a hacer el marcado en el mikrotik.

Entonces la regla de marcado y priorización sería de esta forma
Código (mk) [Seleccionar]

/ip firewall mangle
add action=mark-connection chain=postrouting comment="FILE SERVER WEBSHARE\
   =======================================================================\
   ===============================" content="X-Powered-By: PHP/5.3.3-7+squeeze14" \
   disabled=no new-connection-mark=file_serv-conn passthrough=yes \
   protocol=tcp src-address=192.168.10.2
add action=mark-packet chain=postrouting connection-mark=file_serv-conn \
   disabled=no new-packet-mark=file-serv passthrough=yes
/queue tree
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
   max-limit=4M name="File Server webshare" packet-mark=file-serv parent=\
   global-out priority=6 queue=default


Reemplazar "X-Powered-By: PHP/5.3.3-7+squeeze14" en content de acuerdo a la versión que tengamos.
#59
Plugins de juegos / Plugin para juegos de facebook
Octubre 30, 2012, 12:08:32 PM
Como ya saben el facebook trae varios juegos, algunos se han estado preguntando si se puede hacer plugin para estos juegos.
De acuerdo a los juegos veremos si es necesrio un plugin, como ej. pongo el juego citiville

Citiville
Como en la imagen muestra no es necesario un plugin ya que el Squid ya le hace HIT


#60
Plugins de juegos / Plugin Atlantica
Octubre 27, 2012, 10:27:00 PM
Código fuente del juego Atlantica

pandonetworks.com.cpp
Código (cpp) [Seleccionar]

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

// use this line to compile
// g++ -I. -fPIC -shared -g -o pandonetworks.com.so pandonetworks.com.cpp
// Regex
// http.*\.pandonetworks\.com.*(\.nzp|\.lst)

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(".pandonetworks.com/IgnitedAtlantica/") != string::npos)
) {

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


Si hay más juegos que utilizan el servidor pandonetworks.com, se puede modificar para adjuntarlos viendo como ejemplo el plugin de softnix-rakion,wolfteam,gunbound.