Version 0.4.1 of the syncspirit program is now available, enabling automatic continuous file synchronization for users across multiple devices. The project addresses similar tasks as the proprietary Resilio Sync system (formerly BitTorrent Sync). Syncspirit is written in C++ and is distributed under the GPLv3 license. The graphical interface is built using the FLTK library; an embedded domestic database management system, libmdbx, is used for database storage; and the rotor actor framework is utilized for event handling. Ready builds are available for Linux (x86_64, AppImage), Windows (Windows XP supported), and macOS.
Syncspirit is an independent implementation of the BEP synchronization protocol proposed by the Syncthing project. Synchronized data is not uploaded to third-party cloud storage but is directly replicated between the user's systems when they are online simultaneously. Syncspirit is compatible with Syncthing at the protocol level and uses the Syncthing infrastructure to identify network participants.
Unlike the Syncthing project, which is written in Go and uses a client-server architecture with a REST API (with a web browser as the client), syncspirit provides both a background process implementation (syncspirit-daemon) and a separate application with a graphical interface, enabling more efficient memory usage.

New features in version 0.4.1:
- A unified model for shared folders, allowing detailed information about any file, including remote ones, to be obtained from the folder on both local and connected devices.
- The ability to import folder contents. This is useful in cases where files are already available locally, and one would like to avoid network synchronization.
- Improved performance for synchronizing a large number of small files.
- Enhanced compatibility with the BEP protocol:
- The ability to set the folder synchronization type (folder_type): receive changes only, send changes only, and bidirectional synchronization.
- Support for the 'disable_temp_indexes' option to disable notifications to connected devices about the downloading process of large files.
- Support for synchronizing file permissions and the ability to ignore them.
- Ability to set the "ignore_deletes" flag to prevent local deletion of shared files if they were deleted on the paired device.
- Ability to set the "auto-accept" flag for automatic synchronization of previously unknown files for trusted devices.
- Ability to set the "introducer" flag for automatic pairing with devices known to a previously paired device.
- Ability to compress outgoing traffic (data and metadata) using the LZ4 algorithm.
- Ability to sort files before synchronization: alphabetically, by size, or by modification date.
- Fixed identified bugs.
Source: opennet.ru
