Configurare Syncthing per la sincronizzazione P2P tra PC

Ultimo aggiornamento: 12/01/2026
Autore: Isaac
  • Syncthing consente di sincronizzare cartelle tra più dispositivi utilizzando connessioni P2P crittografate, senza bisogno di server centrali.
  • La configurazione si basa sul collegamento dei dispositivi tramite il loro ID dispositivo e sulla definizione di cartelle condivise con tipi di sincronizzazione bidirezionale o unidirezionale.
  • Funzionalità quali presentatori, cartelle di solo invio/solo ricezione e controllo delle versioni consentono di creare cluster flessibili e proteggere l'integrità dei dati.
  • Si tratta di un'alternativa privata e multipiattaforma al cloud commerciale, ideale per uso personale, backup locali e piccoli ambienti collaborativi.

Configurare Syncthing per la sincronizzazione P2P tra PC

Se hai mai provato a condividere una cartella di grandi dimensioni caricandola prima sul cloud, sai cosa significa. attendere ore mentre i file vengono caricati e poi scaricati...e pregando che tu abbia ancora spazio nel tuo account. Ora immagina trasferire file tra due PC direttamente, senza intermediari, senza limiti di quota artificiali e sfruttando appieno la larghezza di banda disponibile. Questa è esattamente l'idea alla base Configurare Syncthing per la sincronizzazione P2P tra PC.

Syncthing è da anni una delle gemme nascoste del software libero: uno strumento leggero, multipiattaforma e altamente flessibile che consente Sincronizza le cartelle tra dispositivi senza bisogno di server centrali. Funziona Windows, Linux, Mac OS, Android Può essere eseguito anche su server remoti o dispositivi NAS. In questo articolo, spiegheremo passo dopo passo e in dettaglio come installarlo, come collegarlo tra più computer, come creare cartelle condivise e come sfruttarlo al meglio sia per uso personale che per piccoli cluster P2P più avanzati.

Che cos'è Syncthing e come funziona la sincronizzazione P2P?

Syncthing è un sistema di sincronizzazione di file distribuito che utilizza connessioni peer-to-peer (P2P) tra dispositivi. Invece di caricare i dati su un server cloud, i computer, i dispositivi mobili o i server formano un grappolo di dispositivi che comunicano direttamente tra loro.

Ogni dispositivo esegue un piccolo servizio (demone) che è responsabile di Monitora le cartelle condivise, rileva le modifiche e trasferisci i file agli altri nodi del cluster. Tutto il traffico è crittografato tramite TLS e ogni macchina ha il proprio certificato e la propria chiave privata, generati automaticamente al primo avvio di Syncthing.

Un punto chiave è questo Ogni dispositivo ha un identificatore univoco o "ID dispositivo"Quell'ID non è collegato a hardware Nello specifico, non è il certificato Syncthing in sé ad essere migrato. Ecco perché è possibile migrare l'intera configurazione da un computer a un altro copiandone la cartella di configurazione, a patto di non utilizzare la stessa identità in due posti contemporaneamente.

In pratica, decidi tu quali cartelle condividere, con quali dispositivi e in che modo: puoi avere cartelle di invio e ricezione bidirezionalisolo invio o solo ricezione. E all'interno dello stesso cluster, alcuni dispositivi possono fungere da "presentatori", responsabili di presentare nuovi dispositivi al resto e diffondere la notizia su di essi per costruire topologie più complesse di un semplice collegamento tra due computer.

Inoltre, Syncthing è progettato per essere multipiattaforma e facilmente gestibileHa un'interfaccia web molto completa e, su alcuni sistemi, frontend nativi come SyncTrayzor su Windows o syncthing-gtk su Linux, che semplificano l' Boot automatico e notifiche.

Interfaccia Syncthing per la sincronizzazione P2P

Installazione di Syncthing su sistemi diversi

Uno dei grandi vantaggi di Syncthing è che puoi mescolare OS senza alcun problemaWindows con Linux, Linux con macOS, PC con telefoni Android, ecc. Il nucleo del programma è lo stesso; cambiano solo il metodo di installazione e il modo in cui viene integrato nel sistema.

Windows: Syncthing + SyncTrayzor

