Trasferisci file senza stress! Usa Croc in 3 semplici passi

Il trasferimento file efficace richiede velocità, sicurezza e semplicità. Molti servizi tradizionali sono lenti o complessi. Croc, tool open source multi-piattaforma, sfrutta un relay server full-duplex e il protocollo crittografico PAKE: come sfruttarlo al meglio.

Lo scambio di file tra dispositivi è un’attività spesso eseguita quotidianamente. Sebbene esistano moltissimi strumenti per condividere dati, poche soluzioni riescono a soddisfare contemporaneamente tre requisiti essenziali: velocità, sicurezza e semplicità. Quando si tratta di trasferire file, elementi singoli più o meno pesanti così come intere cartelle, la priorità dovrebbe essere quella di conservare l’integrità del contenuto. Tuttavia, l’ideale è andare oltre: la condivisione deve essere rapida per non far perdere tempo all’utente, sicura per garantire la privacy e la riservatezza, e semplice per essere alla portata di tutti senza complesse configurazioni o conoscenze tecniche.

Molti programmi o servizi coprono solo due di questi aspetti, trascurando il terzo. Per esempio, i servizi cloud di file sharing sono spesso molto semplici da usare, ma possono essere lenti (per via di upload e download sequenziali) e non sempre offrono una crittografia end-to-end. Al contrario, metodi più tecnici possono essere sicuri e veloci, ma difficili da configurare per l’utente medio.

Trasferimento dati veloce: oltre il modello upload-download

La maggior parte dei servizi online usa un modello di trasferimento che si snoda in due fasi: si carica il file su un server, poi si condivide un link per scaricarlo. Questo comporta che la velocità effettiva del trasferimento sia limitata dall’upload più il download, e non dalla semplice capacità di una delle due connessioni.

Matematicamente, se consideriamo la velocità di upload e quella di download, la velocità effettiva di trasferimento dati tramite server relay è approssimativamente la metà della media armonica delle due, risultando quindi spesso inferiore alle aspettative.

Per superare questo limite, si può utilizzare un relay server che stabilisce un canale di comunicazione full-duplex tra i due dispositivi. In questo modo, l’invio e la ricezione dei dati avvengono simultaneamente, e la velocità è limitata solo dalla velocità più bassa tra upload e download, migliorando drasticamente i tempi di trasferimento.

La sicurezza: cos’è PAKE

Sicurezza significa soprattutto garantire che solo il mittente e il destinatario possano accedere ai dati trasmessi. La crittografia end-to-end è la risposta a questa esigenza. Tradizionalmente, si usa una password per cifrare il file e la stessa password per decifrarlo, ma ciò espone al rischio di password deboli o comuni, facilmente soggette ad attacchi di forza bruta o basati sul dizionario.

Una tecnologia avanzata si chiama PAKE (Password Authenticated Key Exchange), un protocollo crittografico che permette di generare una chiave di cifratura forte partendo da una semplice password condivisa, senza mai trasmettere la password stessa in chiaro. Grazie a uno scambio interattivo, PAKE protegge anche da intercettazioni e attacchi “man-in-the-middle”, garantendo che solo i partecipanti legittimi ottengano la chiave corretta.

Eliminare Port Forwarding e configurazioni complesse

Molti software di trasferimento file richiedono che uno dei computer funzioni da server, con porte aperte e port forwarding configurato sul router. Questa esigenza limita fortemente l’usabilità, soprattutto in reti pubbliche o dietro firewall.

L’utilizzo di un relay server esterno permette a due computer di connettersi senza necessità di configurazioni di rete locali. Questo modello facilita l’uso in qualsiasi ambiente, anche il più restrittivo, con un solo comando da terminale, senza dipendenze complesse o installazioni di server.

Croc: un esempio di implementazione avanzata

