Christian Hergert (
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
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
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