Syncthing: sincronizando arquivos entre todos os seus dispositivos

Guia completo para instalar, configurar e usar o Syncthing — com o desktop como nó central que sincroniza de forma bidirecional com celular, tablet e notebook, rodando sobre a rede ZeroTier.

Este artigo é a continuação natural do guia sobre ZeroTier. Lá, montamos uma rede privada virtual que junta desktop, notebook, celular e tablet com IPs fixos, acessíveis de qualquer lugar. Agora vamos usar essa base para o segundo objetivo: manter os arquivos sincronizados automaticamente entre todos eles.

A ferramenta é o Syncthing — uma solução de sincronização contínua, descentralizada, de código aberto e que não depende de nuvem de terceiros. Seus arquivos vão direto de um aparelho para outro, cifrados, sem passar por um Google Drive ou Dropbox da vida.

O cenário deste guia:

  • O desktop é o nó central — é nele que estão os arquivos “de verdade”.
  • Ele sincroniza com celular, tablet e notebook.
  • A sincronização é bidirecional: se eu editar um arquivo no celular, no tablet ou no notebook, a mudança volta para o desktop e se propaga para os demais.

O que é o Syncthing

O Syncthing sincroniza pastas entre dois ou mais dispositivos em tempo real. Quando um arquivo muda em qualquer aparelho, a alteração é detectada e replicada para os outros automaticamente.

Por que ele é uma escolha excelente:

  • Peer-to-peer, sem nuvem: os dados vão diretamente de um dispositivo a outro. Nenhum servidor central guarda cópias dos seus arquivos.
  • Criptografia TLS: toda a comunicação entre dispositivos é cifrada e autenticada por certificado.
  • Multiplataforma: Linux, Windows, macOS, Android, BSD.
  • Sincronização por blocos: só os pedaços alterados de um arquivo trafegam, economizando banda.
  • Versionamento de arquivos: opcionalmente guarda versões antigas de cada arquivo, funcionando como uma rede de segurança contra exclusões e edições acidentais.
  • Open source e gratuito.

Rodando sobre o ZeroTier, ele fica ainda melhor: os IPs virtuais fixos garantem que os dispositivos sempre se achem, sem depender da descoberta global na internet.


Conceitos essenciais

Três conceitos aparecem o tempo todo:

Device ID

Cada instalação do Syncthing gera um Device ID — uma string longa e única (ex.: ABCDEF1-...) que identifica aquele aparelho. Para dois dispositivos sincronizarem, cada um precisa conhecer o Device ID do outro. É a “chave pública” do aparelho.

Folder (pasta sincronizada) e Folder ID

Uma pasta é o que você sincroniza. Ela tem um Folder ID (um rótulo) que precisa ser igual nos dispositivos que compartilham aquela pasta. Você pode ter várias pastas, cada uma compartilhada com um conjunto diferente de aparelhos.

Tipo da pasta (Folder Type)

Cada dispositivo define como trata a pasta:

  • Send & Receive (enviar e receber): leitura e escrita; mudanças locais sobem e mudanças remotas descem. É o que queremos em todos os aparelhos para ter sincronização bidirecional.
  • Send Only (só enviar): só envia mudanças, ignora as remotas. Útil para uma fonte mestre que nunca deve ser alterada de fora.
  • Receive Only (só receber): só aplica o que vem de fora. Útil para um espelho/backup.

Para o nosso objetivo — editar em qualquer lugar e propagar para todos — usamos Send & Receive em todos os dispositivos.


A topologia: desktop como hub e “introducer”

Existem duas formas de ligar os aparelhos:

  1. Malha completa (mesh): cada dispositivo compartilha a pasta diretamente com todos os outros. Robusto, mas trabalhoso de configurar à mão (você teria que parear celular↔tablet, celular↔notebook, etc.).
  2. Hub com introducer (recomendado): o desktop compartilha a pasta com cada aparelho e é marcado como Introducer. Assim, ele “apresenta” automaticamente os outros dispositivos entre si — você configura tudo a partir de um ponto só, e mesmo assim a sincronização acaba sendo bidirecional e direta entre os pares.

Vamos pela opção 2: configuramos tudo a partir do desktop.

Por que isso satisfaz o “bidirecional”? Com todos em Send & Receive e o desktop como introducer, qualquer alteração — venha do celular, do tablet, do notebook ou do próprio desktop — é replicada para todos os demais. Não existe “direção única”; o desktop é só o ponto a partir do qual você administra.


Passo 1 — Instalar no desktop (Arch Linux)

Instale o pacote:

sudo pacman -S syncthing

Rode como serviço do usuário (recomendado — ele roda com as suas permissões, sob a sua sessão):

systemctl --user enable --now syncthing

Para o Syncthing continuar rodando mesmo sem você estar logado graficamente, habilite lingering para o seu usuário:

sudo loginctl enable-linger $USER

A interface web abre em http://127.0.0.1:8384. É por ali que se faz toda a configuração.

Outras distros / instalador: o Syncthing tem binários para tudo em syncthing.net/downloads. O fluxo (serviço de usuário + GUI na 8384) é o mesmo.


Passo 2 — Instalar no notebook, Windows e macOS

  • Notebook (Linux): repita o Passo 1.
  • Windows: baixe o Syncthing; uma opção prática é o SyncTrayzor, que adiciona ícone na bandeja e inicia junto com o sistema.
  • macOS: instale via Homebrew com brew install syncthing e brew services start syncthing, ou use o app Syncthing-Mac.

Em todos, a GUI fica em http://127.0.0.1:8384.


Passo 3 — Instalar no celular e no tablet (Android)

No Android, prefira o Syncthing-Fork (na Play Store e no F-Droid) — é a versão da comunidade, mais ativa e com melhor controle de bateria e de quando sincronizar. O app oficial “Syncthing” também funciona.

Após instalar:

  1. Abra o app — ele gera o Device ID do aparelho automaticamente.
  2. Conceda as permissões de acesso a arquivos/armazenamento que ele pedir (necessário para ler/escrever as pastas).
  3. Ajuste, em Settings → Run conditions, quando ele deve sincronizar. Como vamos usar o ZeroTier (que funciona no 5G), você pode deixar sincronizar também em dados móveis — mas atenção ao consumo de franquia. Se preferir economizar, restrinja a sincronização ao Wi-Fi.

Faça isso no celular e no tablet.


Passo 4 — Conectar os dispositivos entre si

A ligação é feita trocando Device IDs. Vamos parear cada aparelho com o desktop.

4.1 — Pegue o Device ID do desktop

