Christian Hergert (), autor zintegrowanego środowiska programistycznego GNOME Builder, obecnie pracujący w Red Hat, projekt eksperymentalny , mające na celu rozwiązanie problemu synchronizacji zawartości wielu urządzeń z systemem GNOME. Użytkownicy mogą używać Bonsai
połączyć kilka Linux- urządzeń w sieci domowej, gdy potrzebujesz dostępu do plików i danych aplikacji na wszystkich komputerach, ale nie chcesz przesyłać danych do zewnętrznych usług chmurowych. Kod projektu został napisany w języku C i licencjonowany na licencji GPLv3.
Bonsai obejmuje proces tła bonsaid i bibliotekę funkcji libbonsai do świadczenia usług typu cloud-like. Proces tła można uruchomić na głównej stacji roboczej lub minikomputerze Raspberry Pi stale działającym w sieci domowej, podłączonym do sieci bezprzewodowej i urządzenia pamięci masowej. Biblioteka służy do organizowania dostępu aplikacji GNOME do usług Bonsai za pomocą interfejsu API wysokiego poziomu. Do łączenia się z urządzeniami zewnętrznymi (innymi komputerami, laptopami, telefonami, urządzeniami Internetu rzeczy) proponowane jest narzędzie bonsai-pair, umożliwiające generowanie tokena do łączenia się z usługami. Po nawiązaniu połączenia organizowany jest zaszyfrowany kanał (TLS) do uzyskiwania dostępu do usług, w których wykorzystywane są szeregowe żądania D-Bus.
Bonsai nie ogranicza się tylko do udostępniania danych i może być również używany do tworzenia międzysystemowych magazynów obiektów z obsługą częściowej synchronizacji między urządzeniami, transakcjami, indeksami pomocniczymi, kursorami i możliwością nakładania lokalnych zmian specyficznych dla systemu na współdzieloną bazę danych. Współdzielony magazyn obiektów jest zbudowany na и .
Obecnie oferowana jest jedynie usługa dostępu do pamięci masowej plików, ale w przyszłości planowane jest wdrożenie innych usług dostępu do poczty, kalendarza-planera, notatek (ToDo), albumów ze zdjęciami, kolekcji muzyki i wideo, systemu wyszukiwania, tworzenia kopii zapasowych, VPN itp. Przykładowo, używając Bonsai na różnych komputerach w aplikacjach GNOME, będzie można organizować pracę za pomocą zsynchronizowanego kalendarza-planera lub wspólnej kolekcji zdjęć.
Źródło: opennet.ru
