FFSend: Compartir ficheros de forma segura desde la línea de comandos
Aprendemos a utilizar la herramienta FFSend, que utiliza Firefox Send, desde la terminal de comandos en GNU/Linux. De esta manera vamos a poder compartir ficheros y carpetas de forma fácil y segura, desde la línea de comandos, a través de un enlace seguro, cifrado y privado, mediante un solo comando simple.
Los archivos se comparten mediante el servicio de Send de Firefox y puede ser hasta de 2 GB de tamaño. Los ficheros compartidos se pueden descargar utilizando la misma herramienta, o bien a través de un navegador web.
Los ficheros siempre están cifrados en el cliente y los secretos se comparten con el host remoto. Se puede especificar una contraseña opcional o se le puede aplicar una duración de tiempo. Incluso limitar el número de descargas o poner el enlace disponible no más de 24 horas.
Veamos sus principales características:
- Herramienta de línea de comandos completa y amigable
- Sube o descarga ficheros de forma segura.
- Siempre cifrado en el lado del cliente.
- Posibilidad de contraseña provisional, generación y límites de descargas, de forma configurable.
- Acortador de URL compartido incorporado y generador de código QR.
- Soporte versiones de servidor Firefox antiguas y nuevas.
- Historial de seguimiento de los ficheros para una fácil gestión.
- Posibilidad de utilizar hosts de envío personalizados.
- Inspeccionar o borrar archivos compartidos.
- Informe de errores.
- Streaming de cifrado y carga/descarga
- Diseñado para utilizar scripts sin interacción.
Además se está trabajando para realizar una integración completa con una cuenta de Firefox.
Instalación de FFSend en GNU/Linux
La herramienta es multiplataforma, ya que está disponible para GNU/Linux, macOS y Microsoft Windows. En el caso del sistema del Ñu y el Pingüino, debemos tener instalados los herramientas de OpenSSL y certificados CA.
En sistemas Debian, Ubuntu, Linux Mint y similares:
1 | apt install openssl ca-certificates |
También se puede añadir el soporte para el portapapeles con “xclip”.
En Debian, Ubuntu, Linux Mint y similares:
1 | apt install xclip |
Para sistemas RHEL, Centos, Scientific Linux
1 | yum install xclip |
Si usamos Fedora
1 | dnf install xclip |
En OpenSUSE:
1 | zypper -i xclip |
En sistemas Arch y derivados:
1 | pacman -S xclip |
Ahora sí, ya podemos instalar el producto.
Al igual que con otros productos existen diferentes formas de instalación. La primera es utilizar el paquete SNAP
1 2 | snap install ffsend Ffsend –help #Para obtener ayuda |
Otra forma es utilizar las ficheros precompilados.
Una vez descargado, realizamos los siguientes pasos:
1 2 3 4 5 6 7 | # Renombramos el fichero binario ffsend mv ./ffsend-* ./ffsend # Marcamos el binario como ejecutable chmod a+x ./ffsend # Move binary into path, to make it easily usable sudo mv ./ffsend /usr/local/bin/ ffsend --help |
Y ya podemos empezar.
Probando FFSend, mi experiencia
Las pruebas han sido en una distribución Ubuntu 18.04, en un VPS en Clouding.io
He utilizado el paquete suministrado por SNAP, la instalación ha sido muy fácil.
1 2 3 4 5 | root@servubuntu:~# snap search ffsend Name Version Publisher Notes Summary ffsend 0.2.38 timvisee - Easily and securely share files from the command line. root@servubuntu:~# snap install ffsend ffsend 0.2.38 from Tim Visée (timvisee) installed |
La primera prueba era crear un enlace sin contraseña para el fichero (magnet de Torrent) del fabuloso curso que hizo en su día el amigo Jen0f0nte, publicado en Colaboratorio.net, sobre Fotografía Libre de Alta Calidad.
Utilizamos el parámetro «upload«, como sigue:
1 2 3 | root@servubuntu:~# ffsend upload fotografia_libre.zip Upload complete Share link: https://send.firefox.com/download/f294a4bd57/#owXf2RW51OEzo-CyT5w_bA |
Si probamos el enlace (ni trampa ni cartón amigo!), podemos ver el fichero disponible consultando la URL:
Ahora subiremos de nivel, asignaremos una contraseña al fichero, utilizando el parámetro «–password»
1 2 3 4 | root@servubuntu:~# ffsend upload 0-ninja-collectd-influxdb-grafana.pdf --password Password: Upload complete Share link: https://send.firefox.com/download/18dcba943d/#-Dv9-EnjxOHGatKMShzVKw |
En este caso he utilizando el documento de la guía creada por el colega Emiliano de Linuxito.com, sobre Collectd, InfluxDB y Grafana.
En primera instancia nos pedirán la contraseña:
Una vez puesta ya podemos acceder:
Si ya no nos interesa compartir el fichero lo podemos eliminar, utilizando el parámetro «delete» :
1 2 | root@servubuntu:~# ffsend delete https://send.firefox.com/download/3493f7a605/#K5uKfpOD7SJeoGJochI55g File deleted |
Supuestamente con el parámetro «–downloads» podemos limitar el número de descargas hasta 20. Pero a mi no me ha dejado indicar más de 1, otro número diferente me muestra un mensaje de error. Tenemos una «issue» abierta al respecto. Comentan «Parece que el límite de descarga actual para usuarios no autenticados se ha reducido a solo 1, en el servicio público send.firefox.com. Por lo tanto, el servidor rechaza la cuenta de descargas de 2 con el error 400 que se muestra«, aunque esperan que la herramienta en breve pueda dar soporte a la autentificación de los usuarios.
Una vez hemos subido un fichero y ya lo tenemos cifrado con una contraseña asignada, por ejemplo el libro sobre el editor Writer dentro de la suite Libre Office, creado por El Pingüino Tolkiano, llamado «Domando al escritor«, podemos descargarlo en la consola utilizando el parámetro «download«. Veamos un ejemplo:
1 2 3 4 5 6 | root@servubuntu:~# ffsend upload dae-final-2018-10-05.pdf --downloads 1 --password Password: Upload complete Share link: https://send.firefox.com/download/8b9d7076e4/#vgsgNfICqTt7Sm2BdTGQSQ root@servubuntu:~# ffsend download https://send.firefox.com/download/8b9d7076e4/#vgsgNfICqTt7Sm2BdTGQSQ Password: Download complete |
Otro parámetro es «history«, que muestra información de todos los enlaces compartidos.
1 2 3 4 5 6 7 | root@servubuntu:/# ffsend history # LINK EXPIRY 1 https://send.firefox.com/download/8b9d7076e4/#vgsgNfICqTt7Sm2BdTGQSQ 23h57m 2 https://send.firefox.com/download/aa5d490b38/#G9JSQ70t_Nyd3Fv4u7eiKQ 23h45m 3 https://send.firefox.com/download/029477837c/#AigQS2_Tz3FaLOJMw3LrEA 23h45m 4 https://send.firefox.com/download/94d12e8ee0/#MOfk2WmFth37XanP3Qp2Eg 23h44m 5 https://send.firefox.com/download/4d58a81502/#pYTc9TAD2yVvAG_NiLv-dw 23h44m |
También, con «info» nos muestra información de un enlace:
1 2 3 4 | root@servubuntu:/# ffsend info https://send.firefox.com/download/4d58a81502/#pYTc9TAD2yVvAG_NiLv-dw ID: 4d58a81502 Downloads: 0 of 1 Expiry: 23h43m (85424s) |
Y esto es todo.
Conclusión
Está claro que tanto la iniciativa de Firefox Send como la de la herramienta FFSend son muy interesantes, siempre son de agradecer para tener unas comunicaciones más seguras. Aún así la herramienta la encuentro bastante verde, ya que solo he conseguido instalarla sin problemas en Ubuntu 18.04; en Centos 7 ha sido imposible, por un largo número de errores, que me hicieron desistir. Además todavía tiene cosas a mejorar y a pulir, como indicar el número máximo de descargas o la integración de usuarios. Mantendré el proyecto en observación, quizás más adelante realice una actualición de este artículo.
Podéis consultar la página web del proyecto en GitHub.
para Arch, esta disponible en los repositorios de aur, asi la intalacion es super sencilla,
yaourt ffsend
y listo