- O Syncthing permite sincronizar pastas entre vários dispositivos sem usar a nuvem, mantendo seus dados sob seu controle.
- A configuração envolve proteger a interface gráfica do usuário (GUI), adicionar dispositivos remotos e definir pastas com os modos de sincronização apropriados.
- O sistema de controle de versões de arquivos é fundamental para evitar a perda de dados, mas deve ser ajustado corretamente para evitar o preenchimento excessivo do disco.
- O Syncthing é uma ótima ferramenta de sincronização, embora deva sempre ser complementado com backups externos.
Existe uma excelente solução para Sincronize pastas entre vários dispositivos sem depender da nuvem.Seu nome: Sincronizando coisasEle funciona em praticamente qualquer sistema operacional moderno, mantém seus dados sob seu controle e, quando configurado corretamente, é tão automático que você pode até esquecer que ele está lá.
Nas linhas seguintes, você verá Como instalar, configurar e tirar o máximo proveito do Syncthing passo a passo Em diferentes ambientes (GNU/Linux, Windows, Android e ZimaOS/Zimaboard), como compartilhar diretórios, quais opções avançadas usar e, muito importante, como usar o sistema de controle de versão de arquivos para evitar o preenchimento do disco ou a perda de dados por descuido.
O que é o Syncthing e como ele funciona internamente?
Syncthing é um ferramenta de sincronização de arquivos de código aberto Ele permite manter uma ou mais pastas atualizadas em vários dispositivos: computadores desktop, laptops, servidores, celulares Android, etc. Não utiliza um servidor central na nuvem como o Dropbox, mas é baseado em um modelo de nuvem BYOD (Bring Your Own): você fornece os dispositivos onde os dados serão armazenados.
O projeto está licenciado sob a licença Licença Pública Mozilla 2.0 E é desenvolvido em Go. Ele usa seu próprio Protocolo de Troca de Blocos, que permite enviar apenas as partes dos arquivos que são alteradas, reduzindo o tráfego e acelerando as sincronizações ao modificar arquivos grandes.
Cada dispositivo executa um Daemon Syncthing Este daemon fica à escuta de conexões de entrada e comunica com os outros nós do cluster. Ele pode ser controlado por meio de uma interface web (GUI acessível a partir de um navegador) ou por meio de interfaces gráficas de usuário, geralmente usando GTK no GNU/Linux, que adicionam um ícone à bandeja do sistema e facilitam a visualização do status de sincronização rapidamente.
Todos os dados que trafegam entre dispositivos são criptografado usando TLS de ponta a pontaCada máquina é identificada por um ID de dispositivo exclusivo: uma longa sequência alfanumérica que funciona como uma impressão digital. Para que dois nós troquem dados, eles devem se aprovar mutuamente, adicionando uma camada extra de segurança contra conexões não autorizadas.
O Syncthing é compatível com ambos. IPv4, assim como IPv6 E, em redes com NAT, você pode usar relays e descoberta global para ajudar dois nós a se encontrarem, mesmo que estejam atrás de roteadores domésticos. Em redes locais simples, a descoberta local geralmente é suficiente: os dispositivos se descobrem e automaticamente propõem a conexão.

Objetivos e filosofia de design do Syncthing
O projeto Syncthing é construído em torno de uma série de princípios bastante claros que são perceptíveis em seu funcionamento diário. Não é apenas "mais um sincronizador de arquivos", mas sim busca atender a diversos objetivos específicos.
Por um lado, visa manter você protegido contra perda de dadosEle tenta impedir alterações destrutivas e oferece opções como controle de versão para recuperar arquivos excluídos ou sobrescritos. No entanto, para que isso funcione corretamente, o versionamento deve ser configurado cuidadosamente, algo que discutiremos mais adiante.
Ele também foi projetado com a segurança em mente. O Syncthing deve ser Robusto contra ataques externospara que ninguém possa ouvir ou manipular seus arquivos sem autorização. Daí o uso obrigatório de TLS, a necessidade de aprovar dispositivos e a ausência de servidores centrais com seus dados em mãos de terceiros.
Outro objetivo é o facilidade de usoA ideia é que alguém sem conhecimento aprofundado de redes possa configurar um sistema de sincronização razoavelmente poderoso. Isso é alcançado por meio de uma interface web intuitiva, detecção automática de dispositivos na rede local (LAN) e configurações padrão sensatas, minimizando configurações incomuns.
Finalmente, o projeto visa ser o mais universal possívelEle funciona em qualquer computador razoavelmente moderno, mesmo em hardware modesto. Binários estão disponíveis para GNU/Linux, Windows, macOS, BSD, Solaris, contêineres Docker e, para dispositivos móveis, um aplicativo oficial para Android. Tudo isso sem pressupor que o usuário sempre tenha a tecnologia mais recente ou conexões de internet de alta velocidade.
Instalando o Syncthing no GNU/Linux
No GNU/Linux, existem várias maneiras de instalar o Syncthing, dependendo da distribuição. A maioria das distribuições atuais já o inclui. pacotes oficiais ou de terceiros em seus repositórios, e também é possível baixar binários pré-compilados do site oficial, se preferir.
Em distribuições baseadas em Debian (Debian, Ubuntu, Linux Mint, MX Linux, etc.) é comum Adicione o repositório oficial do Syncthing.Importe a chave PGP, atualize e instale. Depois disso, você pode habilitar o serviço systemd para iniciar automaticamente com o sistema usando a unidade que normalmente é instalada em /lib/systemd/system/[email protected], substituindo "username" pelo seu nome de usuário.
No Fedora, o processo é simplificado porque O Syncthing geralmente já está nos repositórios.Normalmente, um único comando de instalação usando o gerenciador de pacotes da distribuição é suficiente e, se você quiser que ele inicie na inicialização do sistema, basta ativar o serviço correspondente com o systemd, assim como no caso anterior.
No Arch Linux e em derivados como o Manjaro, o pacote oficial encontra-se nos repositórios da distribuição. Além disso, ele também costuma ser oferecido separadamente. syncthing-gtk como interface gráficaNo entanto, nem todas as distribuições incluem essa função. Caso não esteja disponível, você sempre poderá gerenciá-la pela interface web sem problemas.
Após a instalação dos pacotes necessários, é comum encontrar várias entradas no menu de distribuição: uma para Inicie o daemon Syncthing.Um comando abre a interface GTK, caso esteja instalada, e outro abre a interface gráfica web diretamente no navegador. Em muitos ambientes de desktop, iniciar a interface gráfica GTK acionará o daemon em segundo plano, caso ainda não esteja em execução.

