Transfer.sh, comparte archivos fácilmente desde la terminal

about transfer.sh

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/

transfer.sh subida multiples archivos

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

transfer.sh descarga archivos

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.

transfer.sh descarga desde navegador

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.


Categorías

Ubuntu

Damian Amoedo

Aficionado a la programación. Apasionado del software libre. Dispuesto a aprender de todo para después contarlo.

2 comentarios

  1.   Badrom dijo

    Hola Damián!

    Gracias por este gran aporte!
    Aprovecho para consultarte que lo he metido en un pequeño script y he tenido que utilizar un “=” en el condicional del parámetro.
    De esta manera me he ahorrado el basename….
    Crees que es buen idea o algún dia petera..

    1.    Damian Amoedo dijo

      Mientras a ti te funcione como quieres, ¿cual es el problema?. Salu2.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *