Transfer.sh, comparte archivos fácilmente desde la terminal
En el siguiente artículo vamos a echar un vistazo a Transfer.sh. Este es un servicio de alojamiento gratuito. El servicio permite a los usuarios almacenar, sincronizar y compartir archivos en línea a otros usuarios. Todo esto vamos a poder hacerlo desde nuestra terminal en Ubuntu.
Transfer.sh nos permite la subida de archivos sin la necesidad de una cuenta, hasta un máximo de 10 GB. Los archivos se almacenan en el servicio y quedan disponibles para su descarga durante 14 días. Después de este plazo los archivos serán eliminados automáticamente.
Esta es una de las muchas utilidades que podemos encontrar en la terminal. Algunas de ellas están basadas en CLI y otras se basan en GUI, unas son gratuitas y otras serán de pago. Cuando se trata de compartir o transferir archivos grandes desde la línea de comandos a través de Internet, realmente sólo hay unas pocas que funcionales. Una de ellas es Transfer.sh. A pesar de su nombre, no se trata de un script, es un sitio web. Esta página nos va a permitir compartir archivos a través de Internet de forma fácil y rápida. No es necesario instalar nada, excepto cURL o wget. La mayoría de las distribuciones de Gnu/Linux nos traen preinstaladas estas utilidades. Por lo tanto, no es necesario instalar nada, realmente.
Transfer.sh nos va a permitir cargar archivos de hasta 10 GB de una sola vez. Todos los archivos compartidos caducan automáticamente después de 14 días (tiempo más que suficiente para compartirlos), por lo que no es necesario preocuparse por eliminarlos de manera manual. Nos va a permitir subir un solo archivo o grupo de ellos de una sola vez. Todos los archivos se pueden cifrar antes de subirlos. Podemos escanear los archivos cargados de malware o virus con ClamAV o VirusTotal. Y por supuesto, es completamente GRATIS. Para obtener más información acerca de este proyecto se puede consultar en la página web del proyecto.
Compartir o transferir archivos mediante transfer.sh no es nada complicado. En primer lugar, vamos a ver como cargar los archivos.
Subir archivos con Transfer.sh
Todo lo que tienes que hacer es ejecutar el siguiente comando para compartir los archivos:
curl --upload-file ENTREUNOS.pdf https://transfer.sh/ENTREUNOS.pdf
En este ejemplo, ENTREUNOS.pdf está situado en mi escritorio.
https://transfer.sh/bZNd9/ENTREUNOSYCEROS.pdf
Cuando se completa la carga, el servicio nos devuelve el vínculo de descarga único del archivo, como el que se ve en la línea anterior. Puedes pasarle esta URL a cualquiera que desees para descargar y utilizar este archivo.
También es posible cargar archivos utilizando ‘wget’.
wget --method PUT --body-file=/home/sapoclay/Escritorio/ENTREUNOS.pdf https://transfer.sh/ENTREUNOSYCEROS.pdf -O - -nv
Esta utilidad nos va a permitir cargar varios archivos de una sola vez. Para hacerlo solo tendremos que ejecutar una orden con la misma estructura como la siguiente:
curl -i -F filedata=@/home/sapoclay/Escritorio/bash_tips.pdf -F filedata=@/home/sapoclay/Escritorio/bash_tips_2.pdf https://transfer.sh/
Descargar archivos
Para descargar el archivo, ejecuta nos vasta con utilizar una orden como la siguiente. En ella indicamos la URL a descargar y el nombre del archivo que se creará en nuestro equipo:
curl https://transfer.sh/bZNd9/ENTREUNOSYCEROS.pdf -o entreunosyceros.pdf
De forma alternativa, podremos pre-visualizar la descarga y realizar la misma desde nuestro navegador Web. Simplemente coloca el enlace de descarga en la barra de direcciones y haz clic en el botón “download” para descargar el archivo compartido.
Cifrar y subir archivos
Para mayor seguridad esta aplicación nos va a permitir cifrar y subir los archivos. Para cifrar y cargar archivos, ejecutaremos en la terminal algo como lo siguiente:
cat /home/sapoclay/Escritorio/archivo.txt|gpg -ac -o-|curl -X PUT --upload-file "-" https://transfer.sh/archivo.txt
Se nos pedirá que escribamos una frase de contraseña dos veces. La aplicación nos dará el enlace de descarga del archivo cifrado. Que será algo parecido a lo siguiente:
https://transfer.sh/140GNQ/archivo.txt
Descifrar y descargar archivos
Para descifrar y descargar el archivo cifrado anterior, no tendremos más que ejecutar:
curl https://transfer.sh/140GNQ/archivo.txt|gpg -o- > /home/sapoclay/Escritorio/entreunosyceros.txt
Añadir alias
Si planeamos utilizar este servicio con frecuencia, podemos plantearnos agregar alias a los archivos .bashrc o .zshrc para hacer este comando aún más sencillo de utilizar.
Si utilizas shell BASH, edita el archivo ~ / .bashrc:
sudo vi ~/.bashrc
Añade las líneas siguientes al final del archivo.
transfer() { if [ $# -eq 0 ]; then echo -e "No arguments specified. Usage:\necho transfer /tmp/test.md\ncat /tmp/test.md | transfer test.md"; return 1; fi tmpfile=$( mktemp -t transferXXX ); if tty -s; then basefile=$(basename "$1" | sed -e 's/[^a-zA-Z0-9._-]/-/g'); curl --progress-bar --upload-file "$1" "https://transfer.sh/$basefile" >> $tmpfile; else curl --progress-bar --upload-file "-" "https://transfer.sh/$1" >> $tmpfile ; fi; cat $tmpfile; rm -f $tmpfile; }
Guarda y cierra el archivo. A continuación, ejecute el siguiente comando para que comiencen a tener efecto los cambios guardados.
source ~/.bashrc
Ahora, ya vas a poder cargar y descargar archivos como se muestra a continuación.
transfer archivo.txt
Esto último como se puede ver, nos hará mucho más sencilla la utilización de este útil programa de terminal.
El artículo Transfer.sh, comparte archivos fácilmente desde la terminal ha sido originalmente publicado en Ubunlog.