Su Windows, il binario ufficiale di Syncthing funziona dalla riga di comando e, per impostazione predefinita, lasciare una finestra aperta terminale mentre corre, memorizza i tuoi dati in AppData\Local e non si integra perfettamente con il processo di login. Per semplificare le cose, la soluzione più comoda è usare Sincronizza vassoio, un contenitore che è responsabile di:

  • Avvia automaticamente la sincronizzazione quando effettui l'accesso.
  • Riduce a icona nella barra delle applicazioni e mostra le icone e gli indicatori di stato.
  • spettacolo Notifiche su modifiche e connessioni di dispositivi.
  • Fornire accesso diretto all'interfaccia web integrata.

SyncTrayzor può essere scaricato dal suo repository GitHub in versione installabile o portatile e richiede .NET Framework. Una volta installato, è consigliabile controllare le impostazioni per assicurarsi... Si avvia con Windows, si riduce a icona nella barra delle applicazioni e non inonda il sistema di notifiche. ogni volta che un dispositivo entra o esce.

macOS: app nativa Syncthing

Non esiste un equivalente diretto di SyncTrayzor su macOS, ma ce ne sono un pacchetto Syncthing confezionato come app che integra il binario con il sistema. Viene scaricato dal repository ufficiale Syncthing per macOS e installato come qualsiasi altra applicazione di sistema.

Dopo la configurazione iniziale, l'interfaccia di amministrazione rimane la stessa di sempre, accessibile dal tuo browser. Da lì potrai Configurare l'avvio automatico e il resto delle opzioni dalle preferenze del sistema o con strumenti di terze parti.

GNU/Linux: pacchetti, repository e servizi systemd

Su Linux, l'installazione dipende dalla distribuzione. Il progetto Syncthing mantiene repository personalizzati per Debian e derivati, mentre in sistemi come CentOS, Fedora o simili è solitamente disponibile tramite EPEL o altri repository.

Una volta installato il pacchetto, il servizio viene solitamente gestito tramite systemd. Il modello tipico per eseguirlo come utente specifico è:

systemctl enable syncthing@usuario
systemctl start syncthing@usuario

Sebbene tecnicamente potresti eseguirlo come radice, Non è raccomandato per motivi di sicurezzaHa senso solo in ambienti altamente controllati, dove sei l'unico utente e il sistema è ben protetto.

  6 migliori programmi per unire i video in uno solo

Esiste anche in alcune distribuzioni sincronizzazione-gtk, un'interfaccia grafica basata su GTK che fornisce un'icona nella barra delle applicazioni, un facile controllo del demone e un accesso diretto al sito Web di amministrazione.

Sincronizzazione tra più dispositivi

Android: App ufficiale e sincronizzazione mobile

Su Android puoi installare Syncthing da Play Store o da F-DroidL'applicazione mobile include sia il servizio di sincronizzazione sia un'interfaccia adattata al touchscreen per la gestione di dispositivi, cartelle e autorizzazioni.

Un uso tipico è sincronizzare automaticamente la cartella della fotocamera dal tuo cellulare al tuo PC o server, in modo che ogni foto che scatti venga automaticamente copiata sul tuo computer desktop senza passare attraverso Google Foto, iCloud o servizi simili.

Avvio manuale con interfaccia web accessibile

Su qualsiasi sistema, puoi avviare Syncthing manualmente specificando l'indirizzo dell'interfaccia web con l'opzione -gui-address. Ad esempio:

syncthing -gui-address="0.0.0.0:8384"

Questo espone la GUI sulla porta 8384, rendendola accessibile da qualsiasi indirizzo IP. Questo è utile per le configurazioni iniziali o l'amministrazione remota, ma Non è consigliabile lasciarlo aperto senza protezioneLa cosa normale è limitarlo a 127.0.0.1:8384 E se devi entrare dall'esterno, usa SSH con l'inoltro delle porte o configurare nome utente e password per la GUI.

Primo contatto con l'interfaccia web

La sincronizzazione è gestita principalmente da un'interfaccia web molto chiara e accessibileSebbene sia possibile aprirlo tramite SyncTrayzor o tramite le scorciatoie syncthing-gtk, internamente è sempre lo stesso: una pagina servita dal demone stesso sulla porta che hai configurato (per impostazione predefinita, 8384 su localhost).

Questa interfaccia è organizzata in varie sezioni:

  • Menu Principale (Azioni/Impostazioni, Riavvia, ecc.).
  • Area notifiche per notifiche di nuovi dispositivi, errori o statistiche.
  • Blocca da carpetas sincronizzato.
  • Pannello “Questo dispositivo"con informazioni dal nodo locale."
  • Lista di altri dispositivi collegato.
  • Link alla documentazione, alla community e ad altre risorse esterne.
  • Finestre di dialogo emergente che si aprono in basso quando modifichi una cartella, aggiungi un dispositivo, ecc.

La prima volta che accedi, Syncthing ti chiederà molto probabilmente se desideri inviare statistiche anonime Per facilitare lo sviluppo: numero di nodi, versioni, sistemi operativi... Puoi accettarli o meno e modificarli in seguito dalle impostazioni.

Configurare nome utente e password per la GUI

Se hai intenzione di esporre l'interfaccia web oltre localhost, è fondamentale proteggilo con l'autenticazionePer fare ciò, dal menu principale vai su Azioni > Impostazioni > GUI e definisci un nome utente e una password. Dovresti ripetere questa configurazione su tutti i dispositivi della tua rete.

Identificatore del dispositivo e collegamento del nodo

Il cuore del sistema è il ID del dispositivoQuesto lungo codice alfanumerico identifica in modo univoco ogni istanza di Syncthing e viene utilizzato per autorizzare le connessioni tra i nodi del cluster.

Come visualizzare l'ID del tuo dispositivo

Per visualizzare il tuo ID, nell'interfaccia web clicca su Azioni > Mostra IDSi aprirà una finestra con:

  • La stringa di testo completa dell'identificatore.
  • Un QR code, molto pratico quando si desidera aggiungere un telefono cellulare eseguendo la scansione da un altro dispositivo.

Quel documento d'identità è ciò di cui avrai bisogno inviare privatamente a un'altra persona o nota da aggiungere questa squadra al resto delle tue macchine.

Cambia il nome visualizzato del dispositivo

Per impostazione predefinita, Syncthing utilizza il nome del sistema operativo come nome del dispositivo leggibile, ma è possibile modificarlo per renderlo più chiaro. Azioni > Impostazioni > Generali Troverai un campo in cui potrai modificare questo nome.

Si consiglia di scegliere un identificatore unico e stabile nel lungo termine (ad esempio, "PC-desktop", "Laptop-lavoro", "Server-casa") per evitare confusione quando si hanno più dispositivi connessi alla stessa rete.

Aggiungi e accetta dispositivi remoti

Il collegamento tra i dispositivi è sempre mutuaPer connettere due nodi, è necessario che a ciascuno sia stato aggiunto l'ID dell'altro e che la relazione sia stata accettata.

Per aggiungere un dispositivo remoto: Tieni a portata di mano il tuo ID dispositivo.

  • Nel Team A, premere Aggiungi un dispositivo (o "Aggiungi dispositivo remoto").
  • Incolla il file ID dispositivo del Team B nel primo campo.
  • Scegli un nome leggibile per quel nodo oppure lascia che utilizzi quello che gli arriva dal nodo remoto.
  • Facoltativamente, nella scheda "Condivisione", seleziona le cartelle che desideri condividere da ora in poi.
  • Salva le modifiche.

La sincronizzazione può Rileva automaticamente altri dispositivi sulla LANA volte non sarà nemmeno necessario copiare l'ID: basterà selezionare il nodo rilevato e confermare che l'identificatore corrisponda.

Quando la squadra A aggiunge B, nella squadra B apparirà un. notifica che chiede di accettare il nuovo dispositivoDopo l'approvazione, verrà visualizzata la stessa finestra di dialogo con ID e nome già inseriti, pronti per il salvataggio. Da quel momento in poi, entrambi i nodi saranno collegati e potranno condividere le cartelle.

Creazione e condivisione di cartelle sincronizzate

Una volta che due o più dispositivi sono collegati, è il momento di creare la prima cartella condivisaIl processo di base è molto semplice: su uno dei computer, si definisce una cartella, si sceglie il suo percorso nel file system e si selezionano i dispositivi con cui verrà condivisa. Sugli altri nodi, si accetta l'invito e si assegna il percorso locale in cui verrà salvato.

