Lo ammetto, adoro la riga di comando. È uno strumento semplice ma dalle potenzialità incredibili e anche se ai meno smaliziati può mettere un po' di soggezione, una volta fatto un minimo di pratica, diventa uno strumento indispensabile per qualunque smanettone! Una delle cose che non è molto intuitivo pensare di poter fare con il Terminale/Prompt/Console è condividere un file utilizzando uno dei tanti servizi online come Imgur, PiXhost (per le immagini), sendvid o Gfycat (per i video) o transfer.sh e File.io (per qualunque altro tipo di file) e invece è possibile con Anypaste.

Condividi facilmente file Terminale/Prompt/Console Anypaste (Linux/MacOS/Windows/Android/iOS)

Anypaste non è altro che un elaborato script per bash che consente di caricare automaticamente su uno dei siti di hosting supportati, un file passato come argomento al programma. Si avvale di plugin per poter supportare i siti di hosting e se tra questi non c'è il sito che vi interessa, potete provare a creare il plugin voi stessi anche se i più preferiranno chiedere allo sviluppatore di farlo per loro, con una richiesta sul Github del progetto.L'installazione è semplicissima, basta semplicemente scaricare lo script (preferibilmente nel path /usr/local/bin/) e assegnargli il permesso di esecuzione. Naturalmente possiamo farlo direttamente dal terminale con i comandi:

sudo curl -Lo /usr/local/bin/anypaste https://anypaste.xyz/sh

sudo chmod +x /usr/local/bin/anypaste

Condividi facilmente file Terminale/Prompt/Console Anypaste (Linux/MacOS/Windows/Android/iOS)

Gli utenti MacOS dovranno prima creare il percorso suddetto perché non presente di default con il comando:

sudo mkdir -p /usr/local/bin

È possibile utilizzare anypaste anche su Windows attraverso il WSL con i medesimi comandi riportati sopra; vedremo in seguito come fare per Android e iOS.

» Leggi: Linux su Windows 10: la Grande Guida a WSL2. Come installare Sottosistema Windows per Linux (WSL), eseguire programmi, accedere ai file (video)

Adesso che abbiamo installato anypaste passiamo ad installare le dipendenze necessarie per farlo lavorare correttamente. Con le dovute dipendenze infatti, Anypaste è in grado di riconoscere il tipo di file (immagine, audio, video, documento, ... ) passato come argomento e scegliere autonomamente il plugin più adatto (o quello che preferiamo se specificato nella configurazione) per caricarlo sul sito di hosting apposito.

Dovremo installare nel modo previsto dalla nostra distro i seguenti pacchetti: file e ffmpeg (che contiene ffprobe, necessario per riconoscere il tipo di video). Ad esempio sulle derivate di Debian (Ubuntu, Mint, ... ) il comando sarà:

sudo apt install file ffmpeg

» Leggi: Come si installa un programma su Linux?

A questo punto passiamo alla configurazione di Anypaste. Per prima cosa creiamo nella nostra home un file di configurazione base da editare in seguito, con il comando

anypaste -C

Andiamo adesso a modificare il file appena creato con il nostro editor preferito, ad esempio, nano:

nano ~/.config/anypaste.conf

Condividi facilmente file Terminale/Prompt/Console Anypaste (Linux/MacOS/Windows/Android/iOS)

L'operazione da fare sarà decommentare (cioè rimuovere il simbolo # all'inizio della riga) le linee seguenti per abilitare tutti i plugin.

ap_plugins=(

'sendvid' 'streamable' 'gfycat' # Videos/Gifs

'tinyimg' 'imgur' 'vgyme' # Images

'clyp' # Audio

'hastebin' 'ixio' # Text

'docdroid' # Documents

'dmca_gripe' 'transfersh' 'fileio' # Generic

)

Come potete vedere, i plugin sono disposti su righe diverse in base al tipo di file e per alcuni tipi ci sono più plugin disponibili; se non specificato diversamente il plugin utilizzato di default sarà il primo della fila, per così dire. Potremo quindi pensare di cambiare l'ordine in base alle nostre preferenze. Vedremo poi come fare per far sì che anypaste richieda quale plugin vogliamo utilizzare.

Condividi facilmente file Terminale/Prompt/Console Anypaste (Linux/MacOS/Windows/Android/iOS)

A questo punto possiamo provare subito se anypaste funziona correttamente, provando a caricare un file, ad esempio una immagine con il comando

anypaste img.png

Condividi facilmente file Terminale/Prompt/Console Anypaste (Linux/MacOS/Windows/Android/iOS)

Come si può vedere dallo screenshot sopra, se fallisce il caricamento sul primo sito, anypaste passa automaticamente al secondo o al terzo se disponibili e, quando l'operazione va a buon fine, restituisce l'indirizzo dove possiamo trovare la nostra immagine appena caricata.

