Christian Hergert (
para conectar vários dispositivos Linux em uma rede doméstica, quando você precisa acessar arquivos e dados de aplicativos em todos os computadores, mas não deseja transferir seus dados para serviços em nuvem de terceiros. O código do projeto é escrito em C e
Bonsai inclui o processo de segundo plano bonsaid e a biblioteca de funções libbonsai para fornecer serviços semelhantes aos da nuvem. O processo em segundo plano pode ser iniciado na estação de trabalho principal ou em um minicomputador Raspberry Pi em execução constante na rede doméstica, conectado a uma rede sem fio e a uma unidade de armazenamento. A biblioteca é usada para fornecer aos aplicativos GNOME acesso aos serviços Bonsai usando uma API de alto nível. Para conectar-se a dispositivos externos (outros PCs, laptops, telefones, dispositivos de Internet das Coisas), é proposto o utilitário bonsai-pair, que permite gerar um token para conexão a serviços. Após a ligação, um canal criptografado (TLS) é organizado para acessar serviços nos quais são utilizadas solicitações D-Bus serializadas.
O Bonsai não se limita apenas ao compartilhamento de dados e também pode ser usado para criar armazenamentos de objetos entre sistemas com suporte para sincronização parcial entre dispositivos, transações, índices secundários, cursores e a capacidade de sobrepor alterações locais específicas do sistema sobre um arquivo compartilhado. banco de dados compartilhado. O armazenamento de objetos compartilhados é construído com base
Atualmente é oferecido apenas um serviço de acesso ao armazenamento de arquivos, mas no futuro está prevista a implementação de outros serviços de acesso a correio, planejador de calendário, notas (ToDo), álbuns de fotos, coleções de músicas e vídeos, sistema de busca, backup, VPN e breve. Por exemplo, usando o Bonsai em diferentes computadores em aplicativos GNOME, você pode organizar o trabalho com um calendário sincronizado, um agendador ou uma coleção comum de fotos.
Fonte: opennet.ru