Squid3: pequeña broma con las imágenes

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

9 Comments

  1. After looking over a number of the articles on your website, I seriously appreciate your way ofwriting a blog. I book-marked it to my bookmark website list and will be checking back in the near future.Take a look at my website too and tell me what youthink.

    Respon
  2. I’d get the Vinyl Swarovski Crystal Cat Safety Collar in Gold w/clear crystals.I’m a subscriber to your newsletter/email.I follow you via GFC. ID: Lynda Dellyndadawinda1074 at yahoo dot com

    Respon
  3. Lägga ner förband, är det något som är bestämt? Det är väl bara på pappret ännu?Man blir mer och mer pessimistisk över hur dumma försvarsledning och politiker är.Den enda vettiga är FP:s Allan Widman.Jag fattar inte varför det ska vara så svårt att skapa ett försvar

    Respon
  4. Este gesto obsceno habla por si solo, no necesita un discurso politico, para que de las entrañas uno sienta que este gesto deberia detenerlos en su inenarrable codicia.

    Respon

Deixa un comentari

L'adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *