Skip to content

auanK/kasumi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kasumi (霞)

Uma engine de sincronização de arquivos de alto desempenho, escrita em C++23, projetada desde o início com foco absoluto em privacidade e processamento na borda (Edge Computing).

Para que serve?

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.

Como Funciona (Processamento na Borda)

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. Melhorias e novas implementações virão com o tempo, como por exemplo: integração com uma API própria, transporte P2P nativo e detecção inteligente de renomeação e cópia de arquivos.

Stack Tecnológica

  • Linguagem Base: C++23
  • Estrutura e Segurança: BLAKE3 (Árvores de Merkle) e Monocypher (Argon2id e ChaCha20-Poly1305)
  • Persistência de Estado: SQLite (para guardar o histórico local)
  • Motor de Transporte: Rclone (para abstrair o envio à nuvem)
  • Build e Testes: CMake, Ninja e GoogleTest

About

Engine assíncrona para sincronização descentralizada de arquivos com nuvem passiva.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors