Languages

User login


Squid <-> Capo <-> google.es


Hola a todos...

Veréis, en nuestra red wireless ( paramowifix.net ) estamos interesados en incorporar un splash a nuestros proxies, similar al que usáis vosotros. Después de buscar alternativas decidí probar el CaPo, y todo va normalmente bien, a no ser que el spash salte cuando se accede a google (con otras páginas no he tenido problemas)...

Os lo explico más detalladamente. Supongamos que soy un nuevo cliente, o que el tiempo especificado para el capo ha vencido. Pido una página web, por lo que el squid me lo manda al capo y este a su vez me redirecciona la página. Si la página web que yo he pedido es, por ejemplo, telefonica.net, todo parece funcionar bien. El CaPo me redirecciona, veo el splash screen, lo leo, vuelvo a intentar acceder a la web que quería (telefonica.net) y la veo perfectamente. Todo bien.

Ahora viene el problema. Supongamos que vuelvo a ser un nuevo cliente, pido la página www.google.es, el CaPo me redirecciona y veo la Splash (todo bien), la leo y ahora vuelvo a intentar acceder a www.google.es, y en vez de obtener la original... plash!, obtengo nuevamente la redirección....

La única solución para poder ver la original, es vaciando el contenido de la caché del navegador del cliente... O_o.

Sólo me ha pasado (de momento) con la de google, con el resto parece funcionar bien, pero no son pocos los usuarios que tienen la página de google como predeterminada, y eso ya es un problema/inconveniente...

He probado muchas cosas, desde incorporar cabeceras de "no-cache" a la pagina que redirecciona, a la pagina redireccionada, e incluso he creado una acl para que no cachee la página del google, pero creo que el problema está más en el navegador cliente que en el propio Squid...

¿a vosotros también os pasa?...

Deciros que uso Squid 2.7 - STABLE5 y que el CaPo es la 1.02, así como la versión de Apache que suministra el redirector y la web final (que es la misma máquina) es la 2.2.10

Y ya aprovecho para saludaros, y para comentaros que, al menos para nosotros, vuestra inmensa comunidad es envidiable...

 

 

Opcions de visualització de comentaris

Selecciona la vostra manera preferida de visualitzar els comentaris i feu clic en "Desa la configuració" per activar els canvis.

Yo en las paginas del capo

Yo en las paginas del capo tengo esto en el inicio:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
        <TITLE>BadalonaWireless proxy LLefià - ProxyFromNodo07</TITLE>
	<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
	<META HTTP-EQUIV="pragma" CONTENT="no-cache">
	<META HTTP-EQUIV="expires" CONTENT="-1">

Creo que firefox no hace ese efecto de repetición, tambien puedes poner que si la pagina se encalla usen shift+Actualirar o Control+Actualizar.

