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

Mensajes - firecold

#3401
Cita de: JOtiniano en Noviembre 01, 2012, 03:31:55 PM
Gracias Muchachos por sus comentarios, claro está lo que indican, lo mismo estaba suponiendo YO.
Voy a tratar de ver que puedo hacer, agradeceria si tuvieran algun Link de Ayuda publicarla.
SL2.

Amigo Jotiniano yo te recomendaria un firewall con iptables con politicas drop, para que aceptes solo lo que necesitas y lo que no sea descartado o bloqueado, aqui un ejemplo: http://www.alterserv.com/foros/index.php?topic=11.msg134#msg134, tambien puedes poner medidas de seguridad en el kernel que tambien vienen descritas en el link, si no tambien en el archivo adjunto de un archivo sysctl.conf del amigo Leandro, el cual pronto pondre un post indicando para que sirve cada medida de seguridad, Espero te halla sido de ayuda, Saludos

[archivo adjunto borrado por el administrador]
#3402
Plugins de juegos / Re:Plugin para juegos de facebook
Noviembre 02, 2012, 08:50:28 AM
Aqui volviendo a postear lo de los juegos del facebook, le doy las gracias a btocarmona, luistec y joemg6 por la ayuda, hice y probe cada uno de los plugins, creanme pase un buen rato, probando que funcionaran en todos los juegos del facebook, con estos plugins se cachea el 50 por ciento de los juegos de facebook:

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

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

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(".akamaihd.net/") != string::npos)
) {

      r.file = get_filename(url);
     if (!r.file.empty()) {
        r.match = true;
        r.domain = "games_facebook";
     } 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 amazonaws.com.so amazonaws.com.cpp
// regex
// http.*\.amazonaws\.com.*(\.jpg|\.png|\.json|\.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(".amazonaws.com/") != string::npos)
) {

      r.file = get_filename(url);
     if (!r.file.empty()) {
        r.match = true;
        r.domain = "games_facebook";
     } 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 appspot.com.so appspot.com.cpp
// regex
// http.*\.appspot\.com.*(\.jpg|\.png|\.gif|\.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(".appspot.com/") != string::npos)
) {

      r.file = get_filename(url);
     if (!r.file.empty()) {
        r.match = true;
        r.domain = "games_facebook";
     } 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 cloudfront.net.so cloudfront.net.cpp
// regex
// http.*\.cloudfront\.net.*(\.jpg|\.png|\.gif|\.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(".cloudfront.net/") != string::npos)
) {

      r.file = get_filename(url);
     if (!r.file.empty()) {
        r.match = true;
        r.domain = "games_facebook";
     } 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 dungeonbusters.com.so dungeonbusters.com.cpp
// regex
// http.*\.dungeonbusters\.com.*(\.jpg|\.png|\.gif|\.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(".dungeonbusters.com/") != string::npos)
) {

      r.file = get_filename(url);
     if (!r.file.empty()) {
        r.match = true;
        r.domain = "games_facebook";
     } 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 geewa.net.so geewa.net.cpp
// regex
// http.*\.geewa\.net.*(\.jpg|\.png|\.gif|\.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(".geewa.net/") != string::npos)
) {

      r.file = get_filename(url);
     if (!r.file.empty()) {
        r.match = true;
        r.domain = "games_facebook";
     } 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 popcap.com.so popcap.com.cpp
// regex
// http.*\.popcap\.com.*(\.jpg|\.png|\.gif|\.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(".popcap.com/") != string::npos)
) {

      r.file = get_filename(url);
     if (!r.file.empty()) {
        r.match = true;
        r.domain = "games_facebook";
     } 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 socialpointgames.com.so socialpointgames.com.cpp
// regex
// http.*\.socialpointgames\.com.*(\.jpg|\.png|\.gif|\.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(".socialpointgames.com/") != string::npos)
) {

      r.file = get_filename(url);
     if (!r.file.empty()) {
        r.match = true;
        r.domain = "games_facebook";
     } 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 telaxo.com.so telaxo.com.cpp
// regex
// http.*\.telaxo\.com.*(\.jpg|\.png|\.gif|\.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(".telaxo.com/") != string::npos)
) {

      r.file = get_filename(url);
     if (!r.file.empty()) {
        r.match = true;
        r.domain = "games_facebook";
     } 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 vostucdn.com.so vostucdn.com.cpp
// regex
// http.*\.vostucdn\.com.*(\.jpg|\.png|\.gif|\.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(".vostucdn.com/") != string::npos)
) {

      r.file = get_filename(url);
     if (!r.file.empty()) {
        r.match = true;
        r.domain = "games_facebook";
     } 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 wooga.com.so wooga.com.cpp
// regex
// http.*\.wooga\.com.*(\.jpg|\.png|\.gif|\.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(".wooga.com/") != string::npos)
) {

      r.file = get_filename(url);
     if (!r.file.empty()) {
        r.match = true;
        r.domain = "games_facebook";
     } 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 zgncdn.com.so zgncdn.com.cpp
// regex
// http.*\.zgncdn\.com.*(\.swf|\.mp3|\.png|\.jpg|\.gif)

string get_filename(string url) {
     vector<string> resultado;
     if (url.find("?") != string::npos) {
        stringexplode(url, "?", &resultado);
        stringexplode(resultado.at(resultado.size()-2), "/", &resultado);
        return resultado.at(resultado.size()-1);          
     } else {
        stringexplode(url, "/", &resultado);
        return resultado.at(resultado.size()-1);
     }
}

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

if ( (url.find(".zgncdn.com/") != string::npos)
) {


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


Espero que les sirvan, debo decir que en media hora me ahorre mas de 100 megas y a una velocidad muy buena, pruebenlos y rogando  a luistec y a joemg6 que los revisen, talvez se puedan mejorar, Saludos  :-[  :-*
#3403
Plugins de juegos / Re:Plugin para juegos de facebook
Noviembre 01, 2012, 02:27:20 PM
Amigo por favor comparte el codigo de los plugins, asi poder verlos y unificarlos en un solo plugin, si no serian un monton de plugins, Saludos
#3404
Plugins de juegos / Re:Plugin para juegos de facebook
Noviembre 01, 2012, 12:33:28 PM
Cita de: joemg6 en 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




Amigo Joemg6 Con una pregunta que programa usas, para ver todo esto, yo uso el que trae incorporado chrome con f12, pero me gustaria usar el mismo que tu, se ve que que te deja ver  varios datos al mismo tiempo, Gracias  :-[  :-*
#3405
Cita de: cabp68 en Octubre 31, 2012, 10:36:18 AM
amigo estoy en esto

PORTA_TC="8080"
WAN="eth0"
LAN="eth1"
BRIDGE="br0"

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

/sbin/iptables -t nat -F
/sbin/iptables -t nat -X
/sbin/iptables -t mangle -F
/sbin/iptables -t mangle -X
/sbin/ebtables -t broute -F
/sbin/ebtables -t broute -X
/sbin/iptables -t nat -A PREROUTING -i $LAN -p tcp --dport 80 -j REDIRECT --to-port $PORTA_TC
/sbin/iptables -t nat -A POSTROUTING -o $WAN -j MASQUERADE

no e provado pero este seria el metodo

amigo to tambien lo tengo en modo gateway y uso este script de iptables:

#!/bin/bash
############################################################
# VARIABLES DEL SCRIPT
############################################################
#Ruta del binario de iptables
IPTABLES=/sbin/iptables
#Interfaz conectada a internet
INTERNET="ppp0"
#Interfaz conectada a nuestra LAN
LAN="eth0"
#Declarar la clase de la red local
CLASS=192.168.1.0/24
#Declarar el resto de la red
UNIVERSE=0.0.0.0/0
############################################################
# ELIMINACION DE REGLAS EXISTENTES
############################################################
$IPTABLES -F
$IPTABLES -X
$IPTABLES -Z
$IPTABLES -t nat -F
############################################################
# ESTABLECEMOS POLITICAS POR DEFECTO (CERRADO)
############################################################
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP
############################################################
# COMIENZAN REGLAS DE FILTRADO
############################################################
#El localhost se deja acceso total
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A OUTPUT -o lo -j ACCEPT
#*************************************************************#
#*************************************************************#
#                       REGLAS DE INPUT                       #
#*************************************************************#
#*************************************************************#
#PERMITIR PETICIONES ICMP QUE VENGAN DE LAS IPS DE LA RED
$IPTABLES -A INPUT -p ICMP -s $CLASS -j ACCEPT
#PERMITIR PINGS DESDE INTERNET
$IPTABLES -A INPUT -p icmp -i $INTERNET --icmp-type echo-reply -j ACCEPT
#PERMITIR EL USO DEL SERVIDOR DNS
$IPTABLES -A INPUT -p udp -s $CLASS --dport 53 -j ACCEPT
$IPTABLES -A INPUT -p tcp -s $CLASS --dport 53 -j ACCEPT
$IPTABLES -A INPUT -p udp -d $CLASS --sport 53 -j ACCEPT
$IPTABLES -A INPUT -p tcp -d $CLASS --sport 53 -j ACCEPT
# WEB
$IPTABLES -A INPUT -i $LAN -s $CLASS -p tcp --dport 80 -j ACCEPT
$IPTABLES -A INPUT -i $LAN -s $CLASS -p tcp --dport 443 -j ACCEPT
# PROXY
$IPTABLES -A INPUT -i $LAN -s $CLASS -p tcp --dport 3128 -j ACCEPT
$IPTABLES -A INPUT -i $LAN -s $CLASS -p tcp --dport 8080 -j ACCEPT
# Control del Ciber
$IPTABLES -A INPUT -i $LAN -s $CLASS -p tcp --dport 10000 -j ACCEPT
# IPP
$IPTABLES -A INPUT -i $LAN -s $CLASS -p tcp --dport 631 -j ACCEPT
$IPTABLES -A INPUT -i $LAN -s $CLASS -p udp --dport 631 -j ACCEPT
#ACCESSO A SMB DESDE LA RED LOCAL
$IPTABLES -A INPUT -i $LAN -s $CLASS -p tcp --dport 137 -j ACCEPT
$IPTABLES -A INPUT -i $LAN -s $CLASS -p tcp --dport 138 -j ACCEPT
$IPTABLES -A INPUT -i $LAN -s $CLASS -p tcp --dport 139 -j ACCEPT
$IPTABLES -A INPUT -i $LAN -s $CLASS -p tcp --dport 445 -j ACCEPT
$IPTABLES -A INPUT -i $LAN -s $CLASS -p udp --dport 137 -j ACCEPT
$IPTABLES -A INPUT -i $LAN -s $CLASS -p udp --dport 138 -j ACCEPT
$IPTABLES -A INPUT -i $LAN -s $CLASS -p udp --dport 139 -j ACCEPT
$IPTABLES -A INPUT -i $LAN -s $CLASS -p udp --dport 445 -j ACCEPT
#PERMITIR ACCESO A LAS CONEXIONES ESTABLECIDAS
$IPTABLES -A INPUT -i $INTERNET -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
#*************************************************************#
#*************************************************************#
#                       REGLAS DE OUTPUT                    #
#*************************************************************#
#*************************************************************#
#PERMITIR CONTESTAR LAS PETICIONES ICMP DE LAS IPS DE LA RED
$IPTABLES  -A OUTPUT -p ICMP -d $CLASS -j ACCEPT
#PERMITIR PNGS DESDE INTERNET
$IPTABLES -A OUTPUT -p icmp -o $INTERNET --icmp-type echo-request -j ACCEPT
#DNS
$IPTABLES -A OUTPUT -p udp -d $CLASS --sport 53 -j ACCEPT
$IPTABLES -A OUTPUT -p tcp -d $CLASS --sport 53 -j ACCEPT
$IPTABLES -A OUTPUT -p udp -d $CLASS --dport 53 -j ACCEPT
$IPTABLES -A OUTPUT -p tcp -d $CLASS --dport 53 -j ACCEPT
# WEB
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p tcp --sport 80 -j ACCEPT
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p tcp --sport 443 -j ACCEPT
# PROXY
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p tcp --sport 3128 -j ACCEPT
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p tcp --sport 8080 -j ACCEPT
# Control del Ciber
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p tcp --sport 10000 -j ACCEPT
# IPP
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p tcp --sport 631 -j ACCEPT
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p udp --sport 631 -j ACCEPT
#ACCESSO A SMB DESDE LA RED LOCAL
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p tcp --sport 137 -j ACCEPT
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p tcp --sport 138 -j ACCEPT
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p tcp --sport 139 -j ACCEPT
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p tcp --sport 445 -j ACCEPT
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p udp --sport 137 -j ACCEPT
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p udp --sport 138 -j ACCEPT
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p udp --sport 139 -j ACCEPT
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p udp --sport 445 -j ACCEPT
$IPTABLES -A OUTPUT -o $LAN -d $CLASS -p tcp --sport 137 -j ACCEPT
#PERMITIR EL ACCESO A LAS CONEXCIONES ESTABLECIDAS
$IPTABLES -A OUTPUT -o $INTERNET -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
#*************************************************************#
#*************************************************************#
#                       REGLAS DE FORWARD                 #
#*************************************************************#
#*************************************************************#
#HABILITAR CONSULTA DNS
$IPTABLES -A FORWARD -i $LAN -o $INTERNET -p udp --dport 53 -j ACCEPT
$IPTABLES -A FORWARD -i $LAN -o $INTERNET -p tcp --dport 53 -j ACCEPT
#HABILITAR EL POP3
$IPTABLES -A FORWARD -i $LAN -o $INTERNET -p tcp --dport 110 -j ACCEPT
$IPTABLES -A FORWARD -i $LAN -o $INTERNET -p tcp --dport 995 -j ACCEPT
#HABILITAR TRAFICO WEB
$IPTABLES -A FORWARD -i $LAN -o $INTERNET -p tcp --dport 80 -j ACCEPT
#HABILITAR PING
$IPTABLES -A FORWARD -i $LAN -o $INTERNET -p icmp -j ACCEPT
#PERMITIR EL USO DE MSN MESSENGER
$IPTABLES -A FORWARD -p tcp --dport 1863 -j ACCEPT
#PERMITIR EL USO DEL SSL
$IPTABLES -A FORWARD  -i $LAN -o $INTERNET -p tcp --dport 443 -j ACCEPT
#HABILITAR LAS CONEXIONES ESTABLECIDAS
$IPTABLES -A FORWARD -i $INTERNET -o $LAN -m state --state ESTABLISHED,RELATED -j ACCEPT
#*************************************************************#
#*************************************************************#
#                       REGLAS De NAT                         #
#*************************************************************#
#*************************************************************#
#ACTIVANDO EL NAT USANDO MASQUERADE
#echo "1" > /proc/sys/net/ipv4/ip_forward
$IPTABLES -t nat -A POSTROUTING -s $CLASS -d $UNIVERSE -o $INTERNET -j MASQUERADE
$IPTABLES -t nat -A PREROUTING -i $LAN -p tcp --dport 80 -j REDIRECT --to-port 3128


Si te puedes dar cuenta esta todo en drop asi que solo agregas los puertos que vayas a utilizar y listo, los demas estaran bloqueados para mayor seguridad, tambien puedes ver que tengo comentado esto #echo "1" > /proc/sys/net/ipv4/ip_forward, pero es porque lo puedes poner en el archivo /etc/sysctl.conf en la ultima linea, tambien puedes poner estos para mayor seguridad, si quieres saber para que sirven los demas te dejo el enlace para que te puedas ilustrar, http://unaaldia.hispasec.com/2002/11/opciones-de-seguridad-en-linux-traves.html:

net/ipv4/tcp_syncookies = 1
net/ipv4/conf/all/rp_filter = 1
net/ipv4/ip_forward = 1
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.all.log_martians = 1
net.ipv4.conf.default.log_martians = 1


Espero te sirva, Saludos  :-[  :-*
#3406
Plugins de juegos / Re:Plugin para juegos de facebook
Noviembre 01, 2012, 12:50:05 AM
Pues despues de pensarlo un rato me puse a trabajar en el plugin de los juegos de zinga, y resulta que si me hace cache pero no de todo lo que quiero solo gif y png lo mas importante swf y mp3 nada, un amigo me ayudo pero igual nada, mostrare el codigo, talvez alguien que pueda, nos ayude un poco:

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

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

string get_filename(string url) {
      vector<string> resultado;
      if (url.find("?") != string::npos) {
         stringexplode(url, "?", &resultado);
         stringexplode(resultado.at(resultado.size()-2), "/", &resultado);
         return resultado.at(resultado.size()-1);           
      } else {
         stringexplode(url, "/", &resultado);
         return resultado.at(resultado.size()-1);
      }
}

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

if (  ( (url.find(".static.zynga.com") != string::npos) or (url.find(".static.zgncdn.com") != string::npos) or (url.find(".zcache.zgncdn.com") != string::npos) or (url.find(".akamaihd.net") != string::npos) ) and ( (url.find(".swf") != string::npos) or (url.find(".mp3") != string::npos) or (url.find(".png") != string::npos) or (url.find(".jpg") != string::npos) or (url.find(".gif") != string::npos) )
) {

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


Fuentes:
http://empire-zc.static.zgncdn.com/assets/hashed/5514bb8b0a3c9ff88bf55f5820762861.swf
http://empire-zc.static.zgncdn.com/assets/83879/images/loading.gif
http://empire-zc.static.zgncdn.com/assets/83879/images/tabs/sprite-r.png
http://empire-zc.static.zgncdn.com/assets/hashed/6bb8802175b84e20cdb8b20c967d4338.png
http://empire-zc.static.zgncdn.com/assets/83879/ZGame.83879.swf
http://zcache.zgncdn.com/empire/ZCache.52767.swf
http://zynga2-a.akamaihd.net/zbar/v2/prod/promo/9e7dca17108b6219971b5ccbd2bc2d47.png
http://zgn.static.zynga.com/snapi_plugins/r21501-prod/plugins/zsc/images/zsc-icon.png
http://zynga1-a.akamaihd.net/zlive/zoom/r59057-prod/swf/zoomapi.swf

#  Cityville
http://cityvillefb2.static.zgncdn.com/hashed/fe77f95a87a3e14ab2e6e9266d62a5b2.swf
http://cityvillefb0.static.zgncdn.com/static/assets/airports/air_terminal03/air_terminal03_SW.png
http://cityvillefb0.static.zgncdn.com/static/assets/municipals/mun_learningcenter/mun_learningcenter_b_SW.png
http://cityvillefb3.static.zgncdn.com/static/assets/construction/scaffold_SE.png
http://cityvillefb3.static.zgncdn.com/static/assets/sounds/ui/sfx_ui_dialog_show.mp3
http://cityvillefb2.static.zgncdn.com/hashed/9b2b0d3097f3b143d12ac31d5b1936ee.swf
http://cityvillefb3.static.zgncdn.com/hashed/c6e6f1e96faa55df90b8f3bc0a3b927f.swf
#3407
Plugins de juegos / Re:Plugin para juegos de facebook
Octubre 30, 2012, 12:36:00 PM
para ayudar a que esto responda mejor esta refresh pattern, por lo meno para los juegos de zinga tengo esta regla:

refresh_pattern -i ^http://(.*?\.zynga\.com\S+\.(bin|dmg|idx|gz|exe|zip|avc|klb|klc|set|sfg|dt|avc|klb|klc|set|sfg|dt|avc|klb|klc|set|sfg|dt|avc|klb|klc|set|sfg|dt|bin|bin|nup|gz|gz|vps|vpu|exe|swf|jpeg|gif|bmp|png|mp3|wmv|wma|pdf|fla|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf)) 28880 80% 57640 reload-into-ims

refresh_pattern -i ^http://(.*?farmville\.com\S+\.(bin|dmg|idx|gz|exe|zip|avc|klb|klc|set|sfg|dt|avc|klb|klc|set|sfg|dt|avc|klb|klc|set|sfg|dt|avc|klb|klc|set|sfg|dt|bin|bin|nup|gz|gz|vps|vpu|exe|swf|jpeg|gif|bmp|png|mp3|wmv|wma|pdf|fla|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|exe|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|jpg|gif|bmp|png|mp3|wmv|wma|pdf|swf|jpeg|gif|bmp|png|mp3|wmv|wma|pdf|fla|swf|jpeg|gif|bmp|png|mp3|wmv|wma|pdf|fla|swf|jpeg|gif|bmp|png|mp3|wmv|wma|pdf|fla|swf|jpeg|gif|bmp|png|mp3|wmv|wma|pdf|fla|swf|jpeg|gif|bmp|png|mp3|wmv|wma|pdf|fla|swf|jpeg|gif|bmp|png|mp3|wmv|wma|pdf|fla|swf|jpeg|gif|bmp|png|mp3|wmv|wma|pdf|fla|swf|jpeg|gif|bmp|png|mp3|wmv|wma|pdf|fla|swf|jpeg|gif|bmp|png|mp3|wmv|wma|pdf|fla|swf|jpeg|gif|bmp|png|mp3|wmv|wma|pdf|fla|swf|jpeg|gif|bmp|png|mp3|wmv|wma|pdf|fla|swf|jpeg|gif|bmp|png|mp3|wmv|wma|pdf|fla|swf|jpeg|gif|bmp|png|mp3|wmv|wma|pdf|fla|swf|jpeg|gif|bmp|png|mp3|wmv|wma|pdf|fla)) 28880 80% 57640 reload-into-ims

Aunque debo decir que esta regla me evita bastantes problemas con los juegos como empires y alles, farmville, cityville y varios mas, aunque debo agregar que los plugins de thunder han siempre mejorado la respuesta en comparacion con squid, igual habiar que analizarse, Saludos  :-[  :-*
#3408
Squid 2.7 & Squid 3.x / Qos_flow en Squid3
Octubre 29, 2012, 05:03:15 PM
Buenos tardes a todos primeramente posteando esta informacion muy intersante sobre qos_flow, muchos se preguntaran que es esto, pues en es squid2.7 se utilizaba zph, la cual ya esta obsoleta desde squid3.1.04, siendo que la version estable en el momento de crear este tema es squid3.1.19, pero para los que quieran ahondar mas en el tema traduje esta informacion de la pagina de squid la cual les ayudara a entender un poco.

Calidad de servicio (QoS) soporte de flujo
Zero Penalty Hit creado un parche para establecer marcadores de QoS en el tráfico saliente.

     Le permite seleccionar un TOS / Diffserv valor para marcar los accesos locales.
     Le permite seleccionar un TOS / Diffserv valor para marcar golpes pares.
     Le permite marcar selectivamente único hermano o padre solicita
     Permite que cualquier respuesta HTTP a los clientes a tener el valor TOS de la respuesta procedente del servidor remoto conservado. Para que esto funcione correctamente, tendrá que parchear el kernel linux con la preservación de las condiciones de servicio parche ZPH. El parche para el kernel se puede descargar desde http://zph.bratcheda.org
     Le permite enmascarar ciertos bits en las Condiciones del servicio recibido del servidor remoto, antes de copiar el valor de los TOS envían a los clientes.

Configuración de Squid

Squid 3.1 debe ser configurado con - enable-ZPH-qos para la QoS ZPH controla a estar disponible. # Antes que digan hay que compilar, les dire que esta opcion ya viene activada en la version estable en este momento squid3.1.19

Las opciones de configuración de Squid 2.7 y 3.1 se basan en los parches ZPH diferentes. La configuración de dos versiones difieren y sólo la configuración del modo TOS pueden usarse directamente.

     qos_flows locales afectadas = 0xff Las respuestas se encuentran como un éxito en la caché local
     qos_flows golpe de hermanos = 0xff Las respuestas se encuentran como un éxito en un par de hermanos
     qos_flows golpe de padres y = 0xff Las respuestas se encuentran en HIT en una revista padre

Estas líneas están separadas de la documentación. qos_flows puede estar configurado con todas las opciones en una línea, o separados como se muestra. También las opciones se pueden repetir tantas veces como se desee. Sólo el valor final configurado para cualquier opción se utilizará.

La opción legado y los modos de prioridad disponibles en Squid-2.7 ya no son compatibles.

Le permite seleccionar un TOS / DSCP de valor para marcar con conexiones saliente, a partir de donde se obtuvo la respuesta. Para
plataformas usando netfilter, le permite establecer una marca netfilter valor en lugar de un valor de TOS.

Como los valores pueden ser cualquier entero de 32 bits con valor entero.
Esta configuración se establece mediante el establecimiento de los valores siguientes:

tos|mark  si va a poner TOS o netfilter marcamos valores de la

local-hit=0xFF  Valor para marcar éxitos locales de caché.

sibling-hit=0xFF
  Valor para conmemorar los éxitos de sus pares de hermanos.

parent-hit=0xFF  Valor para conmemorar los éxitos de sus compañeros de padres.

miss=0xFF[/mask] Valor para marcar fallos de caché. Tiene prioridad sobre la entidad preserve-miss (ver más abajo), a menos que
máscara se especifica, en cuyo caso sólo los bits especificado en la máscara se escriben.

disable-preserve-miss
Esta opción desactiva la preservación de las CDS o netfilter marcar. Por defecto, las condiciones de servicio existentes o netfilter Marcamos valor de
la respuesta procedente del servidor remoto será retenido y enmascarados con miss-marca.
NOTA: en el caso de una marca netfilter, la marca deberá fijarse en la conexión no (utilizando el objetivo CONNMARK) en el paquete (Objetivo MARK).

miss-mask = 0xFF
Le permite enmascarar ciertos bits en las Condiciones del servicio o marca valor recibida desde el servidor remoto, antes de copiar el valor de las condiciones de servicio enviados a los clientes.
Predeterminado para tos: 0xFF (TOS de servidor no se cambia).
Predeterminado para la marca: 0xFFFFFFFF (marca de servidor no se cambia).

Bueno para terminar este post, les mostrare la configuracion de qos_flows en mi configuracion de squid3.

# -----------------------------------------------------------------------------
# Qos_Flows
# -----------------------------------------------------------------------------
qos_flows local-hit=0x30
qos_flows parent-hit=0x32
qos_flows disable-preserve-miss


Espero les sirva, Saludos  :)  8)

Documentacion: http://www.squid-cache.org/Versions/v3/3.1/RELEASENOTES.html, http://wiki.squid-cache.org/Features/QualityOfService, http://www1.it.squid-cache.org/Versions/v3/3.HEAD/cfgman/qos_flows.html.