Flipflop condivide file tra Windows, Linux, macOS e Android senza cloud

Flipflop è un'app open source per scambiare file, testi e link tra dispositivi associati via Bluetooth, LAN o Internet. Utilizza Iroh, gestisce gli invii offline e offre una modalità di condivisione tramite browser locale.

Trasferire un file da Windows a uno smartphone Android, condividere un collegamento con un familiare oppure inviare una cartella a un computer che si trova dall’altra parte del mondo dovrebbe essere un’operazione banale. Eppure, ancora oggi, capita di dover ricorrere a servizi cloud, applicazioni di messaggistica, allegati email o strumenti differenti a seconda dei sistemi operativi coinvolti. Flipflop prova a eliminare buona parte di queste complicazioni: è un’applicazione open source (download) che permette di collegare dispositivi attendibili e scambiare file, testi e collegamenti attraverso Bluetooth, rete locale o Internet, senza dipendere da un archivio cloud centralizzato.

L’idea recupera un principio che ha accompagnato per decenni l’evoluzione delle reti informatiche: due computer dovrebbero poter comunicare direttamente, identificandosi e stabilendo una connessione sicura, senza obbligare gli utenti a caricare preventivamente i propri dati su un servizio esterno.

Dai trasferimenti FTP alle cartelle condivise via SMB, fino alle più recenti soluzioni come AirDrop, Quick Share e LocalSend, l’obiettivo è rimasto sostanzialmente lo stesso. Cambiano però le difficoltà: dispositivi mobili, reti differenti, NAT lato router, firewall e sistemi operativi che non offrono strumenti di condivisione pienamente interoperabili.

Con Flipflop, dopo un’associazione iniziale, i dispositivi mantengono una relazione di fiducia e possono tornare a comunicare anche quando cambiano rete.

Flipflop: associare due dispositivi una sola volta per scambiare file quando serve

Nel caso di Flipflop associazione dei dispositivi e trasferimento dei contenuti sono operazioni separate: con molti strumenti di condivisione tradizionali, ogni trasferimento richiede di individuare nuovamente il destinatario, avviare una sessione e confermare l’operazione. Flipflop cerca invece di rendere persistente il rapporto tra dispositivi autorizzati.

Condivisione file con Flipflop

Immaginiamo un computer Windows utilizzato per lavoro, un portatile Linux e uno smartphone Android. Una volta associati, i tre dispositivi compaiono nell’interfaccia dell’applicazione come destinatari conosciuti: quando serve inviare un file o un documento, basta selezionare il dispositivo di proprio interesse come destinazione senza dover ricostruire di sana pianta il collegamento fiduciario.

Il software consente anche di attribuire nomi personalizzati ai dispositivi, visualizzarne lo stato di raggiungibilità e rimuovere quelli che non devono più partecipare ai trasferimenti dati.

Mantenere una relazione di fiducia non significa che i dispositivi debbano conservare una connessione di rete permanentemente attiva. L’associazione permette di riconoscere il destinatario quando torna raggiungibile; sarà poi il motore di comunicazione a stabilire il percorso utilizzabile.

Gestione peer scambio file Flipflop

Il componente decisivo è Iroh: connessioni dirette anche attraverso Internet

Il cuore tecnologico di Flipflop è Iroh, una libreria open source progettata per mettere in comunicazione dispositivi identificati mediante chiavi crittografiche anziché affidarsi esclusivamente a indirizzi IP e porte.

In una rete tradizionale, per raggiungere un computer remoto bisogna conoscere il suo indirizzo e disporre di un percorso di comunicazione accessibile. Gli indirizzi IP, tuttavia, possono cambiare, soprattutto sulle connessioni mobili. Inoltre, i router utilizzano quasi sempre meccanismi di Network Address Translation (NAT), che complicano l’apertura di connessioni provenienti dall’esterno.

Iroh affronta il problema separando l’identità logica del dispositivo dal percorso di rete necessario per raggiungerlo. La connessione utilizza QUIC, protocollo di trasporto moderno basato su UDP e caratterizzato da funzionalità integrate per cifratura, multiplexing e gestione delle connessioni.

Quando due dispositivi riescono a comunicare direttamente, il traffico attraversa una connessione peer-to-peer senza dover transitare per un server applicativo che conserva i file. Quando invece la configurazione della rete impedisce di stabilire un percorso diretto, Iroh può ricorrere a server relay, che inoltrano i pacchetti cifrati tra i partecipanti.

