Lancement du système P2P open source de synchronisation de fichiers Syncthing 2.0

La version du système de synchronisation automatique de fichiers Syncthing 2.0 a été présentée, où les données synchronisées ne sont pas téléchargées dans des stockages cloud, mais sont répliquées directement entre les systèmes de l'utilisateur lorsqu'ils apparaissent simultanément en ligne, utilisant le protocole BEP (Block Exchange Protocol) développé par le projet. Le code de Syncthing est écrit en Go et est distribué sous la licence libre MPL. Des versions précompilées sont disponibles pour Linux, Windows, macOS et FreeBSD.

En plus de résoudre les problèmes de synchronisation des données entre plusieurs appareils d'un même utilisateur, Syncthing permet également de créer de grands réseaux décentralisés pour le stockage de données partagées, qui sont réparties sur les systèmes des participants. Des moyens de contrôle d'accès et de création d'exceptions pour la synchronisation sont fournis. Il est possible de définir des hôtes qui ne recevront que des données, c'est-à-dire que les modifications apportées à ces hôtes ne seront pas reflétées sur les instances de données stockées sur d'autres systèmes. Plusieurs modes de versioning de fichiers sont pris en charge, où les anciennes versions des données modifiées sont conservées.

Lors de la synchronisation, le fichier est logiquement divisé en blocs qui sont indivisibles lors de la transmission de données entre les systèmes de l'utilisateur. Lors de la synchronisation sur un nouvel appareil, en cas de présence de blocs identiques sur plusieurs appareils, la copie des blocs se fait à partir de différents nœuds, similaire au fonctionnement du système BitTorrent. Plus il y a d'appareils participant à la synchronisation, plus la réplication de nouvelles données sera rapide grâce au parallélisme. Au cours du processus de synchronisation des fichiers modifiés, seuls les blocs de données modifiés sont transmis sur le réseau, et lors du renommage ou de la modification des droits d'accès, seules les métadonnées sont synchronisées.

Les canaux de transmission de données sont formés à l'aide de TLS, tous les nœuds s'authentifient mutuellement par des certificats et des identifiants d'appareils, et SHA-256 est utilisé pour contrôler l'intégrité. Le protocole UPnP peut être utilisé pour identifier les nœuds de synchronisation dans le réseau local, sans nécessiter de saisie manuelle. adresses IP Appareils synchronisés. Pour configurer le système et surveiller son fonctionnement, une interface web intégrée, un client CLI et une interface graphique basée sur la bibliothèque GTK sont disponibles, offrant des outils de gestion des nœuds de synchronisation et des dépôts.

Changements clés dans la nouvelle version :

  • Le backend de stockage a été transféré de LevelDB à SQLite. La migration des données se fait automatiquement lors du premier démarrage après la mise à jour. On s'attend à ce que l'utilisation de SQLite simplifie la maintenance et l'analyse des données, tout en réduisant le nombre d'erreurs.
  • Le format des journaux a été modifié, ces derniers étant maintenant générés sous forme structurée (message + paramètres au format clé-valeur). Un nouveau niveau de journalisation — WARNING, moins détaillé que INFO mais offrant plus d'informations que le niveau ERROR — a été ajouté. Il est désormais possible d'attribuer différents niveaux de journalisation à différents paquets.
  • La conservation indéfinie des éléments supprimés dans la base de données a été arrêtée, ces éléments étant désormais supprimés après 6 mois (ce délai peut être modifié via l'option « —db-delete-retention-interval »).
  • Le code pour analyser les options de la ligne de commande a été amélioré, et la prise en charge des formats obsolètes avec un tiret unique a été arrêtée (c'est-à-dire qu'au lieu de « -home », il faut indiquer « —home »). Certaines options ont été renommées ou converties en sous-commandes.
  • La création d'un répertoire par défaut lors du premier démarrage a été supprimée.
  • L'établissement de plusieurs connexions réseau entre les appareils utilisant Syncthing 2.x est désormais activé. Par défaut, trois connexions sont créées : une pour les métadonnées d'index et deux pour l'échange de données.
  • L'algorithme de résolution des conflits en cas de suppression de fichiers a été modifié.
  • En raison des difficultés liées à la compilation croisée de SQLite, la construction de fichiers exécutables prêts pour les plateformes dragonfly/amd64, illumos/amd64, solaris/amd64, linux/ppc64, netbsd/*, openbsd/386, openbsd/arm et windows/arm a été abandonnée.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster