Об этом проекте

Intrakill (InternalStorageOverkill) — локальное зашифрованное приложение для хранения медиафайлов, написанное на Kotlin Multiplatform. Оно ориентировано на JVM desktop и Android; iOS не поддерживается. Автор отмечает, что оно лучше всего подходит для группированных медиавложений, таких как манга и комиксы. Модель данных и хранение - Хранилище — это список записей; каждая запись имеет имя, вложения и теги. - База данных — это зашифрованный SQLCipher файл SQLite с именем secured.db. - Путь на desktop: ~/.Intrakill/databases/secured.db (Windows: c:\Users\%username%\.Intrakill\databases\secured.db). - Путь на Android: context.getDatabasePath("secured.db"), управляется ОС. - Приложение в основном предназначено для изображений и видео. Импорт/экспорт - Экземпляр на desktop может экспортировать своё хранилище по локальной сети. - Импортирующий указывает IP-адрес исходного устройства и пароль; после импорта тот же пароль разблокирует хранилище на импортирующем устройстве. - Дизайн намеренно избегает облачного обмена. Поведение пароля - Сброса пароля нет. Забытый пароль означает потерю хранилища; возможность перебора зависит от надёжности пароля. - Нет специальной функции для пересоздания хранилища; предлагается удалить файл базы данных или переустановить приложение. Сборка и запуск - Отладочная сборка Android: ./gradlew :composeApp:assembleDebug (или gradlew.bat на Windows). - Запуск desktop: ./gradlew :composeApp:run (или gradlew.bat на Windows). - Также поддерживаются конфигурации запуска в IDE. Примечания по реализации - Архитектура UI/состояния построена вокруг библиотеки Decompose, которую автор считает заслугой в упрощении управления состоянием. - Автор заявляет, что ИИ-ассистенты повлияли на части реализации, и что Kotlin Multiplatform имел крутую кривую обучения по сравнению с Flutter и React. Вклад приветствуется через issues или pull request.