Avevo sentito parlare di Rclone ma non avevo mai avuto occasione di provarlo perché non utilizzo nessun cloud. Poi crazy.cat mi ha chiesto di dargli un occhiata e dato che ho una macchina virtuale con Windows 11 Pro configurata con un utente "online" (e quindi con 5GB di spazio OneDrive disponibile), ho deciso di testarlo approfonditamente e... sono rimasto affascinato da questo potentissimo strumento, open source e disponibile per tantissime piattaforme, tanto da dirvi che, se utilizzate un qualunque cloud, non dovreste assolutamente farne a meno!!

Rclone: coltellino svizzero gestione spazi cloud! [Linux][MacOS][Windows][Android][iOS]

Ho detto un qualunque servizio cloud perché Rclone riesce a gestire nativamente moltissimi fornitori di spazio cloud (tra i principali, l'unico grande escluso è il servizio di Apple, iCloud), moltissimi protocolli di trasferimento di dati (HTTP e FTP/SFTP ovviamente ma anche WebDAV, Hadoop e S3) e moltissime piattaforme di servizi cloud (come ownCloud e Nextcloud). Gestire nativamente significa che è in grado, non solo di utilizzare questi spazi per copiare/sincronizzare/spostare file, ma riesce ad esporli al sistema operativo come una normale cartella oppure come servizio (locale o remoto) tramite i già citati protocolli di rete, al quale si aggiunge DLNA (ed è quindi un ottima soluzione per approntare rapidamente un media server!). Per di più è in grado di controllare l'integrità dei file e anche criptarli in modo da garantire la nostra privacy anche con il più curioso dei fornitori cloud anche se, per il momento, questa funzione è in fase sperimentale. E queste sono solo alcune delle funzioni offerte da Rclone che può essere utilizzato anche per fare o ripristinare backup, creare una copia speculare dei dati salvati su un cloud su un altro servizio cloud, per migrare i dati da un servizio all'altro o addirittura unire più spazi cloud e presentarlo come un unico grande spazio!!

Questo programma è talmente completo e complesso che fare una guida che riesca anche solo ad accennare a tutte le possibilità offerte richiederebbe una notevole quantità di tempo ma dato che non ne ho molto a disposizione ne non voglio certo annoiarvi con una guida più lunga e prolissa di questa che state leggendo, mi limiterò ad esplorare solo alcuni aspetti che penso potranno interessare i più. Se però utilizzate uno o più servizi cloud, ripeto, vi invito a leggere la documentazione completa per conoscere tutte le potenzialità di questo strumento!

Non spaventatevi se ho detto che questo programma è complesso: lo è se andate a ispezionare il codice sorgente ma per l'utilizzatore risulta estremamente facile e, una volta letta la documentazione, perfino intuitivo. È il perfetto esempio di "tecnologia sufficientemente avanzata da essere indistinguibile dalla magia"!

INSTALLAZIONE

Possiamo installare Rclone scaricandolo direttamente dal sito ufficiale, scegliendo l'installatore adatto al nostro sistema operativo. Vi consiglio però di installarlo utilizzando Scoop per Windows mentre, per quanto riguarda Linux/MacOS, potete utilizzare il seguente comando da impartire su terminale/console. Seppur presente in molti repository ufficiali delle distro Linux, infatti, spesso non è aggiornato all'ultima versione e questo preclude la possibilità di sfruttare alcune delle funzioni disponibili e l'accesso alle ultime patch che possono risolvere qualche bug mentre, per quanto riguarda MacOS, sarebbe possibile installarlo anche tramite Homebrew ma si deve fare a meno della possibilità (che vedremo in seguito) di montare lo spazio cloud come una cartella:

» Leggi: Scoop: il package manager per Windows!

» Leggi: Guida a Homebrew: il gestore pacchetti mancanti per MacOS

curl https://rclone.org/install.sh | sudo bash

Il suddetto comando scarica uno script e lo esegue come root per installare l'ultima versione stabile disponibile non prima però di aver controllato se una qualche versione di Rclone è già installata sul sistema in modo da non riscaricare la stessa versione; può quindi essere utilizzato anche per tenere aggiornato Rclone!

CONFIGURAZIONE SPAZIO CLOUD

Una volta installato, per utilizzare il nostro spazio cloud con Rclone, dovremo configurarlo. Trattandosi di un programma che funziona da riga di comando dovremo aprire il Terminale/Console/PowerShell e digitare una semplicissima istruzione per dare inizio alla procedura interattiva di configurazione. Naturalmente sarà possibile avviare questa configurazione per ogni spazio cloud che vorremo gestire tramite Rclone.

Dato che ho iniziato a provare Rclone con Windows, le immagini che seguono sono riferite alla configurazione su questa piattaforma, utilizzando PowerShell, ma è la medisima se effettuata su un altro sistema operativo. Il servizio cloud che ho scelto è, come già detto, OneDrive; se intendete configurare un diverso servizio, la procedura potrebbe essere leggermente diversa ma non disperate: lo sviluppatore di Rclone mette a disposizione una guida per ogni spazio cloud supportato che è sempre meglio leggere prima di iniziare la configurazione. Cominciamo:

rlcone config

Rclone: coltellino svizzero gestione spazi cloud! [Linux][MacOS][Windows][Android][iOS]

Come si vede nell'immagine sopra, Rclone non trova nessuna configurazione esistente e suggerisce di crearne una nuova. Dovremo poi scegliere un nome che vogliamo dare a questa configurazione (come sempre quando si parla di riga di comando, per semplificarci la vita, meglio scegliere un nome che non contenga spazi!!) e proseguire scegliendo lo spazio cloud a cui abbiamo accesso. Se un opzione è facoltativa, non importante o estremamente particolare, Rclone suggerisce di lasciarla in bianco (Leave blank normally.) o di lasciare i valori predefiniti (Press Enter to leave empty/Press Enter for the default ("")).

Nel caso di OneDrive, per permettere l'accesso ad un app "di terze parti", questa deve essere autorizzata. Per concedere questa autorizzazione, Rclone proverà ad aprire il vostro browser preferito direttamente alla pagina dove inserire i dati di accesso. Nel caso non riuscisse in questa operazione, vi indica il link che dovrete aprire per poter terminare la configurazione. Una volta inseriti i dati di accesso di OneDrive, ci verrà chiesto se vogliamo concedere a Rclone la possibilità di accedere ai nostri dati; confermiamo e torniamo a PowerShell dove RCLone ci porrà ancora alcune domande per concludere e salvare la configurazione.

Rclone: coltellino svizzero gestione spazi cloud! [Linux][MacOS][Windows][Android][iOS]

Se tutto è andato a buon fine, potremo subito vedere i file contenuti nel nostro cloud direttamente da PowerShell con il comando:

rclone ls <nome_assegnato>

Che nel mio caso diventa:

rclone ls onedrive_rclone:

Rclone: coltellino svizzero gestione spazi cloud! [Linux][MacOS][Windows][Android][iOS]

Solitamente il file di configurazione appena creato, chiamato rclone.conf, si trova nella Home dell'utente, nel percorso .config/rclone/ ; potremo accertarcene con il comando:

rclone config file

Detto file può anche essere copiato su altri sistemi, nello stesso percorso, in modo che possa essere utilizzato direttamente da un'altra installazione di Rclone, senza dover ripetere la configurazione.

ACCESO AI FILE (Windows)

Accedere ai file contenuti in OneDrive (o altro cloud) tramite riga di comando potrebbe risultare talvolta un po' scomodo; come detto però Rclone consente di accedere a questi file in diversi modi. Ne vedremo giusto un paio: il "montaggio" come disco esterno e l'interfaccia WebUI.

Per montare il nostro spazio cloud come fosse un disco esterno, su Windows, è necessario aver installato il programma Windows File System Proxy (o brevemente Winfsp); naturalmente possiamo installarlo con Scoop, dopo aver aggiunto il bucket "nonportable".

Una volta installato Winfsp, possiamo dire a Rclone di montare il nostro cloud come disco "esterno" con il comando:

rclone mount <nome_assegnato>: *

Rclone: coltellino svizzero gestione spazi cloud! [Linux][MacOS][Windows][Android][iOS]

L'asterisco in fondo al comando serve per indicare a Rclone di utilizzare la prima lettere disponibile per la nuova unità montata, partendo da Z: e andando a ritroso. Se fosse necessario è anche possibile specificare una lettera a piacere seguita dai due punti (esempio T:). Notare che il comando impartito ci informa che, per onedrive, è consigliato utilizzare anche l'opzione --vfs-cache-mode writes in modo da poter modificare i file direttamente nello spazio cloud, altrimenti i file saranno accessibili in sola lettura; potete trovare maggiori informazioni nella documentazione di Rclone.

Si può montare come disco anche solo una cartella presente nella spazio cloud, in modo da rendere accessibili solo i file e le cartelle contenute in questa, basta specificare il percorso relativo dopo il nome assegnato al cloud:

rclone mount <nome_assegnato>:cartella1\cartella2\ *

Solo su Windows è anche possibile montare lo spazio cloud come disco di rete, in modo che sia facilmente condivisibile con altre macchine connesse, specificando, al posto dell'asterisco il percorso di rete che vogliamo assegnare:

rclone mount --vfs-cache-mode writes <nome_assegnato>: \\<server>\<share>

Rclone: coltellino svizzero gestione spazi cloud! [Linux][MacOS][Windows][Android][iOS]

È bene tener presente che il comando per montare deve essere impartito con PowerShell eseguito come utente normale e non come amministratore altrimenti il disco montato sarà invisibile e quindi inaccessibile anche agli utenti amministratori. Se è necessario montare uno spazio cloud come un disco che sia disponibile per ogni utente presente, ci sono molte possibilità, una delle quali prevede di eseguire l'operazione di mount come utente SYSTEM e questo può essere fatto, ad esempio, utilizzando PsExec con l'opzione -s.

» Leggi: Guida a PsExec - Lanciare comandi su PC di rete senza installare nulla

Un modo molto conveniente per utilizzare lo spazio cloud tramite Rclone sarebbe quello di montare automaticamente il disco "cloud" all'accesso del nostro utente. Anche questo può essere fatto in diversi modi e di seguito ne illustrerò giusto un esempio.

Possiamo eseguire uno script inserendolo nella cartella di Esecuzione Automatica del Menu Start che nelle ultime versioni di Windows è nascosta ma è sempre raggiungibile premendo i tasti Win+R e scrivendo shell:startup seguito da Invio. Poiché Rclone viene eseguito su PowerShell dovremo creare uno script per lanciarlo; dato che ha bisogno della connessione internet per funzionare, potremo creare anche una condizione che verifica ciclicamente se la connessione è presente e solo quando questa condizione è vera, eseguirà il comando per montare il nostro disco "cloud". Anche in questo caso possiamo raggiungere lo stesso obbiettivo con diverse vie, un esempio di script è questo:

Start-Sleep 60

while (!(Test-Connection -ComputerName "www.microsoft.com" -Count 1 -Quiet)) {Start-Sleep 60}

C:\Users\utente\scoop\apps\rclone\current\rclone.exe --config "C:\Users\utente\scoop\apps\rclone\current\rclone.conf" --vfs-cache-mode writes mount "onedrive_rclone:" "O:"

Vediamo in dettaglio cosa fa questo script che andrà salvato in un file con estensione .ps1, magari proprio nella cartella di Rclone: la prima riga fa sì che aspetti 60 secondi prima di eseguire il restante codice. la seconda riga tramite un ciclo While testa (sempre ogni 60 secondi) se il sito www.microsoft.com è raggiungibile, verificando così se una connessione internet è presente o meno; appena il suddetto sito è raggiungibile esegue il comando di mount di Rclone: da notare che è meglio specificare la cartella dove si trova Rclone e anche dove deve prendere il file di configurazione con l'opzione --config; la parte restante del comando l'abbiamo già vista.

NB: qualora aveste scaricato, come me, Rclone con Scoop, la cartella da indicare per l'eseguibile e per il file di configurazione sarà current e non quella nominata come la versione: la cartella current infatti è un collegamento alla cartella dell'ultima versione disponibile del programma e indicando questo percorso saremo sicuri che il nostro script funzionerà sempre anche dopo l'aggiornamento di Rclone.

Purtroppo gli script di Powershell non sono eseguiti in automatico, diversamente dai "vecchi" file batch, e quindi, per avviare il nostro "microprogrammino" all'accesso del nostro utente, potremo utilizzare proprio un altro script scritto questa volta per il Prompt dei comandi:

@ECHO OFF

powershell -windowstyle hidden C:\Users\utente\scoop\apps\rclone\current\rclone_autostart.ps1

Salviamo questo script in un file con estensione .cmd nella suddetta cartella di Esecuzione Automatica e il gioco è fatto!

Rclone: coltellino svizzero gestione spazi cloud! [Linux][MacOS][Windows][Android][iOS]

Come detto questo è solo un metodo per ottenere di montare il disco "cloud" automaticamente che funziona ma non è certo perfetto (all'avvio noterete una finestra del prompt che appare per qualche istante), lascio a voi trovare altri metodi che potrete segnalare nei commenti a questo articolo!

ACCESSO AI FILE (LINUX)

Gli utenti Linux dovrebbe essere più avvezzi all'operazione di mount che, nel caso di Rclone, viene fatta nello spazio utente (possibile quindi senza permessi di root!) e richiede solo che il punto di "montaggio" sia una cartella esistente e vuota. Una volta che avremo Rclone installato e correttamente configurato sulla nostra distro Linux, potremo accedere ai file del nostro cloud con due semplici comandi:

mkdir ~/mio_cloud

rclone mount <nome_assegnato>: ~/mio_cloud --daemon

Rclone: coltellino svizzero gestione spazi cloud! [Linux][MacOS][Windows][Android][iOS]

Naturalmente potete personalizzare il punto di mount a vostro piacere, purché sia in un path scrivibile dal vostro utente; l'opzione --daemon serve per liberare il terminale che altrimenti rimarrebbe occupato fintanto che lo spazio cloud è montato.

Anche su questa piattaforma possiamo montare in automatico il nostro spazio cloud e anche in questo caso ci sono tanti modi diversi per farlo. Sulla wiki del github di Rclone, ad esempio, c'è un fantastico servizio per systemd che funziona con ogni servizio cloud; in alternativa possiamo creare uno script molto più semplice, configurato solo per il servizio da noi scelto, in maniera analoga a quello visto per Windows (vedi lo script per MacOS!).

ACCESSO AI FILE (MACOS)

Per poter montare lo spazio cloud come un cartella su MacOS è necessario installare macfuse; per farlo possiamo utilizzare Homebrew con il comando:

brew install macfuse

Prestate attenzione al messaggio di post-installazione che contiene delle istruzioni da seguire per far sì che macfuse possa funzionare correttamente. È anche raccomandato riavviare il sistema prima di utilizzare macfuse.

Una volta eseguita questa procedura possiamo montare il nostro spazio cloud come una cartella esattamente come già visto per Linux: dovremo prima indicare un punto di montaggio, creando magari una nuova cartella (che dovrà essere vuota) e poi eseguire il solito comando con l'opzione mount di rclone più volte visto. Anche in questo caso potremo liberare il Terminale passando l'opzione --daemon.

Rclone: coltellino svizzero gestione spazi cloud! [Linux][MacOS][Windows][Android][iOS]

Per poter montare in automatico il nostro spazio cloud come una cartella, così come sugli altri sistemi, anche su MacOS, ci sono molte possibilità. Uno dei più semplici è quello di creare uno script in Bash, importarlo in Automator per creare un'Applicazione e metterla in avvio all'accesso del nostro utente. Lo script potrebbe essere quello nell'immagine sotto (essendo per Bash, può essere utilizzato anche su Linux!) e funziona in maniera analoga a quello visto per Windows: attende 30 secondi e verifica periodicamente se il sito www.microsoft.com è raggiungibile, quando la condizione è vera esegue Rclone.

Rclone: coltellino svizzero gestione spazi cloud! [Linux][MacOS][Windows][Android][iOS]

Per creare un Applicazione da questo script, apriamo Automator, scegliamo Libreria nella colonna di sinistra e Esegui script shell nella colonna a fianco e poi dovremo incollare il nostro script nella finestra che si aprirà sulla colonna di destra. Avremo anche modo di verificare se il nostro script funziona, cliccando su Esegui, in alto a destra e, se non ci sono errori, possiamo salvare la nostra Applicazione nella posizione che vogliamo.

Rclone: coltellino svizzero gestione spazi cloud! [Linux][MacOS][Windows][Android][iOS]

Adesso dovremo metterla in esecuzione automatica: apriamo Preferenze di Sistema, Utenti e Gruppi, selezioniamo il nostro utente e poi Elementi di login; aggiungiamo con il + la nostra Applicazione e mettiamo la spunta su Nascondi (in questo modo non verrà mostrata nessuna finestra all'avvio dello script).

Rclone: coltellino svizzero gestione spazi cloud! [Linux][MacOS][Windows][Android][iOS]

Al successivo riavvio, solo una piccola notifica in alto a destra ci informerà che il nostro script sta funzionando e, pochi secondi dopo che la connessione internet sarà divenuta disponibile, il nostro spazio cloud sarà montato nel percorso da noi scelto!

INTERFACCIA WEBGUI

L'altro metodo per accedere ai file, non richiede nessun programma aggiuntivo, è comune a tutti i sistemi operativi e sfrutta una funzione (ancora sperimentale) nativa di Rclone: la possibilità di accedere tramite il nostro browser preferito. È sufficiente eseguire il seguente comando:

rclone rcd --rc-web-gui

Rclone a questo punto controllerà se esiste una versione aggiornata dell'interfaccia, connettendosi al github dell'autore, se presente la scaricherà, poi avvierà un server locale (raggiungibile all'indirizzo http://localhost:5572) e infine aprirà automaticamente il nostro browser preferito per farci accedere a questa comoda interfaccia che vedremo adesso in dettaglio.

L'accesso a questa interfaccia è protetto da username e password; per impostazione predefinita l'username è gui e la password viene generata casualmente ogni volta e... non ci interessano più di tanto: l'apertura automatica del browser, infatti, accede direttamente tramite l'utilizzo di un token di autenticazione sempre generato adhoc da Rclone. Durante le mie prove è capitato che all'apertura del browser mi fossero richiesti comunque i dati di accesso e visto che la password è generata casualmente, era impossibile accedere a questa interfaccia. Il problema si può aggirare semplicemente indicando a Rclone username e password personali, aggiungendo un paio di opzioni al comando sopra che quindi diventa:

rclone rcd --rc-web-gui --rc-user mioutente --rc-pass miapasswd

Rclone: coltellino svizzero gestione spazi cloud! [Linux][MacOS][Windows][Android][iOS]

Come si vede nella immagine sopra, nella prima schermata Dashboard si trovano molte informazioni riguardo lo scambio di dati da/per lo spazio cloud. Nella schermata successiva Configs è invece possibile creare una nuova configurazione per uno spazio cloud o modificare/cancellare una già esistente. La creazione di una nuova configurazione, procede in maniera analoga a quella già vista, passo-passo, con la stessa serie di domande; probabilmente gli utenti meno smaliziati preferiranno creare da qui la propria configurazione perché l'interfaccia più curata mette sicuramente meno a disagio rispetto al terminale ma è soltanto un'idea perché il procedimento è davvero lo stesso già visto.

Rclone: coltellino svizzero gestione spazi cloud! [Linux][MacOS][Windows][Android][iOS]

Explorer è la scheda che ci consente di "esplorare" il nostro spazio cloud, basta selezionare il nome assegnato alla nostra configurazione e scegliere Open. È possibile aprire contemporaneamente quanti spazi cloud vogliamo e questi saranno accessibili tramite Tab o schede ma è anche presente la possibilità di mettere due o tre finestre affiancate in modo da avere sott'occhio tutti i nostri file

Rclone: coltellino svizzero gestione spazi cloud! [Linux][MacOS][Windows][Android][iOS]

La successiva scheda Backend, consente di configurare le diverse interfacce con le quali Rclone può farci accedere ai nostri dati nel cloud: in questo articolo abbiamo visto come accedervi montando lo spazio cloud come una cartella o da interfaccia web ma ricordo che Rclone supporta molti altri protocolli! Molto interessante la possibilità di vedere per ogni protocollo tutte le possibili opzioni che possiamo modificare, peccato solo che per sapere l'esatta funzione dobbiamo sempre consultare la documentazione

Rclone: coltellino svizzero gestione spazi cloud! [Linux][MacOS][Windows][Android][iOS]

Nell'ultima scheda Mounts è possibile montare il nostro spazio cloud come una cartella esattamente come abbiamo già visto ma anche in questo caso tramite un'interfaccia un po' meno intimidatoria della riga di comando.

E SU DISPOSITIVI MOBILI (ANDROID, IOS)?

È possibile utilizzare Rclone, con qualche limitazione, anche sui nostri smartphone o tablet!

Per Android esiste un'applicazione non ufficiale (creata da uno sviluppatore diverso da quello di Rclone), è gratutita e open source e si può trovare sul PlayStore e anche su F-Droid: RCX.

» Leggi: Guida a F-Droid: il miglior market alternativo per Android

Una volta installata, verremo accolti da una semplice guida introduttiva che ci consentirà anche di concedere l'unico permesso necessario a questa app: l'accesso alla memoria interna per il trasferimento dei file. Potremo anche scegliere di contribuire al progetto riportando eventuali problemi rilevati durante il funzionamento.

Rclone: coltellino svizzero gestione spazi cloud! [Linux][MacOS][Windows][Android][iOS]

La configurazione dello spazio cloud è molto semplice: basta toccare il +, scegliere il servizio cloud che ci interessa e rispondere alle stesse domande già viste. Alla fine, proprio come nella versione Desktop, verrà aperto il browser per immettere i dati di accesso al servizio scelto; il messaggio Success ci informerà che la configurazione è terminata senza errori.

Rclone: coltellino svizzero gestione spazi cloud! [Linux][MacOS][Windows][Android][iOS]

A questo punto potremo accedere ai nostri file su cloud e spostarli/copiarli a piacimento.

Rclone: coltellino svizzero gestione spazi cloud! [Linux][MacOS][Windows][Android][iOS]

Devo dire che questa app è fatta veramente molto bene, ha una interfaccia semplice e minimale ma implementa quasi tutte le funzioni dell'originale Rclone, compresa la possibilità di servire i file tramite tutti i protocolli già nominati. Ha anche un interessante funzione che per il momento è sperimentale ovvero la possibilità di rendere disponibili i file nel cloud a tutte le altre app; lo sviluppatore mette bene in chiaro che, per il momento, c'è da aspettarsi la perdita di dati ad utilizzare questa funzione!!

Per quanto riguarda iOS, è possibile utilizzare Rclone tramite iSH, presente nel repository ufficiale, può essere installato con il semplice comando:

apk add rclone

Vale però la stessa considerazione fatta più sopra per Linux: la versione dei repository potrebbe non essere l'ultima disponibile. Possiamo installare la versione più recente con lo stesso comando visto prima per Linux/MacOS, omettendo solo sudo (in quanto su iSH siamo già root all'interno dell'app!); prima però potrebbe essere necessario installare almeno tre pacchetti necessari: bash, curl e unzip. I comandi per portare a termine l'installazione di Rclone su iSH saranno quindi due:

apk add bash curl unzip

curl https://rclone.org/install.sh | bash

Rclone: coltellino svizzero gestione spazi cloud! [Linux][MacOS][Windows][Android][iOS]

Sappiamo bene che iOS è un sistema molto limitante e naturalmente non tutte le funzioni di Rclone saranno funzionanti o sfruttabili in quanto al momento che passiamo iSH in background o lo schermo del nostro iPhone si spegnerà, qualunque operazione stavamo facendo su quel terminale sarà interrotta e anche le tanto utili funzione di mount e dell'interfaccia WebGui non saranno accessibili. Anche la configurazione di uno spazio cloud diventa problematica tanto che vi consiglio di effettuarla su un computer e trasferire poi il file di configurazione rclone.conf generato (magari con Qrcp... ) sul vostro iPhone, nella cartella di iSH, nel percorso /root/.config/rclone/rclone.conf.

» Leggi: Qrcp: condivisione facile e sicura tra pc e smartphone [Windows, MacOS, Linux][Android, iOS]

L'utilizzo di Rclone su questa piattaforma non consente di apprezzare a pieno delle potenzialità di questo strumento ma ciò non toglie che in determinate situazioni possa rappresentare un valido aiuto, in quanto possiamo comunque raggiungere il nostro spazio cloud e copiare/spostare file da/per esso.

Rclone: coltellino svizzero gestione spazi cloud! [Linux][MacOS][Windows][Android][iOS]