LinuxParty
Woof (acrónimo de Web Offer One File) es una herramienta sencilla y eficaz para compartir archivos entre equipos en una red local. Funciona como un servidor HTTP ligero que puede servir un archivo específico un número limitado de veces (por defecto, una vez) antes de detenerse.
Lo mejor de Woof es su versatilidad: es multiplataforma gracias a que está desarrollado en Python. Esto significa que puedes usarlo en Windows, Linux o cualquier sistema donde tengas Python configurado correctamente.
Configuración Inicial para Usar Woof
Antes de comenzar a compartir archivos con Woof, asegúrate de configurar correctamente tu entorno:
Habilitar el puerto 8080: Woof utiliza el puerto 8080 para transferir archivos, así que necesitas permitirlo en el cortafuegos del equipo donde lo ejecutas.
En Linux, puedes habilitar el puerto con:
sudo iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT
Guarda las reglas del cortafuegos con:
sudo services iptables save
# Puedes hacer una copia para revisarla para sustituir la de
/etc/sysconfig/ip
tables
, manualmente
sudo iptables-save > /root/mi-copia-cortafuegos.rules
Instalación de Woof en Linux
En Debian/Ubuntu
Instala Woof directamente desde los repositorios:
sudo apt install woof
En otras distribuciones
Descarga el script Woof y hazlo ejecutable:
wget http://www.home.unix-ag.org/simon/woof
chmod a+x woof
sudo mv woof /usr/local/bin
ENVIAR ARCHIVOS.
Si decides no mover el archivo a /usr/local/bin
, o /home/tuusuario/bin, invoca Woof usando ./
:
./woof archivo.txt
Si lo has copiado el archivo en el path de ejecución, que puede ser:
woof archivo.txt
Woof generará una URL (por ejemplo, http://192.168.43.31:8080/
) que podrás compartir con el destinatario. Este podrá acceder al archivo desde un navegador web o herramientas de línea de comandos como wget
o curl
.
Compartir Múltiples Archivos
Aunque Woof está diseñado para un archivo por sesión, puedes comprimir varios archivos en un único archivo tarball antes de enviarlos:
tar -czvf archivos.tar.gz archivo1 archivo2 archivo3
woof archivos.tar.gz
Limitar el Número de Descargas
Puedes controlar cuántas veces puede descargarse un archivo antes de que Woof se detenga:
woof -c 3 archivo.txt
Recibir Archivos con Woof
Para recibir archivos, usa el modo de carga de Woof con la opción -U
. Esto habilita un formulario web donde los usuarios pueden subir archivos:
woof -U
Una vez que el archivo se cargue, estará disponible en el directorio desde donde iniciaste Woof.
Personalización para Teléfonos Inteligentes
Si deseas que la interfaz web de Woof sea más amigable en teléfonos, puedes modificar el código fuente. Por ejemplo, el siguiente código ajusta la interfaz para pantallas pequeñas:
Código personalizado para smartphones:
def do_GET (self): global maxdownloads, cpid, compressed, upload # Form for uploading a file if upload: txt = b"""\ <html> <head><title>Woof Upload</title></head> <body> <h1>Woof Upload</title></h1> <form name="upload" method="POST" enctype="multipart/form-data"> <p><input type="file" name="upfile" /></p> <p><input type="submit" value="Upload!" /></p> </form> </body> </html> """ self.send_response (200) self.send_header ("Content-Type", "text/html") self.send_header ("Content-Length", str (len (txt))) self.end_headers () self.wfile.write (txt) return # Redirect any request to the filename of the file to serve. # This hands over the filename to the client.def do_GET (self): global maxdownloads, cpid, compressed, upload # txt = b"""\ # <html> # <head><title>Woof Upload</title></head> # <body> # <h1>Woof Upload</title></h1> # <form name="upload" method="POST" enctype="multipart/form-data"> # <p><input type="file" name="upfile" /></p> # <p><input type="submit" value="Upload!" /></p> # </form> # </body> # </html> # """ # Form for uploading a file if upload: txt = b"""\ <html> <head><title>Woof Upload</title> </head> <body> <table border="1" cellpadding="1" cellspacing="1" style="height:100%; width:100%"> <tr> <td> <h1><span style="font-size:45px">Woof Upload</span></h1> </td> </tr> <tr> <td> <form class="formatoReporte" name="upload" method="POST" enctype="multipart/form-data"> <p><input style="font-size:200%" type="file" name="upfile" /></p> <p><input style="font-size:200%" type="submit" value="Upload!" /></p> </form> </td> </tr> </table> </body> </html> """ self.send_response (200) self.send_header ("Content-Type", "text/html") self.send_header ("Content-Length", str (len (txt))) self.end_headers () self.wfile.write (txt) return # Redirect any request to the filename of the file to serve. # This hands over the filename to the client.
Recuerda otorgar permisos de ejecución al script modificado:
chmod a+x woof
Comandos Adicionales
Consulta las opciones disponibles de Woof con:
man woof
o
woof -h
Woof es una herramienta increíblemente simple y eficaz para compartir archivos en una red local. Su facilidad de uso y compatibilidad con diferentes sistemas operativos lo convierten en una excelente opción para transferencias rápidas. Si tienes sugerencias o mejoras para este artículo, no dudes en dejar un comentario o contactarnos.
Puedes revisar nuestro artículo que profundiza más sobre ello.
-
Internet
- Compartir o Enviar archivos sin una Red Local o LAN con woof
- Se desactivan cuentas de WordPress.org para colaboradores que supuestamente planean una bifurcación - por el CEO de Automattic
- El director de inteligencia artificial de Microsoft afirma que la inteligencia artificial conversacional reemplazará a los navegadores web
- Cómo usar una VPN en Linux y por qué deberías hacerlo
- La muerte lenta del hipervínculo
- Cómo cambiar dirección IP (modo gráfico), por qué querría hacerlo y cuándo no debería hacerlo
- 10 comandos "IP" útiles para configurar interfaces de red
- Cómo configurar conexiones IP de red usando 'nmcli' en Linux
- Configuración de una IP Estática en una Tarjeta de Red en Linux.
- ¿Migrar a la nube? Marque esta lista de verificación
- Nuevo estándar de Internet L4S: el plan silencioso para hacer que Internet se sienta más rápido
- Nextcloud y Roundcube se Fusionan para Impulsar la Descentralización en la Productividad en la Nube
- Los 10 mejores servidores proxy inversos de código abierto para Linux
- Una guía para principiantes para crear conexiones (Bonding) y puentes de red (Bridging) en Linux
- Conectar dos redes Locales alejadas creando de un Puente Transparente