このプロジェクトについて

Intrakill(InternalStorageOverkill)は、Kotlin Multiplatformで書かれたローカル暗号化メディアストレージアプリケーションです。対象はJVMデスクトップとAndroidで、iOSはサポートされていません。作者は、マンガやコミックなどグループ化されたメディア添付ファイルに最適だと述べています。 データモデルとストレージ - ストレージはエントリのリストであり、各エントリには名前、添付ファイル、タグがあります。 - データベースはSQLCipherで暗号化されたSQLiteファイルで、名前はsecured.dbです。 - デスクトップのパス: ~/.Intrakill/databases/secured.db(Windows: c:\Users\%username%\.Intrakill\databases\secured.db)。 - Androidのパス: context.getDatabasePath("secured.db")、OSによって管理されます。 - このアプリは主に画像と動画を対象としています。 インポート/エクスポート - デスクトップインスタンスは、ローカルネットワーク経由でストレージをエクスポートできます。 - インポート側は元のデバイスのIPとパスワードを入力し、インポート後は同じパスワードでインポート先デバイスのストレージを解除できます。 - 設計上、クラウド共有は意図的に避けられています。 パスワードの挙動 - パスワードリセットはありません。パスワードを忘れるとストレージを失います。ブルートフォースの実現可能性はパスワードの強度に依存します。 - ストレージを再作成する専用機能はありません。データベースファイルを削除するか、アプリを再インストールすることが提案されています。 ビルドと実行 - Androidデバッグビルド: ./gradlew :composeApp:assembleDebug(Windowsではgradlew.bat)。 - デスクトップ実行: ./gradlew :composeApp:run(Windowsではgradlew.bat)。 - IDEの実行構成もサポートされています。 実装上の注意 - UI/状態アーキテクチャはDecomposeライブラリを中心に構築されており、作者は状態処理を簡単にしてくれたと評価しています。 - 作者は、AIアシスタントが実装の一部に影響を与えたこと、またKotlin MultiplatformはFlutterやReactと比べて学習曲線が急だったと述べています。 コントリビューションはissueやpull requestで歓迎されています。