14 abril 2009

Droopy: Recibiendo Archivos por http

Hace unos días explicaba Cómo Enviar Ficheros Grandes por E-mail. Hoy tengo otra solución diferente.



Vamos a crear un mini Servidor Web temporal que nos va a permitir recibir ficheros por el protocolo http.

Todo lo que hay que hacer es descargarnos Droopy.py, un sencillo pero práctico script hecho en Pyton que nos permite comunicarnos con la persona que queramos para facilirarle el envío de archivos a nuestro ordenador. Yo lo he probado con Linux y me funciona perfectamente. Además parece que también funciona en otros sistemas operativos. El único requisito es tener Pyton instalado. (Ubuntu ya lo lleva de serie).

Después de descargar Droopy le damos permisos de ejecución y lo movemos a la carpeta /bin/
Lo que queda por hacer es ir a un directorio donde queramos recibir las descargas. Si fuera el Escritorio simplemente ponemos cd Escritorio y luego ejecutamos el script:
python ~/bin/Droopy.py -m "Hola, soy Yo, Me puedes enviar un fichero!" -p ~/avatar.png
A la persona que te va a enviar el fichero le dices que teclee http://tuDirecciónIP:8000 en la barra de direcciones del navegador.

8000 es el puerto que viene configurado en Droopy, y tuDirecciónIP la de tu ordenador.
Ya debes saber que existe la dirección Ip interna, la que te da el router y la externa, la que tiene el router.

Lo mejor es empezar por hacer una prueba a nivel interno entre ordenadores de la misma red (los que están conectados al router). La dirección IP interna de tu ordenador la puedes averiguar facilmente con el comando ifconfig (en Linux) ó ipconfig (en Windows). Esa dirección puede ser algo parecido a 192.168.1.x, o sea que en el ordenador de tu amigo se pone http://192.168.1.x (sustituye x por el número real) y saldrá el mensaje que has enviado junto con tu bonito avatar.
A partir de ese momento ya te puede enviar cualquier archivo.

En cuanto salgas de la terminal el mini servidor dejará de actuar y no podrás recibir más archivos hasta que lo vuelvas a abrir.

Si lo que necesitas es una comunicación por internet, con un usuario que no esté dentro de tu red vas a necesitar un servicio que convierta tu ip dinámica en un nombre dns. Por ejemplo, no-ip, que lo ofrece gratuitamente. A tu amigo le das la dirección http://TuNombre.no-ip.org:8000 y el resultado será el mismo que en la red interna.

A veces no es tan facil como lo he explicado, porque tu propio router actúa como cortafuegos y tendrás que abrir algunos puertos. Una manera provisional es poner TuDirecciónIP dentro de la zona DMZ (desmitalirizada).

Estas breves explicaciones te pueden servir como pruebas si más adelante quieres montarte un servidor web, pero en ese caso deberías tener en cuenta factores de seguridad que son algo más complejas.

No hay comentarios:

Publicar un comentario