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.