Bloquear facebook con iptables

Tenemos un proxy transparente con squidguard bloqueando algunas webs, pero sólo se bloquean las webs que no són https, ya que si le indicamos que las conexiones https se envien al proxy, nos encontramos que se modifica la cadena de verificación de las webs a las cuales accedemos por https y nos avisa de un “man in the middle”.

Para ello tenemos dos opciones, ssl-bump de squid3, con el que le pasamos un certificado intermedio o usamos reglas de iptables. La primera opción no se ha dejado, así que he pasado a la opción de bloquearlas con iptables.

Lo primero que tenemos que saber es que si pasan conexiones https a través de nuestro servidor proxy transparente, dichas conexiones van cifradas y no es posible distingir la url a la que se dirigen. Para ello tenemos que filtrar por IP, pero… si lo que queremos bloquear es un site con muchas ips y además de que pueden ir variando, la cosa se complica.

Por suerte tras buscar un poco he encontrado una solución realmente interesante. Con un poco de bash y una petición al AS de facebook, podemos sacar los rangos de IPs con los cuales trabaja esta empresa.

# BLOCK FACEBOOK
for i in $(/usr/bin/whois -h whois.radb.net '!gAS32934' | tr ' ' 'n' | sort -n -k1,1 -k2,2 -k3,3 -k4,4 |grep /)
do iptables -A FORWARD -d $i -j DROP
done

Luego si queremos ver como se ha aplicado la regla

# iptables -L -n 

Adicionalmente, aunque la dejo …

Descargar vídeos de vimeo pro

Pues vimeopro, es como vimeo, pero con un pro detrás :P

Primero de todo tenemos un vídeo en vimeopro, tendremos que conseguir acceder al vídeo tal cual:

Teniendo por ejemplo éste vídeo:

http://vimeopro.com/staff/originals/video/23156561

vamos al código y localizamos el vínculo para aislarlo del resto del interfaz de vimeo:

http://player.vimeo.com/video/23156561?portfolio_id=168

y eliminamos la parte ?portfolio_id=168 y nos quedará así:

http://player.vimeo.com/video/23156561

finalmente ejecutamos éste script (Descarga)…

Marcha imperial con bash (beep)

# apt-get install beep
$ vi marcha_imperial.sh

#!/bin/bash

beep -l 350 -f 392 -D 100 --new -l 350 -f 392 -D 100 --new -l 350 -f 392 -D 100 --new -l 250 -f 311.1 -D 100 --new -l 25 -f 466.2 -D 100 --new -l 350 -f 392 -D 100 --new -l 250 -f 311.1 -D 100 --new -l 25 -f 466.2 -D 100 --new -l 700 -f 392 -D 100 --new -l 350 -f 587.32 -D 100 --new -l 350 -f 587.32 -D 100 --new -l 350 -f 587.32 -D 100 --new -l 250 -f 622.26 -D 100 --new -l 25 -f 466.2 -D 100 --new -l 350 -f 369.99 -D 100 --new -l 250 -f 311.1 -D 100 --new -l 25 -f 466.2 -D 100 --new -l 700 -f 392 -D 100 --new -l 350 -f 784 -D 100 --new -l 250 -f 392 -D 100 --new -l 25 -f 392 -D 100 --new -l 350 -f 784 -D 100 --new -l 250 -f 739.98 -D 100 --new -l 25 -f 698.46 -D 100 --new -l 25 -f 659.26 -D 100 --new -l 25 -f 622.26 -D 100 --new -l 50 -f 659.26 -D 400 --new -l 25 -f 415.3 -D 200 --new -l 350 -f 554.36 -D 100 --new -l 250 -f 523.25 -D 100 --new -l 25 -f 493.88 -D 100 --new -l 25 -f 466.16 -D 100 --new -l 25 -f 440 -D 100 --new -l 50 -f 466.16 -D 400 --new -l 25 -f 

Dividir videos con el ffmpeg

Tenemos un vídeo demasiado largo y queremos partirlo en distintas partes:

$ ffmpeg -vcodec copy -ss 00:00:00 -t 00:15:00 -i input.avi output.avi

el -ss para indicar el inicio del vídeo
el -t para indicar el tiempo del vídeo

y apa!…

Ver todos los crontab de los usuarios

Estás documentando y quieres ver todo lo que hace la máquina, /etc/crontab y /etc/cron.d/ no muestran nada, tienes tropocientos usuarios y acceder a cada uno a ver si tiene ejecuciones de cron es un martirio, por suerte tenemos a bash al rescate:

# for user in $(cut -f1 -d: /etc/passwd); do echo $user; crontab -u $user -l; done

zip excluir directorios

Para excluir directorios en un zip hay 2 formas:

$ zip fichero.zip directorio/* -x@excluir.lst

separas los directorios a excluir con saltos de línea

o

$ zip fichero.zip directorio/* -x directorio/dir1/* directorio/dir2/dir3/* directorio/dir4/*

o

$ zip fichero.zip ./* -x ./dir1/* ./dir2/dir3/* ./dir4/*