Sobre o projeto
Intrakill (InternalStorageOverkill) é um aplicativo local de armazenamento de mídia criptografado, escrito em Kotlin Multiplatform. Ele tem como alvo desktop JVM e Android; iOS não é suportado. O autor observa que ele é mais adequado para anexos de mídia agrupados, como mangás e quadrinhos.
Modelo de dados e armazenamento
- O armazenamento é uma lista de entradas; cada entrada tem um nome, anexos e tags.
- O banco de dados é um arquivo SQLite criptografado com SQLCipher chamado secured.db.
- Caminho no desktop: ~/.Intrakill/databases/secured.db (Windows: c:\Users\%username%\.Intrakill\databases\secured.db).
- Caminho no Android: context.getDatabasePath("secured.db"), gerenciado pelo sistema operacional.
- O aplicativo destina-se principalmente a imagens e vídeo.
Importação/exportação
- Uma instância de desktop pode exportar seu armazenamento pela rede local.
- O importador fornece o IP do dispositivo de origem e a senha; após a importação, a mesma senha desbloqueia o armazenamento no dispositivo importador.
- O design evita deliberadamente o compartilhamento em nuvem.
Comportamento da senha
- Não há redefinição de senha. Esquecer a senha significa perder o armazenamento; a viabilidade de força bruta depende da robustez da senha.
- Não há recurso dedicado para recriar um armazenamento; sugere-se excluir o arquivo do banco de dados ou reinstalar o aplicativo.
Compilação e execução
- Build de depuração para Android: ./gradlew :composeApp:assembleDebug (ou gradlew.bat no Windows).
- Execução no desktop: ./gradlew :composeApp:run (ou gradlew.bat no Windows).
- Configurações de execução na IDE também são suportadas.
Notas de implementação
- A arquitetura de UI/estado é construída em torno da biblioteca Decompose, à qual o autor atribui o fato de tornar o tratamento de estado direto.
- O autor afirma que assistentes de IA influenciaram partes da implementação e que o Kotlin Multiplatform teve uma curva de aprendizado íngreme em comparação com Flutter e React.
Contribuições são bem-vindas por meio de issues ou pull requests.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.