Tra i vari strumenti open source che adottano i principi descritti in precedenza, croc rappresenta una soluzione elegante e moderna per il trasferimento file da riga di comando, altrimenti nota come CLI (Command Line Interface). L’applicazione vanta infatti le seguenti caratteristiche:

  • Usa un relay server per connessioni real-time full-duplex.
  • Implementa PAKE per la sicurezza end-to-end.
  • Supporta più piattaforme (Windows, Linux, macOS, Android).
  • Permette trasferimenti multipli e ripresa da interruzioni.
  • Non richiede port forwarding né hosting server locale.
  • Supporta proxy (Tor) e IPv6 con fallback IPv4.

Inoltre, la sua natura open source e l’implementazione in Go ne assicurano portabilità e continuità di sviluppo.

Come trasferire file “al volo” da Windows 11 e Windows 10

Il modo migliore per installare croc consiste nel premere la combinazione di tasti Windows+R quindi digitare semplicemente quanto segue (si deve eventualmente digitare Y quando richiesto):

winget install schollz.croc

Altri package manager per Windows come Scoop e Chocolatey permettono di ottenere il medesimo risultato.

A questo punto, suggeriamo di aprire una finestra di Esplora file, portarvi nella cartella contenente il file da trasferire quindi digitare cmd nella barra contenente il percorso della cartella in corso di visualizzazione.

Digitando quanto segue (sostituire archivio.zip con il nome del file o della cartella da trasferire), ci si prepara all’invio del materiale:

croc send archivio.zip

Trasferimento file remoti croc

Sul dispositivo di destinazione, indipendentemente dalla rete a cui è collegato, basta digitare croc seguito dal codice indicato sul sistema del mittente (nell’esempio è 6271-meaning-senior-tuna).

Ricezione file da dispositivo remoto con croc

Se si preme Windows+R quindi si digita croc seguito dal codice per l’avvio del trasferimento, il file o la cartella remota saranno automaticamente salvati nella directory del profilo utente correntemente in uso in Windows. Si può verificarne rapidamente il contenuto premendo Windows+R per poi indicare %userprofile%. Fantastico!

Come attivare un server relay in proprio

Per chi vuole mantenere il massimo controllo, croc permette di avviare un proprio server relay, anche tramite container Docker, garantendo così privacy e indipendenza da server pubblici.

Di default, infatti, croc offre un server relay pubblico gestito dallo sviluppatore: è usato per impostazione predefinita. Il server è stabile e disponibile per chiunque voglia inviare e ricevere dati senza configurazioni aggiuntive.

croc permette di eseguire un proprio relay server usando il comando croc relay. È possibile eseguire il relay in locale o su un server dedicato; si possono personalizzare porte, password e usare Docker per semplificare il deploy. Così chiunque, con un minimo di esperienza tecnica, può evitare di dipendere dal relay pubblico per motivi di privacy, sicurezza o performance.

Sia il mittente che il destinatario devono però conoscere l’indirizzo IP del server relay e specificarne l’uso. Esempio:

croc --relay [INDIRIZZO_SERVER_RELAY] send archivio.zip (per inviare)

croc --relay [INDIRIZZO_SERVER_RELAY] [CODICE_TRASFERIMENTO] (per ricevere)

Opzionalmente, è possibile aggiungere anche un meccanismo di autenticazione sul server relay usando il comando croc relay --password miaPasswordSegreta.

Note finali e conclusioni

Facendo riferimento al repository GitHub di croc, si possono trovare tutte le indicazioni per installare e usare l’applicazione anche su sistemi e piattaforme diverse da Windows.

Questo significa che il trasferimento dei dati può essere attivato da e verso dispositivi completamente differenti, che eseguono sistemi operativi diversi: la sintassi di croc non cambia!

In un’epoca in cui lo scambio rapido e sicuro dei dati è fondamentale, una soluzione come croc rappresenta uno strumento moderno e affidabile, capace di superare i limiti dei tradizionali servizi di trasferimento file. Grazie all’uso di relay server full-duplex e alla crittografia PAKE, croc unisce velocità, sicurezza e semplicità, rendendo la condivisione di file accessibile anche a utenti non esperti, senza rinunciare al controllo e alla privacy. Per chi cerca un’alternativa leggera, versatile e open source, croc è sicuramente uno strumento da tenere in considerazione e “sfoderare” al momento opportuno.

Ti consigliamo anche

Link copiato negli appunti