Definisci una nuova cartella su un computer

Su qualsiasi dispositivo, premere il pulsante “Aggiungi cartella”Apparirà una finestra di dialogo con diverse schede, la principale delle quali è "Generale". Qui dovrai inserire:

  • Etichetta della cartella: il nome che vedranno gli altri dispositivi (ad esempio, "Mobile-Photos", "Projects", "vm_share"...).
  • Percorso della cartella: il percorso assoluto nel tuo file system, esattamente come appare nel tuo file explorer (ad esempio, D:\Carpeta compartida su Windows o ~/syncthing/vm_share su Linux).
  Come aggiornare il BIOS della GPU da Windows: guida avanzata passo passo

È una buona idea seguire un struttura logica e coerente E quando lavori in Windows, ricorda come condividere una singola cartella su una reteAd esempio, raggruppando tutte le cartelle Syncthing in una directory comune (~/syncthing) invece di spargerli ovunque. Questo semplifica la manutenzione e riduce gli errori.

Quindi, passa alla scheda "Condivisione"Lì vedrai un elenco di tutti i tuoi dispositivi collegati; seleziona quelli che vuoi includere in questa cartella. Quando tocchi Salva, La cartella verrà creata e l'invito verrà inviato. a quei nodi.

Accetta una cartella condivisa su altri dispositivi

Sui computer remoti, apparirà presto una notifica che indica che un altro dispositivo vuole condividere una cartella con te. Dopo aver accettato, si apre la stessa finestra di dialogo delle impostazioni della cartella, dove puoi:

  • Scegli il percorso locale dove verrà memorizzato (non è necessario che abbia lo stesso nome della sorgente).
  • Controllare il tipo di cartella (invia/ricevi, solo invio, solo ricezione).
  • Configurare opzioni di scansione avanzate, limiti di spazio, controllo delle versioni, ecc.

Se il percorso non esiste, Syncthing potrebbe crea automaticamente la directoryDa quel momento in poi, qualsiasi file inserito nella cartella su uno dei computer inizierà a replicare e rimanere sincronizzati sugli altri dispositivi assegnati.

Sincronizzazione P2P tra più dispositivi: cluster radiale e mesh

Quando si hanno solo due dispositivi, tutto è molto semplice: I cambiamenti vanno da A a B e da B ad A Non ci sono altre storie.

Supponiamo di avere tre dispositivi: A, B e C. Inizialmente, potresti connettere solo C ad A. Questo rende A vede B e C, ma B e C non si conosconoTutti i dati che devono passare da B a C passeranno attraverso A, che diventa un collo di bottiglia e un punto centrale di errore.

Per migliorare questo, Syncthing introduce il concetto di "presentatore" (Introduci). Un dispositivo contrassegnato come presentatore può propagare l'esistenza di nuovi nodi agli altri dispositivi con cui condivide le cartelle. Cioè, se A è un relatore e aggiunge C, anche B verrà automaticamente a conoscenza di C.

Per contrassegnare un dispositivo come relatore: attiva l'introduzione di nuovi nodi.

  • Espandi il dispositivo nell'elenco e tocca Modifica.
  • Vai alla scheda "Condivisione".
  • Selezionare la casella "Presentatore" (o "Presentare").
  • Verificare che le cartelle condivise siano contrassegnate correttamente.
  • Salva le modifiche.

In questo modo puoi creare un ammasso radialeUn nodo centrale che presenta gli altri dispositivi l'uno all'altro. Il grande vantaggio è che, anche se il presentatore si spegne, Gli altri continueranno a parlare tra loro e a sincronizzare i datiInoltre, quando più computer hanno una parte dei file, i trasferimenti vengono distribuiti: ogni nodo può scaricare blocchi da più fonti, riducendo così il carico individuale.

