lunes, 15 de febrero de 2010

¿Cómo seguir una web sin ningún tipo de feeds?

Anteriormente os comentamos cómo convertir una suscripción rss o atom en una suscripción vía email; pues bien, ahora vamos a dar una vuelta de tuerca más, la cuestión es ¿cómo «suscribirse» a una página que no posee ningún tipo de feeds?.

Para esto hay varias alternativas, pero de la que hablaré (por ser la que he logrado hacer funcionar, más o menos y con cierta dificultad jeje) es de un programa para GNU/Linux que se llama WebSec (secretaria web por traducirlo literalmente).

Este programa lo que hace es comprobar una o varias direcciones de páginas web (las que nosotros le especifiquemos en el archivo url.list), y con cada ejecución las va comparando con las anteriores para sacar las diferencias y enviarlas por correo electrónico.

La pega que tiene es que no es muy amigable, y en su web aunque dan algunas indicaciones, no son excesivamente detalladas. Uno de los detalles que no veía por ninguna parte y que hasta que el informático de guardia no me lo dijo no sabía cómo hacer, era el tema del envío del correo electrónico; para lo cual hay que previamente configurar el servicio de envío de correos electrónicos.

Ya puestos y metidos en faena, lo suyo es usarlo junto con cron para que automáticamente se ejecute el websec y para rematar la faena totalmente, jugar con webdiff (que es una parte interna del websec y que crea un archivo html con las diferencias resaltadas en azul).

Para ayudar un poco a que se anime la gente a probarlo, listo unos cuantos pasos (junto con unos archivos guías, que por motivos del servidor web les he añadido la extensión .pdf que hay que retirar al descargarlos) y que se haga la cosa más fácil:

  1. Instalar websec; está en los repositorios de debian para etch, lenny, squeeze y sid, con lo que instalarlo es tan fácil como apt-get, aptitude o synaptic.
  2. Una vez instalado hay que editar (o crearlos) los archivos url.list (que es donde definimos la/s dirección/es web que queremos controlar) e ignore.list (en donde hay unos cuantos parámetros para ignorar cambios sin importancia pero que no he tocado apenas).
  3. Ahora sólo resta configurar el correo para enviar correos desde la terminal siguiendo los pasos de nuestro amigo el informático de guardia con ssmtp.
Hasta aquí lo básico, con esto ya se puede usar websec sin problemas, pero como hemos dicho que queríamos rizar el rizo y que además queríamos usar cron y webdiff, se hace necesario configurar mutt para poder enviar archivos adjuntos desde la terminal, y algún script para usar con cron. Yo he hecho dos, para que haya donde elegir jeje: 1 y 2. Para usar los script hay que crear otro archivo más donde está la dirección. Recuerdo de nuevo que todos los archivos acaban en .pdf y que hay que borrar esa extensión para que funcionen. Y para que lo use cron (aunque estos script pueden usarse sin necesidad de cron, ejecutándolos manualmente) tan solo hay que editar crontab:

#gedit /etc/crontab

Y añadirle la línea correspondiente en función del script elegido y cuando queramos que se ejecute (recuerdo las múltiples opciones de cron):


1 15 * * * usuario /home/usuario/.websec/archive/script-websec # mi script para el websec ;).

Creo que por cuestiones de permisos, como lo he configurado todo para un usuario normal, cuando cron ejecuta el script y no hay cambios en las direcciones que seguimos, envía un correo electrónico innecesario, pero aún no he investigado suficiente.

Bueno, ya he escrito bastante que se ha hecho muy largo la cosa, espero que os animéis a usar el programa y si tenéis alguna duda la comentáis a ver si sabemos resolverla.