Christian Hergert (), the author of the integrated development environment GNOME Builder, currently working at Red Hat, an experimental project , aimed at solving the issue of synchronizing content across multiple devices using GNOME. Users can utilize Bonsai
to link multiple Linux devices in their home network, enabling access to files and application data on all computers without having to send their data to third-party cloud services. The project's code is written in C, and under the GPLv3 license.
Bonsai includes a background process called bonsaid and a function library libbonsai to provide services that resemble cloud functionalities. The background process can run on a primary workstation or a constantly operating Raspberry Pi mini-computer in the home network, connected to Wi-Fi and a data storage drive. The library is used to facilitate GNOME applications' access to Bonsai services through a high-level API. To connect with external devices (other PCs, laptops, phones, Internet of Things devices), a utility called bonsai-pair is offered, which generates a token for connecting to services. After pairing, an encrypted channel (TLS) is established for accessing the services, utilizing serialized D-Bus requests.
Bonsai is not limited to providing data sharing; it can also be used to create object storage accessible by multiple systems, supporting partial synchronization between devices, transactions, secondary indexes, cursors, and the ability to overlay system-specific local changes on a shared database. The general object storage is built on the and .
Currently, only a service for accessing file storage is offered, but in the future, more services are planned for accessing mail, calendar-scheduling, notes (ToDo), photo albums, music and video collections, search systems, backups, VPNs, etc. For example, with Bonsai, it will be possible to organize a synchronized calendar or a shared photo collection across different computers in GNOME applications.
Source: opennet.ru
