Blackhold

Squid3: pequeña broma con las imágenes

Posted on desembre 11th, 2012 by admin

Hace ya mucho tiempo, cuando empezaba con la administración de sistemas a mis compañeros de piso les hice una pequeña broma, monté un proxy transparente e hice pasar todas las conexiones http por este server, y una vez ahí me dediqué a girarles las imágenes.

Así que vamos a hacer lo mismo :)

No entro en detalles de como montar un proxy transparente, haced uso del buscador de este mismo blog y encontraréis la respuesta!

Contamos con una maquina que tiene apache y squid3 instalado, así que crearemos un directorio donde se guardaran las imágenes modificadas, por ejemplo /var/www/images, que será accesible desde http://ipdelservidor/images/.

Creamos el directorio y le damos permisos a www-data:

# cd /var/www
# mkdir images
# chown -R www-data:www-data images

Y cruzamos los grupos de los usuarios proxy y www-data, para que puedan leer los directorios necesarios para la bromita :)

# usermod -aG www-data proxy
# usermod -aG proxy www-data

También añadiremos una línea al /etc/crontab para ir borrando espontáneamente las imagenes:

*/10 * * * * proxy rm /var/www/images/*

Luego creamos un script de perl en /etc/squid3/broma.pl con este contenido:

#!/usr/bin/perl
$|=1;
$count = 0;
$pid = $$;
while () {
        chomp $_;
        if ($_ =~ /(.*.jpg)/i) {
                $url = $1;
                system("/usr/bin/wget", "-q", "-O","/var/www/images/$pid-$count.jpg", "$url");
                system("/usr/bin/mogrify", "-flip","/var/www/images/$pid-$count.jpg");
                print "http://127.0.0.1/images/$pid-$count.jpgn";
        }
        elsif ($_ =~ /(.*.gif)/i) {
                $url = $1;
                system("/usr/bin/wget", "-q", "-O","/var/www/images/$pid-$count.gif", "$url");
                system("/usr/bin/mogrify", "-flip","/var/www/images/$pid-$count.gif");
                print "http://127.0.0.1/images/$pid-$count.gifn";

        }
        elsif ($_ =~ /(.*.png)/i) {
                $url = $1;
                system("/usr/bin/wget", "-q", "-O","/var/www/images/$pid-$count.png", "$url");
                system("/usr/bin/mogrify", "-flip","/var/www/images/$pid-$count.png");
                print "http://127.0.0.1/images/$pid-$count.pngn";

        }
        else {
                print "$_n";;
        }
        $count++;
}

Le damos permisos de ejecución y le asignamos el usuario proxy

# chmod u+x /etc/squid3/broma.pl
# chown proxy:proxy /etc/squid3/broma.pl

Le decimos a squid3 que lo ejecute, añadiendo este parámetro en el fichero de configuración:

url_rewrite_program /etc/squid3/broma.pl

Y reiniciamos squid para aplicar los cambios:

# service squid3 restart

Si las imágenes no se giran, es que nos faltará instalar imagemagick:

# apt-get install imagemagick

Happy Joking :D

This entry was posted on dimarts, desembre 11th, 2012 at 19:25 and is filed under Humor, proxy. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

« »

guy fawkes