Cómo compartir archivos por Internet y desde la terminal con transfer.sh

Hoy en día estamos constantemente compartiendo y sincronizando nuestros archivos por Internet. Utilizamos Google Drive, Dropbox o Box, por mencionar las 3 primeras opciones que se me ocurren. Estos archivos solemos tenerlos en nuestro ordenador pero, ¿qué pasa si queremos subir a internet archivos que están en un servidor Linux? ¿Y si simplemente queremos subir un archivo a Internet y compartirlo con el resto del mundo mediante la línea de comandos?

He descubierto recientemente un servicio llamado transfer.sh que nos permite compartir archivos en Internet haciendo uso de la consola. ¿Qué hay más rápido que la consola para ciertas tareas?

Transfer.sh nos permite subir archivos de cualquier tipo con un tamaño de hasta 10GB de forma gratuita. Estos archivos se borrarán automáticamente a los 14 días y se pueden compartir mediante URL para previsualizarlos desde un navegador, además de estar encriptados.

¿Cómo se utiliza transfer.sh?

Es muy sencillo y de hecho no tienes que instalar nada. Basta con tener curl en nuestra terminal de Linux o MacOS, aunque también podemos utilizarlo con Powershell en Windows.

$ curl --upload-file ./geekytheory.txt https://transfer.sh/geekytheory.txt
https://transfer.sh/FkiX6/geekytheory.txt

Si entramos a la URL al momento de haber subido el archivo, veremos el contenido del archivo.

Además, podemos pasarle parámetros como el número máximo de descargar permitidas y los días que debe tardar el archivo en borrarse:

$ curl -H "Max-Downloads: 3" -H "Max-Days: 1" --upload-file ./geekytheory.txt https://transfer.sh/geekytheory.txt
https://transfer.sh/LTTsd/geekytheory.txt

Para descargar un archivo cualquiera, también utilizaremos curl:

$ curl https://transfer.sh/LTTsd/geekytheory.txt -o geekytheoryDescargado.txt

Con la opción -o especificamos el archivo de destino en el que se descargará nuestro fichero desde transfer.sh.

Cómo utilizar transfer.sh con Powershell

Los que utilicéis Powershell no habéis sido olvidados, ya que también podemos utilizarlo con transfer.sh mediante invoke-webrequest:

PS C:\> invoke-webrequest -method put -infile .\geekytheory.txt https://transfer.sh/geekytheory.txt

Tenéis muchísimos más ejemplos en la página web de transfer.sh con los que podréis ver cómo enviar incluso un email automatizado con el enlace generado o subir múltiples ficheros.

¿Qué os parece esta herramienta? Seguro que a los administradores de sistemas os es de utilidad. ¡Yo ya he empezado a usarla!