Esiste anche la possibilità di istituire un cluster di maglie In totale, tutti i dispositivi si contrassegnano a vicenda come relatori. È un'opzione molto flessibile, ma non consigliabile nella maggior parte dei casi, perché Le informazioni provenienti dai dispositivi tendono a essere riciclate all'infinitoSe qualcuno si cancella e viene eliminato, la sua inserzione potrebbe riapparire, inoltrata da un altro nodo che la possiede ancora. Il risultato finale è solitamente una lista piena di dispositivi fantasma e, a peggiorare le cose, Syncthing visualizzerà degli avvisi quando rileva dei presentatori reciproci.

Tipi di cartella: invia e ricevi, solo invia, solo ricevi

Il comportamento predefinito di una cartella in Syncthing è “Invia e ricevi” (invia e ricevi). Ciò significa che tutti i dispositivi che vi partecipano possono creare, modificare o eliminare file e queste modifiche si diffonderà in entrambe le direzioni finché tutti non saranno sincronizzati.

Tuttavia, ci sono scenari in cui questo non è auspicabile. Un esempio tipico è quando si desidera sincronizzare unidirezionalmente da A a Bin modo che B riceva tutte le modifiche ma non possa mai modificarle di nuovo, nemmeno per sbaglio.

Configurare una cartella di solo invio o di sola ricezione

Ogni dispositivo può decidere in modo indipendente, la modalità di sincronizzazione di ogni cartella:

  • Invia e ricevi: sincronizzazione bidirezionale completa.
  • Invia soloIl dispositivo funge da sorgente dati e non accetta modifiche dalla rete.
  • Ricevi soloIl dispositivo scarica le modifiche, ma le modifiche locali non vengono propagate.

Per cambiare il tipo di cartella: Seleziona "Tipo di cartella" in Avanzate.

  • Fare clic sull'intestazione della cartella per espandere il relativo pannello.
  • Premere Modifica.
  • apri la sezione "Avanzate" all'interno del dialogo.
  • Cerca nel campo “Tipo di cartella” e seleziona l'opzione desiderata.
  • Salva le modifiche.

È importante capire che questa configurazione è fatta a ciascuna estremitàAd esempio, potresti avere il dispositivo A con la cartella impostata su "Solo invio" e il dispositivo B con la cartella impostata su "Solo ricezione". In tal caso, A sarà il riferimento autorevole dalla cartella e B ne replicherà semplicemente il contenuto.

Se modifichi i file localmente su un dispositivo configurato solo per ricevere, Syncthing li tratterà come tali. differenze indesiderateL'interfaccia web mostrerà l'opzione per ignorare le modifiche e riallinearle alla fonte. Gli altri computer vedranno che la cartella non è completamente sincronizzata finché questa discrepanza non sarà risolta.

  Cambia il suono degli avvisi dei messaggi su iPhone

Esempio pratico: sincronizzazione da A a B senza modifiche di ritorno

Immagina di avere due PC, A e B, entrambi con Windows, e vuoi Tutte le modifiche apportate nella cartella A verranno riflesse nella cartella B, ma mai viceversa.Il comportamento descritto, in cui una cartella eliminata da un lato viene ricreata dall'altro, è tipico di una configurazione bidirezionale mal allineata.

Per ottenere il flusso esatto A → B, procedere come segue: configurare tipi opposti a ciascuna estremità.

  • Sul computer A, configurare la cartella come "Invia e basta".
  • Sul computer B, configurare la stessa cartella come “Ricevi solo”.
  • Assicurati che entrambi puntino al percorso corretto e che i dispositivi siano online.

Da lì, Qualsiasi file elimini, modifichi o crei in A verrà applicato a BTuttavia, le modifiche apportate in B non verranno propagate. Se si crea una sottocartella in B, Syncthing offrirà la possibilità di rimuovere tale discrepanza e ripristinare lo stato imposto da A.

Privacy, sicurezza e componenti di rete Syncthing

Sebbene la filosofia di Syncthing si concentri sul mantenimento dei dati sui dispositivi, è importante per sapere quali informazioni vengono condivise e quali servizi ausiliari sono coinvolti nel processo.

Crittografia e visibilità tra dispositivi

La comunicazione tra i nodi avviene sempre tramite connessioni TLS crittografate end-to-endutilizzando coppie di chiavi e certificati generati localmente. Ciò impedisce a terze parti non autorizzate di leggere o modificare i dati in transito.

