Bonsai, a device sync service for GNOME, is introduced

Christian Hergert (Christian Hergert), author of the GNOME Builder integrated development environment, now at Red Hat, presented pilot project Bonsai, aimed at solving the problem of synchronizing the content of multiple devices that use GNOME. Users can use Bonsai
for linking multiple Linux devices on a home network when you need to access files and application data on all computers, but do not want to transfer your data to third-party cloud services. The project code is written in C language and supplied licensed under GPLv3.

Bonsai includes a bonsaid background process and a library of libbonsai functions to provide cloud-like services. The background process can be run on the main workstation or a Raspberry Pi mini-computer constantly running on the home network, connected to a wireless network and a storage drive. The library is used to allow GNOME applications to access Bonsai services using a high-level API. To connect with external devices (other PCs, laptops, phones, IoT devices), the bonsai-pair utility is proposed, which allows you to generate a token for connecting to services. After binding, an encrypted channel (TLS) is organized to access services in which serialized D-Bus requests are used.

Bonsai is not limited to data sharing, but can also be used to create cross-system object stores with support for partial synchronization across devices, transactions, secondary indexes, cursors, and the ability to overlay system-specific local changes on top of a shared shared database. The shared object storage is based on GVariant API и LMDB.

Currently, only a service for accessing file storage is offered, but in the future it is planned to implement other services for accessing mail, a calendar-scheduler, notes (ToDo), photo albums, music and video collections, a search system, backup, VPN and so on. For example, using Bonsai on different computers in GNOME applications, it will be possible to organize work with a synchronized calendar scheduler or a shared photo collection.

Source: opennet.ru

Add a comment