Un trasferimento tra due computer collegati allo stesso router può sfruttare la rete locale; uno scambio tra un PC domestico e uno smartphone connesso alla rete mobile può invece richiedere un collegamento attraverso Internet, eventualmente con l’assistenza di un relay.

Bluetooth, LAN e Internet: tre modalità di collegamento, un’unica applicazione

Una particolarità di Flipflop è il supporto a diversi mezzi di comunicazione. Come anticipato in apertura, il progetto offre la possibilità di utilizzare Bluetooth, rete LAN e Internet, evitando di costringere gli utenti a scegliere applicazioni differenti a seconda della “posizione” dei dispositivi e della rete alla quale ciascuno di essi è collegato.

Esaminando le dipendenze del progetto emerge l’utilizzo delle funzionalità di trasporto personalizzato di Iroh; per Android, il codice prevede Bluetooth Low Energy (BLE) per individuazione e annuncio dei dispositivi, insieme a canali L2CAP per il trasferimento. BLE nasce principalmente per comunicazioni efficienti dal punto di vista energetico e per l’individuazione di dispositivi vicini; i canali L2CAP consentono invece di organizzare lo scambio dei dati a un livello più adatto alle comunicazioni tra applicazioni.

Ovviamente, l’uso di una rete Ethernet Gigabit o una connessione WiFi permettono di raggiungere velocità molto superiori rispetto a un trasferimento Bluetooth. Inoltre, attraversare una serie di nodi su Internet introduce latenza e possibili limitazioni di banda.

Flipflop unifica l’esperienza di condivisione, ma non elimina i limiti fisici delle tecnologie utilizzate.

Il vantaggio più concreto riguarda quindi la continuità di utilizzo: in casa o in ufficio si può sfruttare un collegamento locale; fuori casa, quando le condizioni lo permettono, lo stesso dispositivo resta un destinatario riconoscibile attraverso una diversa connessione.

Inviare file anche quando il destinatario è offline

Flipflop introduce una coda persistente dei trasferimenti: se il destinatario non è disponibile o non è raggiungibile, l’invio resta in attesa e il programma riprova a completarlo quando il dispositivo torna raggiungibile.

Le richieste in sospeso sono conservate in un file chiamato queued-sends.json, all’interno della directory dei dati dell’applicazione. I tentativi riprendono quando cambia lo stato di presenza del destinatario, quando la rete torna disponibile e comunque a valle dei controlli periodici, effettuati ogni 60 secondi.

Il motore applicativo contempla inoltre la ripresa delle ricezioni interrotte e la verifica dell’integrità mediante BLAKE3, algoritmo crittografico di hashing, molto veloce, che genera un’impronta digitale dei dati per verificarne l’integrità e rilevare eventuali modifiche o corruzioni.

Condividere file con chi non ha Flipflop: basta il browser

Il programma aggiunge una possibilità che rende la modalità di condivisione ancora più interessante anche per gli utilizzi occasionali.

Attraverso la funzione Browser link, Flipflop può avviare un piccolo server HTTP locale e permettere a un altro dispositivo di inviare o ricevere contenuti utilizzando semplicemente il browser. Dall’interfaccia si apre la sezione per aggiungere un dispositivo (Add peer) e si seleziona la funzione dedicata al browser. Flipflop genera un indirizzo locale e un codice QR da condividere con l’altro partecipante.

L’indirizzo utilizza una struttura simile a 192.168.1.10:53530/, seguita da un token casuale che identifica la sessione; la porta predefinita è 53530, ma il programma può sceglierne un’altra se quella fosse già occupata.

Condivisione link browser

Chi riceve il collegamento può aprire l’URL nel browser, visualizzare i contenuti offerti dal dispositivo che esegue Flipflop e, quando previsto, caricare a sua volta dei file. Se il mittente condivide una cartella o più documenti, il programma può prepararli in un archivio ZIP per facilitarne il download. I testi, invece, compaiono direttamente nella pagina.

È importante distinguere questa funzionalità dal normale trasferimento attraverso Iroh: Browser link funziona infatti sulla rete locale, utilizza IPv4 e richiede che il programma rimanga in esecuzione.

Per default, inoltre, in questo caso Flipflop usa HTTP senza TLS: il token casuale serve a limitare l’accesso alla sessione, ma non cifra il traffico: chi dispone di sufficiente visibilità sulla rete potrebbe osservare i dati in transito. Per i documenti riservati, conviene quindi preferire il normale canale cifrato tra dispositivi associati.

Trasferimento file rete locale con browser web

Sicurezza e privacy: i vantaggi della cifratura e il rischio dei dispositivi già autorizzati

L’utilizzo di Iroh permette a Flipflop di sfruttare connessioni cifrate end-to-end. Ciò riduce il rischio che un intermediario di rete possa leggere direttamente i file durante il trasferimento.

Flipflop accetta automaticamente i trasferimenti provenienti dai dispositivi già associati, senza chiedere una conferma per ogni singolo file ricevuto. I contenuti finiscono in una sottocartella dedicata al mittente, all’interno della directory dei download (%userprofile%\Download\flipflop).

Dal punto di vista dell’usabilità è una scelta comprensibile: elimina interazioni ripetitive, soprattutto quando si trasferiscono frequentemente documenti tra computer personali.

Sul piano della sicurezza, invece, richiede maggiore attenzione: un dispositivo associato che finisce sotto il controllo di un soggetto non autorizzato potrebbe sfruttare la relazione di fiducia già esistente per inviare contenuti agli altri dispositivi. La cifratura della connessione protegge i dati mentre attraversano la rete, ma non impedisce a un endpoint compromesso di comportarsi in modo malevolo.

Flipflop offre inoltre impostazioni per controllare l’individuazione sulla rete locale e il comportamento dei relay. La documentazione indica tre modalità per questi ultimi: configurazione predefinita, disattivazione e utilizzo di indirizzi personalizzati, eventualmente con token di autenticazione.

Come scaricare Flipflop su Windows, Linux, macOS e Android

Flipflop è disponibile gratuitamente attraverso la pagina ufficiale delle release su GitHub. Gli sviluppatori distribuiscono build per Windows, Linux e macOS, oltre a un pacchetto APK destinato ai dispositivi Android.

Su Windows si può scegliere tra un eseguibile avviabile direttamente e un installer il cui nome termina con -setup.exe. Il README avverte che Microsoft Defender SmartScreen potrebbe mostrare un messaggio di allerta quando si tenta di avviare il programma perché al momento Flipflop è ancora poco conosciuto. Per proseguire, basta confermare l’avvio dell’applicazione.

Quando conviene usare Flipflop al posto di LocalSend, AirDrop o un servizio cloud

Il confronto con le soluzioni esistenti aiuta a capire il vero obiettivo di Flipflop. LocalSend, ad esempio, punta sulla semplicità del trasferimento tra dispositivi collegati alla stessa rete, con un’interfaccia accessibile e una buona compatibilità multipiattaforma. AirDrop e Quick Share privilegiano invece l’integrazione con i rispettivi sistemi operativi e l’individuazione dei dispositivi vicini.

Flipflop prova a differenziarsi perché unisce il trasferimento locale alla possibilità di mantenere dispositivi attendibili raggiungibili anche attraverso Internet. Il rapporto di fiducia non è legato a una singola sessione di invio e il programma può conservare le operazioni in attesa quando un destinatario risulta offline.

Rispetto a Dropbox, Google Drive o OneDrive, la differenza fondamentale riguarda l’architettura di trasferimento. Un servizio cloud tradizionale conserva una copia dei file sui propri server, rendendoli disponibili anche quando il dispositivo che li ha caricati non è più acceso. Flipflop privilegia invece lo scambio tra endpoint: può ridurre la necessità di affidare i contenuti a un archivio remoto, ma non offre automaticamente gli stessi vantaggi di disponibilità continua, sincronizzazione e recupero dati.

Il programma, almeno nella sua impostazione attuale, non va quindi considerato un sostituto completo dei servizi di backup o sincronizzazione. È soprattutto uno strumento per trasferire contenuti tra dispositivi già autorizzati, con la possibilità di utilizzare percorsi di comunicazione differenti.

Ci sono poi alcune limitazioni tipiche di un progetto ancora giovane. Le note di sviluppo indicano l’assenza di funzioni integrate per l’avvio automatico, la gestione tramite icona nell’area di notifica e l’aggiornamento automatico. Di conseguenza, il funzionamento continuativo richiede qualche attenzione in più da parte dell’utente. In particolare, non bisogna confondere la persistenza delle associazioni e delle code di invio con la presenza di un servizio sempre attivo in background.

Ti consigliamo anche

Link copiato negli appunti