La version 0.4.1 de syncspirit est disponible, permettant d'organiser la synchronisation automatique et continue des fichiers d'un utilisateur sur plusieurs appareils. Ce projet répond à des besoins similaires à ceux du système propriétaire Resilio Sync (anciennement BitTorrent Sync). Syncspirit est écrit en C++ et distribué sous la licence GPLv3. L'interface graphique est construite avec 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 ; le traitement des événements repose sur le framework d'acteurs rotor. Des versions prêtes à l'emploi sont disponibles pour Linux (x86_64, AppImage), Windows (Windows XP est pris en charge) et macOS.
Syncspirit est 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 vers des magasins cloud tiers, mais sont reproduites directement entre les systèmes de l'utilisateur lorsqu'ils apparaissent simultanément en ligne. Syncspirit est compatible avec Syncthing au niveau du protocole et utilise l'infrastructure de Syncthing pour déterminer les participants du réseau.
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.

Nouveautés de la version 0.4.1 :
- Un modèle unifié de dossiers partagés, permettant d'obtenir des informations détaillées sur n'importe quel fichier, y compris les fichiers distants, depuis un dossier, tant sur l'appareil local que sur l'appareil connecté.
- Possibilité d'importer le contenu d'un dossier. Cela est pertinent dans les cas où les fichiers sont déjà présents localement et où l'on souhaite éviter la synchronisation réseau.
- Performances de synchronisation améliorées pour un grand nombre de petits fichiers.
- Amélioration de la compatibilité avec le protocole BEP :
- Possibilité de définir le type de synchronisation du dossier (folder_type) : réception uniquement des modifications, envois uniquement et synchronisation bidirectionnelle.
- Prise en charge de l'option « disable_temp_indixes » pour désactiver la notification des appareils connectés concernant le téléchargement de gros fichiers.
- Prise en charge de la synchronisation des permissions de fichiers (permissions) et possibilité de les ignorer (ignore_permissions).
- Possibilité de définir le drapeau « ignore_deletes » pour empêcher la suppression locale des fichiers partagés, si ceux-ci ont été supprimés sur l'appareil connecté.
- Possibilité de définir le drapeau « auto-accept » pour la synchronisation automatique des fichiers précédemment inconnus pour les appareils de confiance.
- Possibilité de définir le drapeau « introducer » pour le couplage automatique avec des appareils précédemment connus de l'appareil connecté.
- Possibilité de compression du trafic sortant (données et métadonnées) à l'aide de l'algorithme LZ4.
- Possibilité de trier les fichiers avant la synchronisation : par ordre alphabétique, par taille ou par date de modification.
- Erreurs détectées corrigées.
Source : opennet.ru
