Syncthing: Sincronização de Arquivos entre PC, Celular e Outros Dispositivos
Como sincronizar arquivos entres diversos dispositivos, de forma fácil e gratuita.
Se você precisa sincronizar arquivos entre diversos dispositivos, a melhor forma é usando o Syncthing. Ele possibilita a sincronização entre diversos dispositivos: Android, Windows, Linux e MacOS. E a sincronização é feita de forma privada e segura:
- Privado: Nenhum dos seus dados é armazenado em nenhum outro lugar além dos seus computadores. Não há um servidor central que possa ser comprometido, legal ou ilegalmente.
- Criptografado: Toda a comunicação é protegida usando TLS. A criptografia usada inclui perfect forward secrecy para evitar que qualquer bisbilhoteiro tenha acesso aos seus dados.
- Autenticado: Cada dispositivo é identificado por um certificado criptográfico forte. Apenas dispositivos que você permitiu explicitamente podem se conectar aos seus outros dispositivos.
Além de ser Open-source. 😀
Instalando o Syncthing no Windows 10
Baixe o executável do Syncthing: https://syncthing.net/downloads/
Ao acessar o link, você será redirecionado para o GitHub do Syncthing Windows Setup:
Clique em Releases para acessar as últimas versões do programa.
Clique em cima de syncthing-1.27.10-setup.exe
para baixar o executável do programa. Essa é a última versão disponível até o momento (29 de agosto de 2024).
Ao executar o executável, essa tela aparecerá:
A primeira é para instalar apenas para o seu usuário, a segunda é para instalar para todos os usuários. Escolherei a primeira opção, mas isso não influenciará em nada no tutorial.
Após escolher a opção desejada, aceite os termos clicando em Next; Na próxima tela, selecione o local de instalar ou clique em Next para deixar a padrão e seguir para a próxima tela; E, por fim, Clique em Next novamente.
Agora vem a parte importante:
Nessa tela estão informações importantes sobre as configurações do Syncthing.
O Syncthing conta com uma GUI, que será executado no endereço do segundo campo na porta do terceiro campo. Deixarei os valores padrões. Guarde os valores, se você os modificar.
URL padrão: https://127.0.0.1:8384
Aí, é só clicar em Next, Next, Install e Confirmar a caixa de diálogo “Create Windows Firewall rule for Syncthing?”. E, finalmente, a última tela mostrando que a instalação do Syncthing foi concluída. Marque a caixa “Open Synching configuration page”, isso abrirá o GUI no URL acima (ou no endereço e porta selecionado).
Após instalado, pesquise pelo Start Syncthing
no iniciar (clique no botão Windows e digite o nome) e execute-o. Se o Syncthing já estiver rodando, irá aparecer uma caixa de diálogo com “Syncthing is alright running.”.
Instalando no Linux
Debian, Ubuntu e derivados
sudo apt install syncthing
Arch Linux e derivados
sudo pacman -S syncthing
Outros
Para mais opções de Downloads acesse esse link.
Syncthing Tray no linux
GUI feita com Python e GTK, que possibilita o Tray:
- Github: https://github.com/kozec/syncthing-gtk
- Flathub: https://flathub.org/apps/me.kozec.syncthingtk
Executando o Syncthing
Você pode executar pelo menu do seu sistema Start Syncthing
ou Syncthing Web UI
, ou executando pelo terminal:
Executar com GUI
syncthing
Executar sem GUI
syncthing --no-browser
No Linux, o GUI também roda no endereço https://127.0.0.1:8384 por padrão.
Iniciando junto com o sistema (systemd)
systemctl enable syncthing@USUÁRIO_AQUI.service
systemctl start syncthing@USUÁRIO_AQUI.service
Lembre-se de trocar "USUÁRIO_AQUI" pelo seu usuário.
Instalando no Android
O Syncthing pode ser baixado pela Google Play Store ou pelo F-Droid:
- Google Play Store: https://play.google.com/store/apps/details?id=com.nutomic.syncthingandroid
- F-Droid: https://f-droid.org/packages/com.nutomic.syncthingandroid/
Como usar essa bagaça?
Primeiro, é preciso adicionar uma pasta:
- Rótulo da pasta
Uma descrição de sua preferência para a pasta. Recomendo deixar em branco.
- ID da pasta
ID pode ser resumido ao nome da pasta — a pasta que será sincronizada.
- Caminho da pasta
PATH da pasta, se a pasta não existe, será criada uma nova.
Ao salvar, a pasta estará pronta para a sincronização. Agora é só adicionar um dispositivo e compartilhar a pasta com ele.
Como adicionar um dispositivo?
Adicionarei meu celular e compartilharei uma pasta com ele.
Criei essa pasta com o ID pasta
e deixei o rótulo em branco.
Click no botão “Adicionar dispositivo remoto”:
E adicione o ID do seu dispositivo e um nome qualquer:
Como saber meu ID?
(Click aqui para ver o tutorial de como ver o ID no celular)
Aceitando pedido no Android
*Click em aceitar!
Aceitando no PC
Compartilhando a pasta entre dispositivos
E marque o dispositivo desejado:
Aceitando a pasta no Android
Aceitando a pasta no PC
No PC é dá mesma forma que aceita um dispositivo.
Finalmente acabou :)
Com isso, você já consegue usar o Syncthing de forma aceitável. Lembre-se de esperar a sincronização ser concluída para evitar corromper os arquivos.
Dica: use git para versionamento da pasta.
Script em Bash que uso para fazer commits rapidamente:
#!/bin/bash
# Adiciona todos os arquivos modificados ao stage
git add .
# Obtém a data e hora atual no formato desejado para o commit
datahora=$(date +'%Y-%m-%d %H:%M:%S')
# Faz o commit com a mensagem contendo a data e hora atual
git commit -m "Update $datahora" -m "Arquivos modificados:
$(git diff --name-only --cached)"