In breve: se vi piace fare le cose usando il terminale dovete imparare ad usare transfer.sh!

Se avete necessità di condividere rapidamente file di grosse dimensioni transfer.sh (mi raccomando: non è uno script, è un sito internet) è ciò che fa per voi. Le uniche cose che vi serviranno sono un minimo di pazienza per scrivere i comandi correttamente e cURL o Wget, ma probabilmente avete già uno di questi ultimi due.

Il servizio è completamente gratuito e permette di caricare file fino a 10 GB, li salva per ben 14 giorni. E’ anche abbastanza veloce. Il codice è disponibile su GitHub.

Guida rapida all’uso.

La prima cosa che dovete fare è installare cURL. Nelle distribuzioni Debian based è sufficiente dare il seguente comando:

  • sudo apt install curl

Per caricare un file su transfer.sh e ottenere un link da condividere usate il seguente comando:

  • curl --upload-file ./myfile.txt https://transfer.sh/myfile.txt

Dovete chiaramente sostituire “myfile.txt” col nome del file che volete caricare. Una volta terminato l’upload il file può essere scaricato direttamente dalla command line (ad esempio dando “curl -O https://transfer.sh/4ityD/myfile.txt”).

Per caricare più file contemporaneamente dovete dare:

  • $ curl -i -F filedata=@/tmp/hello.txt -F filedata=@/tmp/hello2.txt https://transfer.sh/# Combining downloads as zip or tar archive
    $ curl https://transfer.sh/(15HKz/hello.txt,15HKz/hello.txt).tar.gz
    $ curl https://transfer.sh/(15HKz/hello.txt,15HKz/hello.txt).zip

Mentre per impostare la password ad un file procedete come segue:

  • # Encrypt files with password using gpg
    $ cat /tmp/hello.txt|gpg -ac -o-|curl -X PUT --upload-file "-" https://transfer.sh/test.txt
    # Download and decrypt
    $ curl https://transfer.sh/1lDau/test.txt|gpg -o- > /tmp/hello.txt

Per rendere le cose ancora più semplici potete usare il seguente codice (funziona in bash e in Zsh), aprite ~/.bashrc con un text editor e incollate quanto segue alla fine del file:

  • transfer() { if [ $# -eq 0 ]; then echo "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; }

Salvate poi il file e date il comando:

  • . ~/.bashrc

(NOTA: ci sono un punto e uno spazio prima di ~/.bashrc)

Ecco fatto, ora potete usare semplicemente il comando “transfer” per fare l’upload di un file, in questo modo:

  • transfer myfile.txt

Eccovi uno screenshot:

transfer.sh

Per ulteriori esempi, ad esempio l’uso di Wget invece di cURL, lo scan dei file da parte di un antivirus prima dell’upload, l’uso di keybase.io e molto altro vi rimando al sito ufficiale.

Vi ricordiamo infine che seguirci è molto semplice: tramite la pagina Facebook ufficiale, tramite il nostro canale notizie Telegram e la nostra pagina Google Plus.

Qui potrete trovare le varie notizie da noi riportate sul blog. È possibile, inoltre, commentare, condividere e creare spunti di discussione inerenti l’argomento.

No more articles