Depois das notícias sobre os possíveis problemas de privacidade e segurança e mudanças no rumo do BitTorrent Sync (BTSync / Resilio), tentei encontrar uma alternativa para sincronizar pastas entre computadores. Como serviços como o Dropbox ou Google Drive estavam fora de questão, decidi testar o Syncthing.

Syncthing

O Syncthing é mais seguro que o BTSync, é gratuito, rápido, open source, é capaz de guardar várias versões do mesmo ficheiro e corre nos sistemas operativos mais populares (Windows, OS X, Android).

Como a minha sincronização de ficheiros é feita quase sempre dentro da mesma rede e entre computadores, o conteúdo não precisa ficar alojado online. Se precisas de ter sempre o conteúdo online e sempre disponível, podes instalar o Syncthing numa VPS barata (Linode ou DigitalOcean são boas soluções) e ficas com uma solução bem parecida ao Dropbox.

Clientes para Windows, Mac e Android

Update: Agora o projecto sugere uma app para cada plataforma: syncthing.net

Infelizmente não existem apps oficiais para todas as plataformas. A única coisa oficial é o “Syncthing Core”, mas isso é para ser usado por “pros” e não por utilizadores normais.

A solução é usar programas criados por membros da comunidade. Na página “Community Contributions” podemos encontrar alguns desses programas.

Os “GUI Wrappers” (QSyncthingTray, por exemplo) são uma solução simples e fáceis de usar e alguns suportam vários sistemas operativos. Eu optei por usar soluções com mais funcionalidades:

Não existe, tanto quanto sei, uma app para iOS devido às limitações do sistema.

Os prós e contras do Syncthing

O Syncthing é gratuito, super fácil de atualizar, seguro, atualizado regularmente e open source, o que significa que qualquer pessoa pode contribuir ou analisar o código. É capaz de sincronizar muitos ficheiros e gigabytes sem problemas (neste momento tenho 9060 ficheiros, distribuídos por 442 pastas, ocupando 112GB) entre várias instalações (no total tenho 4 computadores e 5 telemóveis com o Syncthing instalado). A velocidade é muito boa, consigo chegar aos 70-80MBps entre o meu portátil e o PC usando WiFi 5Ghz. Em termos de recursos, nem noto que está sempre a correr em background.

Resources

A principal diferença entre o Syncthing e serviços como o Dropbox, Google Drive, One Drive, etc, é que os ficheiros não ficam alojados na “cloud” (é possível alugar uma VPS barata, Linode ou DigitalOcean são boas soluções para manter uma cópia noutro lugar sempre online). Em termos de privacidade é superior aos serviços que mencionei e do ponto de vista da segurança, desde que os computadores estejam seguros, também não há problemas.

Para mim é bastante estável. Já passaram dois anos desde que inicialmente escrevi este post e até agora não perdi nenhum ficheiro ou tive problemas com as atualizações automáticas.

O único problema, que me afeta por usar vários sistemas operativos (MacOS, Windows 10, Android), é a forma como o Syncthing trabalha com ficheiros específicos de cada sistema (.DS_Store, .Thumbs.db, etc). Por exemplo, é comum encontrar os .DS_Store do meu mac nas pastas do Windows.

Embora seja possível criar uma lista de ficheiros ou extensões a serem ignoradas, vamos acabamos por ficar com as pastas “out of sync” depois de algum tempo. Por outras palavras, para que tudo funcione bem entre várias plataformas, os .DS_Store do OS X serão visíveis no Windows e os .Thumbs.db do Windows serão visíveis no OS X. (Há um ticket no Github sobre isto: Next Gen Ignores: Requirements #2491). Em qualquer caso basta ignorar estes ficheiros… passado alguns meses já nem notas que isto acontece.

O outro ponto negativo, na minha opinião, é a falta de programas oficiais para cada plataforma. Oficialmente suportam o Syncthing Core, a base que faz tudo trabalhar, mas como expliquei em cima recomendam ferramentas criadas pela comunidade. Para mim não é um problema, mas para o utilizador comum é complicado ter que ir ao Github e descarregar o programa. É uma coisa que deveriam melhorar.

Links úteis:


Post atualizado no dia 2017-10-07 com nova informação sobre o Syncthing.