Uma engine focada em privacidade para sincronização de arquivos, escrita em C++ moderno.
A Kasumi serve para manter seus arquivos sincronizados de forma segura entre várias máquinas (como por exemplo seu desktop fixo e portátil).
- Diferente de um P2P puro: As suas máquinas não precisam estar ligadas ao mesmo tempo para sincronizarem. A nuvem funciona como uma sala de espera assíncrona.
- Diferente de uma Nuvem pura: O servidor central não precisa de processamento, banco de dados ou inteligência. Ele só armazena pacotes.
A ideia central é colocar toda a inteligência na borda (nos seus dispositivos) e deixar o meio do caminho burro:
- Inteligência Local: É a sua própria máquina que faz o trabalho pesado. A Kasumi varre as pastas, calcula as alterações usando Árvores de Merkle na memória e gerencia o que precisa ser enviado ou baixado.
- Criptografia e Privacidade: Antes de qualquer arquivo sair do seu PC, ele é criptografado localmente. O destino central recebe apenas blocos cegos, sem nunca saber o conteúdo ou os nomes reais dos arquivos.
- Destino Passivo: O destino (Nuvem, VPS ou Disco) atua puramente como um repositório de blocos binários. Ele não indexa dados nem processa metadados, servindo apenas como uma camada de persistência para os dados já processados na borda.
Projeto em fase inicial de desenvolvimento, mais melhorias e ideias de implementações virão com o tempo como por exemplo arquitetura para snapshots, versionamento, detecção de renomeação, etc.
- Linguagem: C++23
- Build System: CMake + Ninja
- Testes Automatizados: GoogleTest
- Persistência Local: SQLite
- Motor de Transporte: Rclone