LinuxParty

NUESTRO SITIO necesita la publicidad para costear hosting y el dominio. Por favor considera deshabilitar tu AdBlock en nuestro sitio. También puedes hacernos una donación entrando en linuxparty.es, en la columna de la derecha.
Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado
 

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/iptables, 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:

Para hacer más usable el programa en teléfonos smartphone, hemos modificado el código de la línea 224 y lo hemos quedado de la siguiente manera.

Código original

   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.

 Código modificado:

O puede directamete utilizar el código fuente ya modificado desde éste post:

 woof Código fuente  

   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.

 

No estás registrado para postear comentarios



Redes:



   

 

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

Probablemente te niegues, pero.. ¿Podrías ayudarnos con una donación?


Tutorial de Linux

Filtro por Categorías