lançamento do sistema de sincronização automática de arquivos , onde os dados sincronizados não são carregados em armazenamentos em nuvem, mas replicados diretamente entre os sistemas do usuário quando eles aparecem simultaneamente online, utilizando o protocolo BEP (Block Exchange Protocol) desenvolvido pelo projeto. O código do Syncthing é escrito em Go e é licenciado sob a licença MPL. Compilações prontas para Linux, Android, Windows, macOS, FreeBSD, Dragonfly BSD, NetBSD, OpenBSD e Solaris.
Além de resolver problemas de sincronização de dados entre vários dispositivos de um único usuário, o Syncthing possibilita a criação de grandes redes descentralizadas para o armazenamento de dados compartilhados, distribuídos pelos sistemas dos participantes. Oferece ferramentas flexíveis para controle de acesso e criação de exceções para sincronização. É possível definir hosts que apenas receberão dados, ou seja, a modificação de dados nesses hosts não será refletida nas instâncias de dados armazenadas em outros sistemas. Suporta de versionamento de arquivos, onde as versões anteriores dos dados alterados são mantidas.
Durante a sincronização, o arquivo é logicamente dividido em blocos, que são partes indivisíveis na transmissão de dados entre os sistemas do usuário. Ao sincronizar com um novo dispositivo, se houver blocos idênticos em vários dispositivos, a cópia dos blocos é realizada a partir de diferentes nós, semelhante ao funcionamento do sistema BitTorrent.
Quanto mais dispositivos participarem da sincronização, mais rápida será a replicação de novos dados devido ao paralelismo. Durante a sincronização de arquivos alterados, somente os blocos de dados que foram alterados são transferidos pela rede, e ao renomear ou alterar permissões, apenas os metadados são sincronizados.
Os canais de transmissão de dados são formados por meio de TLS, onde todos os nós se autenticam mutuamente por meio de certificados e identificadores de dispositivos, e SHA-256 é utilizado para controle de integridade. Para identificar nós de sincronização na rede local, pode ser utilizado o protocolo UPnP, que elimina a necessidade de inserir manualmente os endereços IP dos dispositivos sincronizados. Um interface web integrada está disponível para configuração do sistema e monitoramento, e GUI , que também fornece ferramentas para gerenciar nós de sincronização e repositórios. Para facilitar a busca de nós Syncthing servidor de coordenação para detecção de nós, para o qual
uma imagem Docker pronta.
No novo lançamento:
- um novo protocolo de transporte, baseado em (Quick UDP Internet Connections) com complementos para atravessar tradutores de endereços (NAT). O TCP ainda é recomendado como protocolo preferido para estabelecer conexões;
- Melhor tratamento de erros fatais e adição de para enviar automaticamente relatórios de problemas aos desenvolvedores. O envio de relatórios está habilitado por padrão, e para desativá-lo, vá para as configurações opção especial. É destacado que os dados no relatório de falha não incluem nomes de arquivos, dados de log, identificadores de dispositivos, estatísticas e outras informações pessoais;
- O uso de blocos pequenos e fixos (128 KiB) foi declarado obsoleto, ao indexar e transferir o conteúdo dos arquivos agora apenas grandes blocos de tamanho variável;
- Na interface, é mostrado o último erro de conexão para cada um dos endereços especificados;
- Na WebUI, o layout das colunas da tabela foi otimizado para ser exibido corretamente em telas estreitas;
- Foram feitas mudanças que quebram a compatibilidade. O novo lançamento não é compatível com hosts baseados no Syncthing 0.14.45 e versões mais antigas.
Fonte: opennet.ru
