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:
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:
apt install xclip
Para sistemas RHEL, Centos, Scientific Linux
yum install xclip
Si usamos Fedora
dnf install xclip
En OpenSUSE:
zypper -i xclip
En sistemas Arch y derivados:
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
snap install ffsend
Ffsend –help #Para obtener ayuda
Otra forma es utilizar las ficheros precompilados.
Una vez descargado, realizamos los siguientes pasos:
# 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.
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:
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»
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» :
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:
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.
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:
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.