Tuttavia, all'interno del cluster stesso, Ogni dispositivo vede alcuni dettagli sugli altri. con cui è collegato: indirizzo IP, sistema operativo, versione di Syncthing, stato della connessione (connesso, disconnesso, sincronizzazione, ecc.). Ecco perché è consigliabile limitare le connessioni solo alle persone fidatesoprattutto quando si tratta di dispositivi personali che rivelano le tue abitudini di utilizzo (ad esempio, gli orari in cui ti connetti).

Server ausiliari: scoperta, relay e statistiche

Oltre al P2P diretto, Syncthing si basa su una serie di servizi pubblici gestiti dal progetto:

  • Server di scoperta globale: consente a due dispositivi di localizzarsi reciprocamente tramite il loro ID dispositivo, anche se si trovano dietro NAT e i loro IP sono sconosciuti.
  • Relè (ripetitori)Quando non è possibile aprire le porte o utilizzare UPnP, alcuni nodi ricorrono a server relay che fungono da ponte, a costo di perdere velocità.
  • Server di elenco relay: catalogo centrale che indica quali relè sono disponibili.
  • Aggiorna il server: origine da cui Syncthing scarica le nuove versioni quando è abilitato l'aggiornamento automatico.
  • Server di statistiche: raccoglie dati anonimi se accetti di partecipare, per migliorare lo sviluppo e capire come viene utilizzato il software.

Tutti questi componenti possono sostituire o disattivare nelle impostazioni avanzate per configurare una rete completamente privata o utilizzare metodi per condivisione sicura dei file (Ad esempio, in un'organizzazione con un proprio server di rilevamento e relay interni). Tuttavia, se non si hanno esigenze specifiche, di solito è meglio lasciare la configurazione predefinita, che offre un equilibrio molto ragionevole tra praticità e controllo.

Opzioni avanzate utili nella vita di tutti i giorni

Oltre alle basi, Syncthing integra funzionalità avanzate che consentono di perfezionare la sincronizzazione e adattarla a scenari più complessi.

Parametri della cartella: scansione, spazio e metadati

Quando si modifica una cartella e si accede alla scheda "Avanzate"Troverai opzioni come:

  • Intervallo di scansione: frequenza con cui vengono controllate le modifiche al file system, oltre alle notifiche in tempo reale.
  • Limiti di spazio su disco: percentuale minima libera per evitare di riempire completamente una partizione.
  • Ordine di verifica del file e priorità di scansione.
  • Sincronizzazione permessi, proprietario e altri metadati a seconda del sistema operativo.

Ignora i file, condividi con più dispositivi e controlla le versioni

In altre schede hai strumenti molto pratici per filtrare e conservare le versioni:

  • Sharing: aggiungi o rimuovi i dispositivi partecipanti in una cartella già creata.
  • Ignora i modelli: specifica i modelli di file o sottocartelle che non desideri sincronizzare (ad esempio, *.tmp, directory .git, Ecc.).
  • Controllo delle versioni dei fileConfigura come salvare le versioni precedenti dei file modificati o eliminati. Syncthing può conservare più copie precedenti per offrirti un buffer in caso di errori.

Accesso remoto alla GUI e alla configurazione sui server

Quando si utilizza Syncthing su un server remoto o su una macchina senza un ambiente grafico, l'interfaccia web diventa ancora più importante. L'interfaccia grafica utente consente di gestire tutto da remoto.. Potresti:

  • Cambia l'indirizzo IP di ascolto della GUI in Azioni > Impostazioni > GUI in modo che accetti connessioni dalla LAN o da uno specifico indirizzo IP.
  • Modificare manualmente il file ~/.config/syncthing/config.xml per modificare l'indirizzo se non è possibile accedere temporaneamente al sito web.
  • Usare un Tunnel SSH per inoltrare la porta 8384 dal server al computer locale e gestire Syncthing come se ci fossi seduto davanti.

Nei sistemi con systemd, ricorda che se modifichi l'unità di servizio (/etc/systemd/system/[email protected]), dovrai eseguire systemctl daemon-reload e riavviare il servizio affinché le modifiche abbiano effetto.

Sincronizzazione delle configurazioni tra più PC tramite Git
Articolo correlato:
Sincronizzazione delle configurazioni tra più PC tramite Git