Na GUI do desktop (http://127.0.0.1:8384), clique em Actions → Show ID. Vai aparecer o Device ID (e um QR Code, ótimo para o celular).

4.2 — Adicione o desktop em cada aparelho (ou vice-versa)

No celular/tablet, em Devices → Add Device, escaneie o QR Code do desktop. No notebook, em Add Remote Device, cole o Device ID do desktop.

Quando um lado adiciona o outro, o segundo recebe um aviso (“device wants to connect”) — basta aceitar. Confirme a conexão nos dois lados.

4.3 — Use os IPs do ZeroTier para conexões confiáveis

Por padrão o Syncthing tenta descoberta global e relays públicos. Como já temos o ZeroTier, vale fixar o endereço de cada dispositivo para o IP virtual dele, garantindo conexão direta e privada. Ao editar um dispositivo remoto, em Addresses, troque dynamic por algo como:

tcp://10.147.20.10:22000

(usando o IP ZeroTier e a porta padrão 22000 do Syncthing). Faça isso apontando cada aparelho para os IPs ZeroTier dos outros. Assim o tráfego anda sempre pela sua malha privada.

4.4 — Marque o desktop como Introducer

Ao adicionar o desktop nos outros aparelhos (ou ao adicionar os outros no desktop), abra as opções avançadas do dispositivo e marque Introducer. Com o desktop como introducer, ele apresenta os demais entre si automaticamente — você não precisa parear celular com tablet manualmente.


Passo 5 — Criar e compartilhar a pasta principal

Agora o que interessa: a pasta de arquivos.

5.1 — No desktop, adicione a pasta

Em Folders → Add Folder:

  • Folder Label: um nome amigável (ex.: Arquivos).
  • Folder Path: o caminho da pasta no desktop (ex.: /home/valmor/Sync).
  • Folder Type: Send & Receive.

Na aba Sharing da pasta, marque os dispositivos com quem compartilhar (celular, tablet, notebook). Salve.

5.2 — Aceite a pasta nos outros aparelhos

Cada dispositivo compartilhado recebe um aviso: “Desktop wants to share folder Arquivos”. Aceite e, em cada um:

  • Defina onde a pasta vai morar (ex.: no Android, uma pasta acessível como /storage/emulated/0/Sync).
  • Confirme o Folder Type como Send & Receive (para ser bidirecional).

A partir daí, qualquer arquivo que você jogar em ~/Sync no desktop aparece nos outros — e qualquer edição feita no celular, tablet ou notebook volta para o desktop e se espalha para todos.


Passo 6 — Ajustes importantes da pasta

Versionamento (rede de segurança)

Em Folder → File Versioning, escolha uma estratégia para não perder nada por exclusão acidental:

  • Staggered (escalonado): mantém várias versões, com intervalos que aumentam com o tempo. É o melhor equilíbrio para arquivos importantes.
  • Trash Can (lixeira): guarda a última versão de arquivos apagados por X dias.

Recomendo ativar o versionamento pelo menos no desktop, que é o seu nó central.

Ignorar arquivos (.stignore)

Para não sincronizar lixo (caches, temporários, pastas pesadas), crie padrões de ignorar em Folder → Ignore Patterns. Exemplo:

// Ignora caches e temporários
(?d).DS_Store
(?d)Thumbs.db
*.tmp
.cache/
node_modules/

Conflitos

Se o mesmo arquivo for editado em dois aparelhos ao mesmo tempo antes de sincronizar, o Syncthing não apaga nada: ele mantém a versão vencedora e salva a outra como arquivo.sync-conflict-<data>-<dispositivo>.ext. Você resolve manualmente depois. Isso evita perda silenciosa de dados.


Privacidade: fechando o Syncthing na sua malha

Como já temos o ZeroTier, dá para deixar o Syncthing só na sua rede privada, sem tocar na infraestrutura pública dele:

  • Em Settings → Connections, desative Global Discovery e desative Relaying. Mantenha apenas a descoberta local e os endereços fixos com os IPs ZeroTier do Passo 4.3.
  • Em Settings → GUI, defina usuário e senha para a interface web e, se for acessá-la remotamente, considere mantê-la apenas em 127.0.0.1 (acessando via túnel SSH pelo ZeroTier quando precisar).

Com isso, seus arquivos só transitam pela malha ZeroTier criptografada — nada de descoberta global nem relays de terceiros.


Solução de problemas comuns

  • Dispositivos não conectam: confirme que ambos estão online na rede ZeroTier (zerotier-cli peers) e que o endereço fixo tcp://<ip-zerotier>:22000 está correto. Cheque se a porta 22000/tcp está liberada no firewall da interface zt+.
  • Pasta presa em “Out of Sync”: geralmente é permissão de arquivo (no Android, falta de acesso ao armazenamento) ou um conflito. Veja os detalhes da pasta na GUI — ele lista o arquivo problemático.
  • Android para de sincronizar em segundo plano: desative a otimização de bateria para o app e, no Syncthing-Fork, revise Run conditions. O Android é agressivo em matar apps em background.
  • Arquivos .sync-conflict: são conflitos de edição simultânea. Compare as versões, fique com a certa e apague a outra.

Conclusão

Com ZeroTier + Syncthing, você tem uma combinação poderosa e privada: a rede virtual liga todos os aparelhos com IPs fixos acessíveis de qualquer lugar, e o Syncthing usa essa malha para manter seus arquivos idênticos em todos eles — de forma bidirecional, contínua e sem depender de nenhuma nuvem de terceiros.

Edite um documento no notebook na faculdade; ao voltar para casa, ele já está no desktop. Tire uma foto e jogue na pasta do celular; ela aparece no tablet. Tudo cifrado, tudo seu.

Se você ainda não montou a rede base, comece pelo guia de ZeroTier: acesso remoto por SSH a qualquer dispositivo — ele é o alicerce de tudo isso.