这个项目能做什么
Intrakill(InternalStorageOverkill)是一款使用 Kotlin Multiplatform 编写的本地加密媒体存储应用。它面向 JVM 桌面端和 Android;不支持 iOS。作者指出,它最适合用于分组的媒体附件,例如漫画和连环画。
数据模型与存储
- 存储是一个条目列表;每个条目包含名称、附件和标签。
- 数据库是名为 secured.db 的 SQLCipher 加密 SQLite 文件。
- 桌面端路径:~/.Intrakill/databases/secured.db(Windows:c:\Users\%username%\.Intrakill\databases\secured.db)。
- Android 路径:context.getDatabasePath("secured.db"),由操作系统管理。
- 该应用主要面向图像和视频。
导入/导出
- 桌面端实例可以通过局域网导出其存储。
- 导入方需提供源设备的 IP 和密码;导入后,同一密码可在导入设备上解锁该存储。
- 该设计有意避免云共享。
密码行为
- 没有密码重置。忘记密码意味着丢失存储;暴力破解的可行性取决于密码强度。
- 没有专门用于重新创建存储的功能;建议删除数据库文件或重新安装应用。
构建与运行
- Android 调试构建:./gradlew :composeApp:assembleDebug(Windows 上为 gradlew.bat)。
- 桌面端运行:./gradlew :composeApp:run(Windows 上为 gradlew.bat)。
- 也支持 IDE 运行配置。
实现说明
- UI/状态架构围绕 Decompose 库构建,作者称赞它使状态处理变得简单直接。
- 作者表示 AI 助手影响了部分实现,并且与 Flutter 和 React 相比,Kotlin Multiplatform 的学习曲线较为陡峭。
欢迎通过 issue 或 pull request 贡献代码。
评论
0 评分人数达到10人后显示
登录后参与讨论。