Cookies para VBulletin con wget

Hay numerosas páginas con enlaces a Megaupload, Rapidshare, etc, donde sólo se pueden ver dichos enlaces si estás logueado. Si se quiere hacer un script que filtre los enlaces de las descargas para así poder copiarlos y pegarlos en tu gestor de descargas preferido, es necesario usar cookies con wget.

En el siguiente ejemplo he usado una página con el foro VBulletin. Primero hay que conseguir el post-data para pasárselo a wget. Para ello, usaré el sniffer WireShark para obtener el parámetro post-data.

Al ejecutar el WireShark, debemos identificarnos en la página en cuestión y buscar el siguiente dato:

wireshark

Ahí lo tenemos, vb_login_username=….

Ahora debemos guardar la cookie con wget cuando ejecutemos este login sobre el foro:

wget --save-cookies cookies.tmp --keep-session-cookies --post-data='vb_login_username=patata&cookieuser=1&vb_login_password=&s=&securitytoken=guest&do=login&vb_login_md5password=2j5l29gaksd&vb_login_md5password_utf=23lkjga98ljga09JDlsf9s' http://www.foroencuestion.com/login.php

Es importante que se haga sobre login.php

Ya tenemos la cookie en cookies.tmp y ahora se puede ejecutar wget dentro de nuestro script para que se identifique y obtena los enlaces a filtrar:

wget --load-cookies cookies.tmp http://www.foroencuestion.com/showthread.php?t=228

Instalar y configurar Linux-VServer en Debian Lenny

16-10-2010: He encontrado algo similar a Linux-VServer. Es LXC y está integrado en el Kernel. Parece que todo va a tender hacia LXC. si quieres empezar con estas cosas, recomiendo LXC antes que Linux-VServer.

Con Linux-VServer podemos crear jaulas para aislar servicios potencialmente peligrosos de nuestro sistema (i.e., apache, mysql, IRC, …). En comparación con otras alternativas de virtualización (KVM, VMWare, Xen), Linux-VServer no virtualiza todo y esto repercute en un menor consumo de recursos.

Existen dos alternativas para instalar Linux-VServer: con Kernel precompilado desde apt-get y Kernel compilado por nosotros.

Si lo queremos bajar desde los repositorios de Debian:

aptitude install linux-modules-2.6.26-2-vserver-686 util-vserver vserver-debiantools linux-image-2.6.26-2-vserver-686 linux-headers-2.6-vserver-686

Nótese que el paquete linux-headers-2.6-vserver-686 sólo es necesario si queremos compilar algo sobre el Kernel. Si no sabes de lo que hablo, puedes omitir este paquete.

Si lo queremos compilar sobre un Kernel nuestro, debemos comprobar primero que Kernels están soportados en http://vserver.13thfloor.at/Experimental/ Si no existe la versión del Kernel que usamos, podemos bajar uno nuevo desde http://www.kernel.org/pub/linux/kernel/v2.6/

Para compilar e instalar un Kernel nosotros mismos podéis echar un vistazo a https://dajul.com/2009/05/17/compilar-un-nuevo-kernel/. Una vez descomprimido el Kernel, debemos ejecutar (para un Kernel 2.6.27.25):

wget http://vserver.13thfloor.at/Experimental/patch-2.6.27.25-vs2.3.0.36.6.diff
cd linux
cat ../patch-2.6.27.25-vs2.3.0.36.6.diff | patch -p1

Si esta información no es suficiente, hay un caso completo en http://linux-vserver.org/Installation_on_Linux_2.6

Después de parchear el Kernel, continuamos la compilación e instalación del mismo como indico en mi otro post. En este método, deberemos instalar el paquete util-vserver: aptitude install util-vserver vserver-debiantools

Para crear una jaula:

newvserver --vsroot /var/lib/vservers/ --context 10004 --hostname mijaula --domain dajul.com --ip 192.168.1.4/24 --dist lenny --mirror http://ftp.fr.debian.org/debian/ --interface br0

Ciertos parámetros se pueden configurar por defecto en /etc/vservers/newvserver-vars
Para ver las posibilidades: man newvserver

Tras finalizar la instalación de la jaula, debemos hacer lo siguiente para que se inicie automáticamente:

echo "default" > /etc/vservers/mijaula/apps/init/mark

Ahora ya se pueden controlar las jaulas con /etc/init.d/util-vserver {start|stop|forcestop|reload|restart|status}
Para entrar en una jaula: vserver mijaula enter

Configurar exim4 con GMail o Google Apps

Para poder enviar correos electrónicos con una cuenta GMail o de Google Apps se puede hacer muy fácil con Exim.
Los pocos pasos a seguir son estos:

dpkg-reconfigure exim4-config

Ahora preguntará varias cosas. Las respuestas son:

mail sent by smarthost; received via SMTP or fetchmail
tudominio.com
127.0.0.1
en blanco
en blanco
smtp.gmail.com::587
No
No
mbox format in /var/mail/
Yes

Editar el archivo /etc/exim4/passwd.client donde añadiremos:

gmail-smtp.l.google.com:cuenta@tudominio.com:p4ssw0rd
*.google.com:cuenta@tudominio.com:p4ssw0rd
smtp.gmail.com:cuenta@tudominio.com:p4ssw0rd

Reiniciamos Exim: /etc/init.d/exim4 restart

Compilar un nuevo Kernel

Estos son los pasos a seguir para instalar un nuevo kernel en su versión 2.6.29.3. Bajamos y descomprimimos la versión deseada:

cd /usr/src
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.29.3.tar.bz2
tar xjvf linux-2.6.29.3.tar.bz2
ln -s /usr/src/linux-2.6.29.3 linux
cd /usr/src/linux

Copiamos la configuración del kernel que usamos actualmente:

cp /boot/config-2.6.26-1-686 /usr/src/linux

Ejecutaremos el siguiente comando para adaptar el antiguo archivo de configuración a las nuevas características del kernel nuevo. Nos preguntará cosas, yo suelo darle siempre a Enter:

make oldconfig

Después, podremos modificiar lo que queramos con el siguiente comando (si da un fallo, posiblemente sea porque faltan las librerías ncurses -> aptitude install libncurses5-dev):

make menuconfig

Ahora compilamos:

make all && make modules_install

Para que en el inicio cargue los modulos necesarios para el disco duro y sistema de ficheros:

depmod 2.6.29.3 -a
mkinitramfs -o /boot/initrd.img-2.6.29.3 2.6.29.3

Para que copie los ficheros necesarios en /boot:

make install

Sólo queda revistar el grub (o lilo) para ver si todo está bien. En mi caso, que uso grub, quedaría así el /boot/grub/menu.lst:

title       Debian GNU/Linux, kernel 2.6.29.3
root        (hd0,0)
kernel      /boot/vmlinuz-2.6.29.3 root=/dev/hda1 ro
initrd      /boot/initrd.img-2.6.29.3
savedefault

Actualizado: para grub2, sólo hay que hacer update-grub para que actualice la lista de inicio. Por defecto se iniciará en este nuevo kernel.