13 septiembre 2021

Compartir archivos via Transfer.sh en consola

A pesar de su nombre, no se trata de un script, es un sitio web, Transfer.sh es un servicio de alojamiento gratuito que permite a los usuarios almacenar, sincronizar y compartir archivos en línea a otros usuarios, 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.
Todos los archivos se pueden cifrar antes de subirlos.

Subir archivos con Transfer.sh
Todo lo que tenes que hacer es ejecutar el siguiente comando para compartir los archivos:

curl --upload-file OpenVPN.pdf https://transfer.sh/OpenVPN.pdf
 

En este ejemplo, OpenVPN.pdf está situado en mi escritorio.

https://transfer.sh/zZXd7/OpenVPN.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. Podes 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/vampii/Escritorio/OpenVPN.pdf https://transfer.sh/OpenVPN.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/vampii/Escritorio/bash_tips.pdf -F filedata=@/home/vampii/Escritorio/bash_tips_2.pdf https://transfer.sh/

Descargar archivos
Para descargar el archivo, nos basta 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/zZXd7/OpenVPN.pdf -o openVPN.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 hace 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 consola algo como lo siguiente:
cat /home/vampii/Escritorio/archivo.txt|gpg -ac -o-|curl -X PUT --upload-file "-" https://transfer.sh/archivo.txt

Nos pide 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/A29Xd6/archivo.txt

Descifrar y descargar archivos
Para descifrar y descargar el archivo cifrado anterior, no tendremos más que ejecutar:
curl https://transfer.sh/A29Xd6/archivo.txt|gpg -o- > /home/vampii/Escritorio/OpenVPN.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ñadi 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 cerra 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

Que te diviertas!

No hay comentarios:

Publicar un comentario