Se vogliamo che anypaste ci chieda quale plugin utilizzare per caricare il nostro file, possiamo passare l'opzione -i prima del percorso al nostro file.

anypaste -i img.png

Con questa opzione, il caricamento dei file non è automatico ma interattivo; anypaste chiederà prima se vogliamo che venga determinato automaticamente il tipo di file: se scegliamo di sì ci verranno proposti i plugin compatibili, se scegliamo di no, ci verranno proposti tutti i plugin. La seconda scelta che dovremo fare sarà quella del plugin desiderato e potremo farla digitando il nome anche parziale del plugin che vogliamo. A questo punto il comportamento sarà il solito visto in precedenza: il file sarà caricato e verrà restituito il link dove potremo trovarlo.

Condividi facilmente file Terminale/Prompt/Console Anypaste (Linux/MacOS/Windows/Android/iOS)

Condividi facilmente file Terminale/Prompt/Console Anypaste (Linux/MacOS/Windows/Android/iOS)

Trovo molto utile questa modalità interattiva tanto da volerla rendere la mia scelta predefinita e posso farlo creando un semplice alias nel file ~/.bashrc

echo "alias anypaste='anypaste -i'" >> ~/.bashrc

In questo modo ogni volta che digiterò anypaste sarà come se avessi digitato anypaste -i. Già che ci sono posso inserire un alias anche per l'aggiornamento di anypaste. Dato che per aggiornalo si deve semplicemente riscaricare lo script in maniera analoga a come lo abbiamo installato posso aggiungere:

echo "alias_anypaste_update='sudo curl -Lo /usr/local/bin/anypaste https://anypaste.xyz/sh'

Così per aggiornare anypaste dovrò soltanto scrivere anypaste_update

Come detto trovo questo script molto utile anche per un utilizzo saltuario ma lo trovo tanto più utile sul mio telefono!! Alcuni dei siti in questione infatti tendono a forzare l'utente ad installare la propria app (vedi Imgur.com). Se facessi un utilizzo intensivo di questi servizi, installare l'app non sarebbe un problema anzi sarebbe sicuramente il modo migliore e più veloce per utilizzare questo o quel servizio ma dato che mi capita di utilizzarli di rado non mi va di scaricare un app per ogni servizio. Inoltre, volete mettere la comodità di non doversi nemmeno ricordare il nome del servizio per cercare il sito (anche se inserito nei preferiti)? Per fortuna Anypaste può funzionare facilmente anche su Android e su iOS e vale tutto quello già detto fin qui ma per quanto riguarda l'installazione meglio spendere due parole in più.

Su Android possiamo utilizzare anypaste in Termux. Per quanto riguarda l'installazione i comandi sono leggermente diversi dato che non si agisce come root e che la struttura delle directory è leggermente diversa rispetto ad una normale installazione Linux.

Condividi facilmente file Terminale/Prompt/Console Anypaste (Linux/MacOS/Windows/Android/iOS)

Per installare anypaste dovremo cambiare i comandi visti sopra in questo modo:

mkdir -p $PREFIX/local/bin

curl -Lo $PREFIX/local/bin/anypaste https://anypaste.xyz/sh

chmod +x $PREFIX/local/bin/anypaste

Come vedete non importa sudo per eseguire i comandi ed è specificata la variabile di ambiente $PREFIX per rispettare la particolare struttura del path di Termux ma non è finita qui: dobbiamo aggiungere il path di anypaste. Per farlo possiamo editare sempre il file ~/.bashrc e aggiungere la seguente riga:

export PATH="/data/data/com.termux/files/usr/local/bin/:$PATH"

Per rendere le modifiche subito attive protemo uscire e rientrare in Termux oppure digitare il comando source ~/.bashrc. In questo modo potremo invocare anypaste senza necessità di scrivere l'intero percorso.

Per quanto riguarda iOS invece possiamo utilizzare anypaste tramite iSH. Anche in questo caso dobbiamo adattare la procedura di installazione e modificare i comandi semplicemente omettendo sudo:

curl -Lo /usr/local/bin/anypaste https://anypaste.xyz/sh

chmod +x /usr/local/bin/anypaste

Uno nota è richiesta per la condivisione dei file. Se creo un file con una app non posso accedere a questo file direttamente da iSH ma dovrò prima salvarlo in File e copiarlo in una cartella di iSH dalla quale poi potrò condividerlo con anypaste. Facciamo un caso pratico per rendere più chiaro i passi da fare: se scatto una foto, questa sarà visibile in Galleria, da qui posso scegliere di condividerla, poi selezionare Salva su File e andare a scegliere una cartella di iSH (per comodità posso selezionare la cartella root anche se non formalmente corretto perché è la cartella home dell'utente di default di iSH!). Da adesso in poi anche su iOS vale tutto quello già visto fin qui.

Condividi facilmente file Terminale/Prompt/Console Anypaste (Linux/MacOS/Windows/Android/iOS)