viernes, 9 de julio de 2010

Comprobar links de megaupload desde bash

Gracias a Mungu ayer descubrí que bash puede abrir conexiones tcp/ip directamente, sin depender de netcat ni telnet, así que ahí va una pequeña prueba/experimento...

Dice "OK" y sale con 0 si el link a megaupload es correcto, o dice "Invalid link" y sale con 1 si es incorrecto.

Actualizado: ahora funciona también con links sin "www"


#!/usr/bin/env bash

if [ "$1" = "" ]; then
    echo "No has especificado una dirección"
    exit 1
else
    path="/?"`echo $1|cut -d? -f2`
fi

# Request webpage
exec 3<>/dev/tcp/www.megaupload.com/80
echo -en "GET $path HTTP/1.1\r\n" >&3
echo -en "HOST: www.megaupload.com\r\n" >&3
echo -en "Connection: close\r\n\r\n" >&3
cat <&3|grep "Invalid link" >> /dev/null

result=$?
if [ $result -ne 0 ];then
    echo "OK"
    result=0
else
    echo "Invalid link"
    result=1
fi
exit $result


[Referencias]
Bash socket programming with /dev/tcp

2 comentarios: