La version du programme syncspirit 0.4.5 est disponible, permettant d'organiser une synchronisation continue et automatique des fichiers de l'utilisateur sur plusieurs appareils. Ce projet s'attaque à des problèmes similaires à ceux du système propriétaire Resilio Sync (anciennement BitTorrent Sync). Syncspirit est écrit en C++ et distribué sous licence GPLv3. L'interface graphique est construite à l'aide de la bibliothèque FLTK ; pour le stockage de la base de données, une base de données embarquée nationale libmdbx est utilisée ; un framework d'acteurs rotor est appliqué pour le traitement des événements. Des versions prêtes à l'emploi sont disponibles pour Linux (x86_64, AppImage), Windows (avec prise en charge de Windows XP) et macOS.
Syncspirit représente une implémentation indépendante du protocole de synchronisation BEP proposé par le projet Syncthing. Les données synchronisées ne sont pas téléchargées dans des stockages cloud tiers, mais répliquées directement entre les systèmes de l'utilisateur lorsqu'ils apparaissent simultanément en ligne. Syncspirit s'intègre sans heurt avec les nœuds Syncthing au niveau du protocole et utilise l'infrastructure de Syncthing pour déterminer les participants au réseau (cette option peut être désactivée).
Contrairement au projet Syncthing, qui est écrit en Go et utilise une architecture client-serveur avec API REST (le client étant un navigateur Web), syncspirit propose une implémentation en tant que processus d'arrière-plan syncspirit-daemon ainsi qu'une application distincte avec une interface graphique, permettant de consommer la mémoire vive de manière plus économiquement.

Les nouveautés clés par rapport à l'annonce précédente de la version 0.4.1 :
- Un suivi automatique des modifications dans le système de fichiers et leur synchronisation ultérieure avec le cluster a été mis en œuvre (les mécanismes système disponibles inotify, ReadDirectoryChangesW et kqueue sont utilisés).
- La possibilité d'analyser de manière complémentaire un répertoire imbriqué arbitraire a été ajoutée.
- Un rejet automatique des fichiers avec des noms non représentables en UTF8 a été assuré.
- La possibilité de régénérer des certificats a été introduite.
- La consommation de mémoire a été réduite (d'environ 30-40 %) et la charge sur le CPU diminuée.
- La possibilité d'indiquer manuellement les certificats racines a été ajoutée (pertinente pour les systèmes avec des certificats système expirés).
- La compatibilité avec Syncthing 2.0 a été améliorée.
- La transition vers un système de construction automatique (CI/CD) SourceCraft a été réalisée.
Source : opennet.ru