Gracias Sebastián (por

Gracias Sebastián (por cierto, te envié también un email con el mismo tema, ya que a tí parece que también te fallaba años a...)

El caso es que eso que comentas ya lo he intentado, y tampoco me sirve el Control+F5, porque realmente la que falla es la redireccionadora, y esta no se ve más que medio segundo... Aquí va mi página redireccionadora...

<html>
<head>
   <title>Bienvenido, cargando...</title>
      <meta HTTP-EQUIV="Refresh" CONTENT="0; url=http://10.58.106.1/boletin_noticias_paramo.html">
      <meta http-equiv="Last-Modified" content="0" />
      <meta http-equiv="Cache-Control" content="no-cache, mustrevalidate" />
      <meta http-equiv="Pragma" content="no-cache" />
      <meta HTTP-EQUIV="Expires" CONTENT="Tue, 01 Jan 1980 1:00:00 GMT" />
      </head>
      <body>
      Redirigiendote a <a HREF="http://10.58.106.1/boletin_noticias_paramo.html">esta</a> p&aacute;gina.
      </body>
</html>
 

Te confirmo igualmente que en firefox (3.x) también falla... :-(

 

Nuevamente gracias por responder...

Yo tengo ya directamente la

Yo tengo ya directamente la pagina que queria mostrar, pero si que he visto que se cachea algunas veces.

La verdad es que es algo a lo que no he tenido mucho tiempo para prestarle.

Puedes tratar de hacer el redirect con el propio apache a ver si cambia.

<VirtualHost 10.35.228.39:80>

        ServerAdmin sgaleano@badalonawireless.net

        ErrorDocument 404 http://10.35.228.39/index.html
        DocumentRoot /var/www/new
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>

        LogLevel warn

        CustomLog /var/log/apache2/access.log combined
        ServerSignature Off
</VirtualHost>

O utilizando redirect:

Redirect /redir http://10.35.228.36/atencion.html

Bueno, amigo Sebastián... He

Bueno, amigo Sebastián...

He encontrado una magnífica alternativa justo justo en vuestra comunidad, de la mano de vuestro compañero Joan Llopart.

Gracias al amigo Joan, con su aplicación starpage.pl puedo hacer la redirección y evitar así mismo el inconveniente del cacheo de la página redireccionada... A demás, me parece más sencillo para modificar, ya que no es necesario recompilar cada vez que quieras cambiar el tiempo, la página o cualquier otro parámetro...

Ahora, es muy curioso lo que ocurre con el Capo y ciertas páginas, como la de google. Si tienes oportunidad, pruebalo verás como falla, y sin embargo el script en Perl de Joan parece hacerlo perfectamente...

Más info del script de Joan en este link:

http://guifi.net/node/14092

 

Un saludo y nuevamente muchas gracias a tí, y por supuesto al amigo Joan por compartir su script...

Puede ser el tema del codigo

Puede ser el tema del codigo que da.

Capo te da un codigo 200 y despues la redireccion te envia.

Puedes ver que te da el script de Llopart?

~ # telnet 10.35.228.36 3128
GET http://www.google.es HTTP/1.0

HTTP/1.0 200 OK
Date: Wed, 07 Jan 2009 16:44:57 GMT
Server: Apache
Set-Cookie: recentpages=a%3A2%3A%7Bi%3A0%3Bs%3A15%3A%22ProxyFromNodo11%22%3Bi%3A1%3Bs%3A4%3A%22Home%22%3B%7D; expires=Fri, 06-Feb-2009 16:44:57 GMT
Expires: Mon, 26 Jul 1997 05:00:00 GMT
Last-Modified: Wed, 07 Jan 2009 16:44:57 GMT
Cache-Control: no-store, no-cache, must-revalidate
Cache-Control: post-check=0, pre-check=0
Pragma: no-cache
Content-Length: 3609
Content-Type: text/html; charset=UTF-8
X-Cache: MISS from proxy.llefia.badalonawireless.net
X-Cache-Lookup: MISS from proxy.llefia.badalonawireless.net:3128
Connection: close

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

 

 

Por cierto como ves guifi.net es lo suficientemente grande para no saber todo lo que se hace en la comunidad, una excusa para decir q soy un despistado de co..

¿Que tal vuestra comunidad? en tiempos de crisis, supongo que algo mas de gente busca alternativas.

AJAJAMMM!!!! No me había

AJAJAMMM!!!! No me había fijado en ese pequeño detalle... ;)

El script de Llopart devuelve un 320...  De hecho, es una de las cosas que vienen en la configuración...

~ # telnet 10.58.106.1 8080
Trying 10.58.106.1...
Connected to 10.58.106.1.
Escape character is '^]'.
GET http://www.google.es HTTP/1.0

HTTP/1.0 302 Moved Temporarily
Date: Wed, 07 Jan 2009 18:15:02 GMT
Content-Length: 0
Location: http://10.58.106.1/boletin_redirect.html
Connection: close
 

Voy a echar, aunque sea ya por un tema de morvosidad completa, un vistazo al fuente del CaPo, y seguramente modificando el 200 por un 302 se corrija este pequeño inconveniente...

De todas formas, la verdad es que el sencillísimo script del amigo Llopart me hace 100% el apaño... ;-)

P.D.: Respecto a nuestra comunidad, la verdad es que su ritmo de crecimiento es lento, pero ciertamente es bonito saber que damos servicios a pequeños pueblos que de otra forma no podrían acceder a una banda ancha, ya que las administraciones no invierten un duro en ellos... :-(

Puedes ver un mapa con un estado en tiempo real de nuestra modesta red en www.paramowifix.net/paramo_map

FUNCIONA!!! Efectivamente el

FUNCIONA!!!

Efectivamente el 302 hace el truco!!!

Basta con editar el fichero redirect.h, y precisamente donde pones la dirección URL de la página redireccionadora le añades por delante un 302:http://<url> y tienes el tema del cacheo de algunas páginas resuelto...

La verdad es que la documentación del CaPo es más bien nula... :-(

Sin embargo, a estas alturas de la película no sé si finalmente sustituiré el script que ya tengo funcionando en perl por el capo. Evidentemente el capo parece ser que será más rápido (está compilado en "C" y la lista de IP's las lleva en memoria, no en fichero), sin embargo para el nivel tan pequeño de clientes que yo tengo, el script en perl es lo suficientemente simple y eficaz para mis necesidades.

¿Qué opináis?, ¿qué ventajas me podría proporcionar el CaPo frente al script en perl de Llopart?...

Yo uso el CaPo para enviar

Yo uso el CaPo para enviar paginas determinadas a usuarios que veo que hacen una conexión oportunista (portatiles) y no son espontaneas.

con la siguiente configuración:

andromeda:~# more /etc/squid/capo.conf
10.139.18.71:255.255.255.255:noredirect
10.139.19.118:255.255.255.255:noredirect
10.35.229.41:255.255.255.255:http://10.139.17.34/redir
10.139.18.55:255.255.255.255:http://10.139.17.34/redir
10.139.17.42:255.255.255.255:http://10.35.228.36/redirect2.html
10.35.228.32:255.255.255.224:http://10.139.17.34/qwiki/index.php?page=ProxyFromNodo03
10.35.228.64:255.255.255.224:http://10.139.17.34/qwiki/index.php?page=ProxyFromNodo06
10.35.228.96:255.255.255.224:http://10.139.17.34/qwiki/index.php?page=ProxyFromNodo05
10.35.228.128:255.255.255.224:http://10.139.17.34/qwiki/index.php?page=ProxyFromNodo02

 

Como ves según de donde venga la petición es redireccionado.

para forzar el mostrar la pagina bajo demanda lo hago con:

> /var/log/squid/capo.match && pkill capo

En cuanto a que es mejor, pues no se, la verdad, el capo a mi manera de ver para lo que quieres es util, evalualo y ya esta, al fin y al cabo es un redireccionador para el squid.

Ummm... eso está muy

Ummm... eso está muy interesante, pero el código de CaPo que tengo yo no soporta (o al menos no lo veo el los sources) eso que tu me comentas... ¿Le habéis metido mano vosotros o usais una versión diferente a la 1.02 que tengo yo?...

Por otro lado, el amigo Llopart hace apenas unos meses, ha sacado una "nueva versión" de su script, esta vez en bash (en lugar de en perl)... Mirad esto:

http://www.comesfa.org/node/17368

Curioso... :)

Ah!, ya he encontrado el

Ah!, ya he encontrado el tema...

Vosotros usais una versión modificada por un tal Ferran Ot, y que me gustaría probar... ¿Sabéis si se puede conseguir, o sólo está modificado para vosotros y Ferran no lo tiene disponible?...

Por otro lado he dejado un mensaje a Llopart advirtiéndole de este hilo, así como preguntandole si la nueva versión (que funciona bajo bash) podría soportar la modalidad IP, ya que la que actualmente tiene sólo parece funcionar vía usuario... Intentaré echarle un vistazo a ver si sé como va el tema en Squid y lo puedo modificar yo...

Saludotesss... :-)

Bueno, pues me voy

Bueno, pues me voy contestando a mi mismo y a futuras personas que tengan el mismo problema/inquitud que yo...

Finalmente he adaptado el script en bash del amigo Joan para que soporte Ip's en lugar de usuarios de Squid.

Os pongo el diff necesario para dicha finalidad...

[code]

--- squidredir.sh       2008-10-12 09:23:03.000000000 +0200
+++ squidredir_por_ip.sh    2009-01-07 18:50:46.000000000 +0100
@@ -27,7 +27,8 @@
 # Notes:
 #   URL has to start with '301:'
 #   seconds to show startpage again. 24 Hours = 86400 seconds
-
+#
+#  Modify by CpA for supporting IP's instead of Users

 # Get init arguments
 REDIR=$1
@@ -44,28 +45,28 @@

  # Store squid's parameters
  URL=$(echo ${LINE} | awk -F" " '{ print $1 }')
- SRCADD=$(echo ${LINE} | awk -F" " '{ print $2 }')
+ SRCADD=$(echo ${LINE} | awk -F" " '{ print $2 }' | sed 's/\/-//')
  IDENT=$(echo ${LINE} | awk -F" " '{ print $3 }')
  METHOD=$(echo ${LINE} | awk -F" " '{ print $4 }')

  NOW=$(date +%s)

  # Current user has timestamp file?
- if [ ! -f $SD/$IDENT ]
+ if [ ! -f $SD/$SRCADD ]
   then
    # Create timestamp file, and redir to startpage
-   echo $NOW > $SD/$IDENT
+   echo $NOW > $SD/$SRCADD
    URL=$REDIR

   else
    # Get last user's timestamp
-   TSTAMP=$(cat $SD/$IDENT)
+   TSTAMP=$(cat $SD/$SRCADD)
    # DELAY reached?
    if [  $[ $NOW - $TSTAMP ] -gt $DELAY ]
     then
      # redir to startpage and update user's timestamp
      URL=$REDIR
-     echo $NOW > $SD/$IDENT
+     echo $NOW > $SD/$SRCADD
    fi

  fi
[/code]

Espero que sea de utilidad para alguien...

Aún así, sigo interesado en, si es posible, probar el CaPo que usais vosotros...

Un fuerte abrazo... ;)