Interface web e acesso remoto à GUI (Interface Gráfica do Usuário).
A forma mais comum de gerenciar o Syncthing é através do seu Interface web acessível no navegadorPor padrão, ele escuta em 127.0.0.1:8384o que significa que ele só pode ser aberto a partir do computador no qual o daemon está sendo executado.
Para fazer login, basta abrir seu navegador favorito e acessar o endereço local, algo como http://127.0.0.1:8384/Na primeira inicialização, é altamente recomendável configurar um nome de usuário e senha para a interface gráfica do usuário (GUI), para que, caso você a disponibilize posteriormente na rede, o acesso não seja restrito a qualquer pessoa.
O idioma da interface geralmente é ajustado automaticamente para o configurações regionais do seu sistemaPortanto, você não deverá ter problemas com o texto em inglês, a menos que seu ambiente esteja configurado dessa forma. Na tela principal, você verá o status do dispositivo local, as pastas sincronizadas e a lista de dispositivos remotos.
Se você quiser gerenciar o Syncthing a partir de outro computador na rede, pode alterar o endereço de escuta da GUI e configurá-lo para, por exemplo, 0.0.0.0:8384 Para permitir conexões de qualquer endereço IP na LAN, acesse "Ações" → "Configurações", guia "GUI". Tenha cuidado para não abrir esta opção sem autenticação, pois qualquer pessoa na sua rede poderá modificar as configurações.
Em ambientes de servidor gerenciados por SSH, uma maneira limpa de acessar a interface sem expô-la é Criar um túnel SSH de porta localVocê redireciona a porta 8384 do servidor para sua máquina e insere o comando. http://127.0.0.1:8384 como se estivesse sendo executado localmente. Dessa forma, você não precisa modificar as configurações do Syncthing nem abrir portas adicionais.
Instalação no Windows, macOS e outros sistemas
Em sistemas como Windows ou macOS, a maneira mais rápida é baixar um Pacote já compilado a partir do site oficial do Syncthing.Você encontrará versões para diferentes sistemas (Windows, Linux, macOS, BSD, Solaris), bem como contêineres Docker prontos para uso.
No Windows, após baixar o instalador ou o arquivo compactado, você o extrai ou executa e segue os passos típicos de instalação. Na primeira vez que for iniciado, O Syncthing gera automaticamente as chaves de criptografia. e um arquivo de configuração inicial no perfil do usuário, geralmente em caminhos como C:\Users\tu_usuario\AppData\Roaming\Syncthing.
Por padrão, o programa criará uma pasta compartilhada chamada Sincronize com seu diretório de usuários.geralmente algo como C:\Users\tu_usuario\SyncEssa será a primeira pasta sincronizada com a qual você trabalhará, embora possa excluí-la ou substituí-la por outras ao configurar seus próprios diretórios.
No macOS ou BSD, o processo é semelhante: você baixa o binário apropriado, instala-o e, ao abrir a interface gráfica web, a tela de boas-vindas aparece. A partir daí, você pode adicionar dispositivos, configurar pastas e ajustar as configurações gerais, assim como no GNU/Linux ou Windows.
Se você usa o Docker, pode implantar Syncthing como um contêinerIsso envolve mapear a porta 8384 e os volumes onde os dados serão armazenados. Também é crucial definir corretamente os UIDs/GIDs que o contêiner usará para garantir as permissões de arquivo adequadas, especialmente ao compartilhar volumes com o host.
Primeiros passos: proteger a interface gráfica do usuário e identificar o dispositivo.
Na primeira vez que você abrir a interface web, é uma boa ideia parar por um minuto para... Proteja a interface gráfica do usuário (GUI).No menu "Ações" → "Configurações", na aba "Interface Gráfica do Usuário", você pode definir um nome de usuário e uma senha. Mesmo que você planeje usá-lo apenas localmente, é uma medida básica de segurança.
Cada instalação do Syncthing vem com um ID exclusivo do dispositivo É gerado automaticamente. Para visualizá-lo, na interface web, acesse "Ações" → "Mostrar ID". Uma longa sequência alfanumérica será exibida, juntamente com um código QR, perfeito para adicionar o dispositivo a partir de um celular Android sem precisar digitar a sequência de caracteres.
É recomendável ter em mãos os IDs de todos os dispositivos que você planeja conectar, especialmente se sua rede for complexa ou se você não confiar na descoberta automática. Dessa forma, você pode adicionar dispositivos manualmente sem depender da detecção automática.
Se você estiver usando uma interface gráfica GTK no GNU/Linux, muitas dessas etapas também podem ser realizadas a partir dos menus do programa, mesmo que a interface subjacente seja a mesma GUI web integrada.
Assim que souber o ID da sua equipe, você estará pronto para começar. forme seu cluster de dispositivos, adicionando nós remotos e configurando pastas compartilhadas entre eles.
Adicionar e aprovar dispositivos remotos
No Syncthing, um conjunto de dispositivos que compartilham pastas entre si é chamado de agruparCada dispositivo precisa conhecer e aprovar os outros antes de poder trocar dados, o que ajuda a manter o controle sobre quem tem acesso aos seus diretórios.
Para adicionar um novo dispositivo a partir da interface web da equipe, acesse a parte inferior da página e clique em "Adicionar dispositivo remoto". Lá você poderá... Cole manualmente o ID do dispositivo do outro computador ou selecione um que tenha sido detectado automaticamente na rede local.
Quando o Syncthing detecta dispositivos na LAN, geralmente os exibe com parte do ID e do nome, então você só precisa de Compare os caracteres exibidos com o ID real. do dispositivo que você deseja adicionar. Se eles coincidirem, você o seleciona e pronto, evitando que você precise copiar e colar códigos longos.
Na aba "Geral" dessa janela, você pode definir um nome descritivo para o dispositivo (por exemplo, "Laptop", "Servidor NAS" ou "Celular Android") e ajustar os parâmetros de conexão, como endereços (geralmente "dinâmico" funciona bem e permite que o Syncthing encontre o outro nó automaticamente).
Após salvar, um ícone aparecerá no outro dispositivo. notificação solicitando a aprovação da conexãoAté que ambas as partes aceitem a solicitação, os dispositivos não serão considerados permanentemente emparelhados. Assim que ambos se aceitarem mutuamente, você verá cada dispositivo listado na seção "Dispositivos Remotos" dos outros dispositivos.
Criar e compartilhar diretórios sincronizados
Assim que dois ou mais dispositivos estiverem conectados, é hora de Escolha quais pastas você deseja sincronizar.O Syncthing funciona no nível da pasta, e você pode compartilhar diretórios diferentes com diferentes subconjuntos de dispositivos, dependendo das suas necessidades.
Para fins de organização, muitas pessoas criam um diretório base em seu diretório pessoal, algo como ~/syncthinge dentro dela todas as subpastas que você vai compartilhar. Dessa forma, você mantém a organização e não acaba com... Dezenas de rotas espalhadas por todo o sistema.O que acaba se tornando um problema a médio prazo.
Uma pasta compartilhada não precisa ter o mesmo nome ou caminho em todos os computadores. Você pode compartilhar ~/syncthing/dir1 de um computador e que em outro é salvo como ~/Backup/OutrasCoisasPara fins de sincronização com o Syncthing, ambos os diretórios estão vinculados, embora você precise se lembrar dos nomes que deu a eles para não colocar arquivos no lugar errado.
Para adicionar uma nova pasta a um dispositivo, na parte inferior da lista de pastas, clique em "Adicionar pasta". Na guia "Geral", você define uma nome da pasta interna (pode corresponder ao nome da pasta no sistema de arquivos) e ao caminho real no sistema de arquivos onde os dados serão armazenados.
Na aba "Compartilhamento", você seleciona Com quais dispositivos remotos você deseja compartilhar essa pasta?Por exemplo, se você adicionou anteriormente um laptop chamado "Devuan", selecione-o e salve. O outro computador receberá um convite para aceitar essa pasta, momento em que precisará especificar onde deseja salvá-la em seu próprio sistema de arquivos.
Modos de sincronização de pastas e opções avançadas
Durante a configuração de uma pasta compartilhada, além do caminho e dos dispositivos, você pode ajustar vários detalhes importantes, incluindo o tipo de sincronizaçãoO Syncthing oferece três modos básicos: enviar e receber, somente enviar e somente receber.
O modo padrão é "Enviar e Receber", o que implica sincronização bidirecionalQualquer alteração feita em um dispositivo (criação, modificação ou exclusão de arquivos) será replicada nos demais. Isso é ideal para pastas de trabalho colaborativas ou quando você deseja que seu computador de mesa e seu notebook sejam sempre idênticos.
Se você selecionar "Somente enviar", o dispositivo funcionará como fonte que envia apenas alteraçõesOs outros dispositivos podem receber novos arquivos ou modificações, mas não podem enviar alterações de volta. Isso é útil, por exemplo, para um celular enviar fotos para um computador sem o risco de uma exclusão acidental no PC ser replicada no celular.
O modo "Somente receber" faz exatamente o oposto: o dispositivo recebe atualizações apenas dos demais e nunca envia alterações para o cluster. Isso pode ser usado para uma máquina que atua como receptor de backup, onde você não quer que nada que aconteça ali se propague para as máquinas de origem.
Na aba "Avançado" das configurações de uma pasta, você encontrará outras opções de ajuste fino: o intervalo de varredura (com que frequência o Syncthing verifica a pasta em busca de alterações), limites de espaço em disco, regras de verificação de arquivos e parâmetros de como os metadados, como permissões ou proprietários, são sincronizados em sistemas compatíveis.
A partir daí, você também pode abordar aspectos como a ordem de prioridade na verificação de arquivos ou combinar a pasta com mecanismos de versionamento, que veremos em mais detalhes, para controlar melhor o que acontece quando os arquivos são excluídos ou sobrescritos.
Ignorar arquivos, compartilhar com mais dispositivos e gerenciamento básico.
Cada pasta do Syncthing pode ter seu próprio arquivo. padrões ignoradosNa aba "Ignorar padrões", dentro das configurações da pasta, você pode definir quais arquivos ou caminhos não deseja sincronizar, usando caracteres curinga e expressões semelhantes às de um... .gitignore.
Isso é muito útil para excluir arquivos temporários, caches, arquivos de compilação ou qualquer coisa que não faça sentido replicar entre computadores. Isso reduz o tráfego, o uso da CPU e o espaço em disco, tanto localmente quanto em dispositivos remotos.
Se em algum momento você decidir que uma pasta que já compartilha entre dois dispositivos deve estar disponível em um terceira equipe adicionada posteriormenteBasta editar a pasta no dispositivo original, acessar a aba "Compartilhamento" e selecionar também o novo dispositivo. O Syncthing enviará todo o conteúdo necessário e o manterá atualizado.
No menu principal da pasta, você pode pausar, retomar ou excluir temporariamente a sincronização usando o botão "Remover". Remover a pasta de um dispositivo não a excluirá automaticamente de outros, mas interromperá a sincronização nesse dispositivo específico.
É uma boa ideia verificar o status de cada pasta na interface web de tempos em tempos: lá você verá o progresso da sincronização, quantidade de dados transferidosOs hashes calculados e, caso haja problemas, mensagens de erro indicando o que deu errado, como permissões insuficientes ou caminhos que não existem mais.
Controle de versão de arquivos no Syncthing
O sistema de versionamento de arquivos do Syncthing é um recurso fundamental para Proteja-se contra exclusões e sobrescritas acidentais.No entanto, se configurado incorretamente, pode se tornar um verdadeiro buraco negro de espaço em disco. Entender como ele funciona evitará surpresas desagradáveis.
Por padrão, quando um arquivo é modificado ou excluído em uma pasta sincronizada, o Syncthing simplesmente Replique essa alteração nos demais dispositivos.Isso significa que, se você excluir acidentalmente um arquivo importante em um computador, ele desaparecerá dos demais assim que a sincronização for concluída, sem opção de recuperação, a menos que você tenha um backup externo.
Ao ativar o controle de versão de arquivos para uma pasta, o Syncthing para de sobrescrever ou excluir diretamente o arquivo original. Em vez disso, Mova a versão anterior para um diretório específico. chamado .stversions dentro da própria pasta compartilhada. Dessa forma, você mantém um histórico de versões ao qual pode recorrer caso se arrependa de alguma alteração.
O problema é que, se você trabalha com arquivos muito grandes (por exemplo, vídeos ou áudios) e não define nenhum limite, a pasta .stversions Ele pode crescer descontroladamente durante meses, ocupando dezenas ou centenas de gigabytes. Existem casos reais de usuários que presenciaram isso. O processo de versionamento consumiu 160 GiB de espaço em um único diretório porque eles nunca haviam limpado as versões antigas.
Para evitar esse cenário, o Syncthing oferece vários modos de versionamento com diferentes critérios de limpeza: sem versões, lixeira, versão única, escalonado e externo. Cada um tem seu próprio caso de uso específico, e um ou outro será mais adequado dependendo de como você usa a pasta.
Modos de versionamento disponíveis e qual escolher
Se você não quiser nenhum tipo de histórico, pode deixar a pasta no modo "Sem controle de versão"Nesse caso, uma exclusão é uma exclusão, e uma sobrescrita é permanente, pelo menos no que diz respeito ao Syncthing. É o método mais simples, mas também o mais arriscado se algo der errado com um dos dispositivos.
Com o modo "Lixeira", sempre que um arquivo é excluído ou substituído, o Syncthing o move para ele. para a pasta .stversions sem nunca a excluir automaticamente.É útil quando você tem bastante espaço em disco e quer salvar todo o histórico por precaução, mas esteja ciente de que terá que limpá-lo manualmente de tempos em tempos.
"Versionamento Simples" permite que você defina regras básicas de retençãoVocê pode especificar por quantos dias deseja manter as versões antigas ou o número máximo de versões permitidas por arquivo. Você também pode ajustar o intervalo em que o Syncthing verifica se deve excluir as versões que não atendem mais a esses critérios.
O versionamento escalonado é mais sofisticado. O Syncthing armazena versões com base em sua idade, com uma política semelhante à de alguns sistemas de backup: ele mantém versões muito frequentes no início e espaça os arquivos ao longo do tempo. Por exemplo, durante a primeira hora, salva uma versão a cada 30 segundos; durante o primeiro dia, uma por hora; durante os primeiros 30 dias, uma por dia; e, até a idade máxima, uma por semana.
Por fim, o modo "Externo" permite delegar o gerenciamento de versões a um script externo que você mesmo escreveSempre que um arquivo precisa ser versionado, o Syncthing executa o comando com o caminho original e o caminho onde a versão foi salva. Essa opção é útil se você deseja integrar o Syncthing com seus próprios sistemas de backup, arquivamento a frio, compressão avançada ou qualquer outra lógica personalizada.
Usos práticos do Syncthing no dia a dia
O Syncthing tem funcionado de forma estável há anos em muitos ambientes domésticos e profissionais, e casos de uso reais dão uma boa ideia de como ele funciona. Até que ponto isso pode ser aproveitado sem a necessidade de nuvens comerciais?Vamos analisar alguns cenários típicos.
Um uso muito comum é a manutenção de um diretório compartilhado entre o computador desktop e o laptop Para projetos de vídeo, áudio ou outros projetos exigentes. Você copia os arquivos brutos para uma pasta compartilhada, processa-os onde precisar (às vezes no seu laptop, às vezes no seu computador de mesa) e deixa o Syncthing cuidar das alterações sem que você precise se preocupar com pen drives ou discos rígidos externos.
Outro cenário comum é ter uma pasta sincronizada em todos os seus dispositivos com documentos importantes: por exemplo, o seu banco de dados do gerenciador de senhas KeePassModelos, configurações ou pequenos scripts que você deseja disponibilizar em qualquer máquina sem depender de serviços como Dropbox, Google Drive ou Mega.
Em celulares Android, o Syncthing é amplamente utilizado para sincronização. as fotos da câmera com um PC ou seu próprio servidorVocê configura a pasta da câmera no seu celular no modo "Somente envio" e um diretório no seu computador no modo "Somente recebimento", para que tudo o que você fotografar seja copiado automaticamente para o seu computador principal, mas nenhum erro no PC cause exclusões no celular.
Por fim, alguns substituíram completamente seus fluxos de trabalho pela nuvem: antes, eles carregavam conteúdo em serviços proprietários e agora... Eles replicam arquivos diretamente entre seus computadores. Ao usar o Syncthing, você mantém o controle sobre onde seus dados são armazenados e como são transmitidos.
Recomendações de segurança e informações sobre como usá-lo como dispositivo de reserva.
Embora o Syncthing seja uma ferramenta de sincronização robusta e segura, é importante estar ciente de que Não se trata de um sistema de backup em sentido estrito.Sua função é replicar o estado das pastas em vários computadores; se algo for excluído ou corrompido, é muito provável que essa alteração se propague para todos os nós.
Se você pretende utilizá-lo mais para fins de backup, pode configurar esquemas em que os diretórios nas máquinas de origem estejam no modo "Somente envio" e em um servidor central no modo "Somente recebimento". Isso reduz o risco de uma exclusão no servidor se propagar para os clientes, mas ainda assim... Não protege contra erros originados no próprio equipamento do usuário..
O segredo é que, para seus arquivos realmente importantes, você deve manter Backups independentes do SyncthingSeja em um disco rígido externo desconectado, em outro servidor com snapshots ou em um serviço de backup remoto confiável, o Syncthing é mais uma peça do quebra-cabeça, não um substituto para backups.
Em ambientes com muitos dispositivos ou usuários com pouco conhecimento técnico, é recomendável oferecer treinamento sobre o funcionamento do sistema, o que significa excluir arquivos de pastas compartilhadas e onde buscar informações no sistema de controle de versões caso precisem recuperá-las. Um conhecimento básico de como usar o sistema evita problemas graves.
Usando o Syncthing com essas precauções, aproveitando suas opções de controle de versão e organizando bem as pastas, você pode configurar um Sincronização de arquivos poderosa, privada e flexível.Sem depender de terceiros e com controle total sobre seus dados e sua localização, algo cada vez mais valorizado em um mundo onde tudo tende para a nuvem comercial.
Editor especializado em temas de tecnologia e internet com mais de dez anos de experiência em diferentes mídias digitais. Já trabalhei como editor e criador de conteúdo para empresas de e-commerce, comunicação, marketing online e publicidade. Também escrevi em sites de economia, finanças e outros setores. Meu trabalho também é minha paixão. Agora, através dos meus artigos em Tecnobits, procuro explorar todas as novidades e novas oportunidades que o mundo da tecnologia nos oferece todos os dias para melhorar nossas vidas.