Bonsai, um serviço de sincronização multi-dispositivo centrado no Gnome

gnomo-bonsai

Christian Hergert, desenvolvedor da Red Hat que trabalhou no ambiente de desenvolvimento integrado do Gnome Builder, introduziu um novo projeto piloto chamado "Bonsai" Qual tem como foco principalEu serei executado como um solução para o problema de sincronização do conteúdo de vários dispositivos usando o Gnome.

Os usuários podem usar o Bonsai para conectar vários dispositivos Linux em sua rede doméstica quando precisam acessar arquivos e dados de aplicativos em todos os computadores, mas não desejam transferir seus dados para serviços de nuvem de terceiros.

Bonsai deve funcionar de forma semelhante a uma nuvem pessoal.

Bonsai é um daemon e uma biblioteca compartilhada para fornecer e consumir serviços pessoais semelhantes à nuvem. O público-alvo são os usuários da área de trabalho GNOME com vários dispositivos para os quais você gostaria de ter seu conteúdo sincronizado.

Sobre o Bonsai

Bonsai inclui o processo de plano de fundo do bonsaid e a biblioteca de recursos libbonsai para fornecer serviços semelhantes à nuvem.

O processo em segundo plano pode ser iniciado na estação de trabalho principal ou em um minicomputador O Raspberry Pi está constantemente conectado à rede sem fio e a um dispositivo de armazenamento de dados que funciona permanentemente na rede doméstica.

A biblioteca é usada para fazer os aplicativos GNOME acessarem os serviços Bonsai usando uma API de alto nível.

Para se comunicar com dispositivos externos (outros PCs, laptops, telefones, dispositivos da Internet das Coisas), o utilitário bonsai-pair é proposto, o que permite gerar um token para se conectar aos serviços. Após a ligação, um canal criptografado (TLS) é organizado para acessar serviços usando solicitações D-Bus serializadas.

Bonsai não se limita apenas a compartilhar dados y também pode ser usado para criar objetos acessíveis a vários sistemas com suporte para sincronização parcial entre dispositivos, transações, índices secundários, cursores e a capacidade de aplicar alterações locais específicas do sistema em cima de um banco de dados compartilhado comum.

Armazenamento de objetos comuns é baseado na API GVariant e LMDB.

Os aplicativos são muito melhores quando podem se comunicar entre dispositivos. Portanto, uma biblioteca Data-Access-Object, apropriadamente chamada libbonsai-dao, fornece armazenamento de objetos serializáveis ​​com base em GVariant e LMDB.

 Suporta índices primários e secundários, consultas, cursores, transações e sincronização incremental entre dispositivos. Ele tem a capacidade de alterar as mudanças locais sobre as mudanças puxadas do dispositivo Bonsai principal.

Atualmente, apenas um serviço é oferecido para acessar o armazenamento de arquivos, mas no futuro está planejado implementar outros serviços para acessar e-mail, planejador de calendário, notas (tarefas pendentes), álbuns de fotos, coleções de música e vídeo, sistema de pesquisa, backup, VPN etc.

Por exemplo, usando o Bonsai em diferentes computadores em aplicativos Gnome, você pode organizar o trabalho com um planejador de calendário sincronizado ou uma coleção comum de fotos.

Além dissos Christian Hergert menciona que o serviço não é seguro no momento, mas funcionará em tempo real para isolar os aplicativos e melhorar essa parte para tornar o serviço seguro.

Em particular, precisamos fornecer aos desenvolvedores ótimas ferramentas para construir aplicativos que suportem nativamente a sincronização de dispositivos.

O que eu construí para experimentar tudo isso é Bonsai. É uma grande experiência neste estágio, mas está ficando interessante o suficiente para colaborar com outras pessoas que desejam se juntar a mim.

Como obter e instalar o Bonsai?

Em relação ao projeto, para aqueles interessados ​​em saber como funciona, experimente ou olhe seu código-fonte, você deve saber que o código do projeto é escrito em C e vem sob a licença GPLv3. Isso pode ser obtido no Gitlab no link a seguir.

A construção da embalagem pode ser feita com o auxílio de Meson. 

git clone https://gitlab.gnome.org/chergert/bonsai.git
cd bonsai/
meson build --prefix=/opt/gnome --libdir=lib
cd build/
ninja
ninja install

Se quiser saber mais sobre este serviço, pode consultar a publicação original no link a seguir


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: AB Internet Networks 2008 SL
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.