CAPO modificado

El capo modificado estava aquí http://guifi.net/caposelectiu pero veo que el servidor de palafollswireless no funciona. Lo pregunto en la lista de correo guifi-rdes

CAPO modificado

He recuperado el paquete de un servidor y lo he adjuntado a la entrada: http://guifi.net/caposelectiu

Puedes descargalo y eliminarle el _.txt para obtener el .tar

Genial!!!... Lo he de probar

Genial!!!... Lo he de probar y os lo cuento... :)

De momento llevo ya unos cuantos días usando el script en bash modificado y funciona bien. Tan sólo he tenido que subir la variable "redirect_children" a 25, porque con menos me daba errores debido al tráfico que pasa por dicho proxy...

Muchas gracias!! ;)

Bueno, comentaros que ya

Bueno, comentaros que ya probé el capo modificado por vosotros, y que añadiendo un 301 delante de la URL donde quieres redireccionar, evitas el problema del cacheo de ciertas páginas (problema que inició este post).

No obstante, de momento y a fecha de hoy, sigo usando el script bajo bash que cité unos mensajes más arriba, aunque tengo el capo en reserva por si en algún momento me surge la necesidad de mostrar una u otra página dependiendo del cliente.

Un cordial saludo a todos, y en especial a los amigos Sebastián Galeano, Joan Llopart, Ferran Ot y Lluis Dalmau.

Moltes Gracies (¿es así? )

Genial

Entre todos seguro que podemos avanzar mas y mejor.

De res ! (¡De nada!) Gracias a ti ;)