Commit Graph

  • f233198639 fix(security): 阶段1-3 核心安全修复 main sakuradairong 2026-06-17 11:25:07 +08:00
  • 189f46aebd docs: 更新 README/SECURITY + 添加阶段1-7修复方案文档 sakuradairong 2026-06-17 11:24:48 +08:00
  • f99585a7c0 feat(release): 阶段6-7 Restic streaming标识、发布治理、CI sakuradairong 2026-06-17 11:24:39 +08:00
  • 4a1db6b75b feat(core): 阶段4-5 任务生命周期、取消、网络安全与凭据加固 sakuradairong 2026-06-17 11:24:26 +08:00
  • bb0caf47d8 fix(ui): 进度展示语义化与失败可见性 sakuradairong 2026-06-17 02:59:04 +08:00
  • 73aff16a99 docs: add GitNexus guides and optimization reports RainySY 2026-06-17 03:27:52 +08:00
  • d293c7c0de fix(build): 修复包重组后所有 import 错误 + 安全占位符漏洞 RainySY 2026-06-14 20:32:55 +08:00
  • 4eb2cc3632 refactor(core): 模块化重构 + 安全加固 + 包重组 RainySY 2026-06-14 17:55:17 +08:00
  • 9209297aa5 fix: 修复密码管理全链路问题并简化 BinaryResolver sakuradairong 2026-06-12 17:27:17 +08:00
  • 2d9ec54014 chore: bump version to 1.16 v1.16 sakuradairong 2026-06-09 22:31:14 +08:00
  • 8c6021170f fix: 备份恢复全链路修复与功能增强 sakuradairong 2026-06-09 22:22:45 +08:00
  • a3355d07e4 fix(core): 完善备份功能 - 增量跳过/外部数据/force-stop/取消修复 sakuradairong 2026-06-09 15:41:50 +08:00
  • 528c1ac029 fix(streaming): stderr daemon 排空(fix deadlock) + userId 参数传递 + writeFileForBackup 回退 sakuradairong 2026-06-08 17:15:59 +08:00
  • 22e5a8ab41 feat(streaming): Phase 4 — BackupScreen 流式/标准分流(useStreaming 开关控制) sakuradairong 2026-06-08 16:59:35 +08:00
  • 9020b868d0 feat(streaming): Phase 2+3 — FIFO 创建/producer tar 写入/consumer restic stdin/进度解析 sakuradairong 2026-06-08 16:57:30 +08:00
  • 7b34b565a9 feat(streaming): Phase 1 — BackupConfig.useStreaming 开关 + ResticStreamBackup 骨架 + ResticWrapper 分流 sakuradairong 2026-06-08 16:54:44 +08:00
  • e72ab719ce fix: runResticStreaming daemon 线程并发排空 stderr,修复缓冲区满死锁 sakuradairong 2026-06-08 16:44:23 +08:00
  • 0bb379c1a4 chore: 移除死代码 StreamingBackup.kt(零调用方,prepareStreaming/launchDataProducer) sakuradairong 2026-06-08 16:43:47 +08:00
  • 6fe4920a85 chore: 移除死代码 ResticCommandRunner.runResticWithStdin(零调用方) sakuradairong 2026-06-08 16:43:03 +08:00
  • 29f40434e8 chore: 移除死代码 ResticBackup.backupStdin(零调用方) sakuradairong 2026-06-08 16:42:08 +08:00
  • f4b7dc3aec chore: 移除死代码 ResticWrapper.backupStdin(零调用方) sakuradairong 2026-06-08 16:40:53 +08:00
  • 00cf2bc2f4 fix: restoreObb 返回 Boolean,提取失败时 warn 不阻塞(OBB 可重新下载) sakuradairong 2026-06-08 16:27:26 +08:00
  • e9a1697145 fix: restoreSsaid 入口处增加 packageName 正则格式校验,防 sed 注入 sakuradairong 2026-06-08 16:26:37 +08:00
  • fbf3f9d179 fix: installApk 验证 cp 复制成功且文件大小 > 0 再加入安装列表 sakuradairong 2026-06-08 16:26:21 +08:00
  • bd5f4b92ab fix: isArchiveSafe 增加符号链接目标检查,拒绝绝对路径和 .. 穿越 sakuradairong 2026-06-08 16:25:18 +08:00
  • b844eaba7f fix: installApk 重试前 4s poll 检测,避免 pm 延迟导致误卸载重装 sakuradairong 2026-06-08 16:24:50 +08:00
  • 1213f9fe18 fix: restoreData 返回 Boolean,数据恢复失败时标记 fail sakuradairong 2026-06-08 16:24:09 +08:00
  • 28e49da9ed fix: backupUserData 使用 backupPathExists/backupFileSize 检查存档 sakuradairong 2026-06-08 15:27:45 +08:00
  • a15ca7243a fix: APK 备份失败不跳过用户数据 sakuradairong 2026-06-08 15:24:47 +08:00
  • 23fdbab406 fix: installApk 复制 APK 到 cache 后再 pm install sakuradairong 2026-06-08 15:15:34 +08:00
  • 8122f64923 fix: listBackupFiles 跳过 Java 空数组回落 root shell sakuradairong 2026-06-08 15:11:17 +08:00
  • b249942c13 fix: loadFromDir 过滤无备份数据的应用 sakuradairong 2026-06-08 15:07:18 +08:00
  • 8ff28b14f6 chore: add diagnostic logging to restore flow sakuradairong 2026-06-08 15:00:40 +08:00
  • 250b387079 fix: 恢复页面读取外部存储路径支持 sakuradairong 2026-06-08 14:49:34 +08:00
  • 246eff5f0b fix: 外部存储写文件回落改为 root shell + base64 sakuradairong 2026-06-08 14:39:50 +08:00
  • 64ded465e6 fix: 外部存储路径 EPERM 时通过 root shell 回落写入 sakuradairong 2026-06-08 14:37:07 +08:00
  • 1fdba019d7 fix: 日志页面闪退 sakuradairong 2026-06-08 14:32:38 +08:00
  • 1fb93c3137 feat: 新增日志查看与导出功能 sakuradairong 2026-06-08 14:28:43 +08:00
  • 2c52b198bd feat: 自定义输出目录支持 SAF 文件选择器 sakuradairong 2026-06-08 14:20:04 +08:00
  • 818faefa86 release: v1.15 v1.15 sakuradairong 2026-06-08 14:18:28 +08:00
  • a806768c8b chore: 添加安全策略文件以及 Markdown 格式的 Issue 模板 sakuradairong 2026-06-07 21:08:20 +08:00
  • 4e954d375e chore: 添加 Issue 模板选择器配置 sakuradairong 2026-06-07 21:07:00 +08:00
  • 9e7e351193 chore: 添加社区健康文件 LICENSE/CODE_OF_CONDUCT/CONTRIBUTING/ISSUE_TEMPLATE/PR_TEMPLATE sakuradairong 2026-06-07 21:05:39 +08:00
  • cffa9a2b8a release: v1.14 v1.14 sakuradairong 2026-06-07 20:48:52 +08:00
  • 834f515e01 test: 新增 BackupConfig 读写往返单元测试,修复 gitignore 误排除 src/test RainySY 2026-06-07 20:38:15 +08:00
  • 949d13f1ea Merge pull request #1 from sakuradairong/fix/shell-escape-and-config-export RainySY 2026-06-07 20:36:39 +08:00
  • d701951338 fix: 修复 shell 转义/管道死锁/配置序列化缺陷,新增配置导出 RainySY 2026-06-07 20:33:21 +08:00
  • 7743c35763 docs: 更新 README 匹配 Compose Material 3 UI 重构 v1.13 sakuradairong 2026-06-07 19:07:09 +08:00
  • f854569414 release: v1.13 sakuradairong 2026-06-07 19:06:36 +08:00
  • 6c9c8fe1b8 feat: BackupConfig 添加 backupUserId 字段 sakuradairong 2026-06-07 19:06:23 +08:00
  • 4f97cf75b6 fix: 修复多项 bug 和清理残留资源 sakuradairong 2026-06-07 19:05:41 +08:00
  • f0ae32b3f9 feat: Compose Material 3 UI 重构 sakuradairong 2026-06-07 19:05:08 +08:00
  • 7c780b30c0 feat: UI compact layout + unlock support + ResticBinary init at startup RainySY 2026-06-07 13:37:21 +08:00
  • 5faedd53af release: v1.13 sakuradairong 2026-06-06 13:09:23 +08:00
  • 1f3e1ceea8 release: v1.12 v1.12 sakuradairong 2026-06-06 01:07:12 +08:00
  • 3813f49a12 release: v1.11 v1.11 sakuradairong 2026-06-06 00:31:42 +08:00
  • b2ea0c7960 release: v1.10 v1.10 sakuradairong 2026-06-06 00:25:20 +08:00
  • 058bf23465 release: v1.9 v1.9 sakuradairong 2026-06-06 00:18:09 +08:00
  • 7fec4c52a1 release: v1.8 v1.8 sakuradairong 2026-06-06 00:01:23 +08:00
  • 32182b592e release: v1.7 v1.7 sakuradairong 2026-06-05 23:55:25 +08:00
  • bb7dc9a700 release: v1.6 v1.6 sakuradairong 2026-06-05 23:53:28 +08:00
  • b01569416d release: v1.5 v1.5 sakuradairong 2026-06-05 23:44:06 +08:00
  • 26823fcb6f fix: 修复 release 签名配置(移除 if 守卫使 storeFile 始终生效) sakuradairong 2026-06-05 16:07:48 +08:00
  • 6f6549d897 chore: bump version to v1.4 (versionCode 5) v1.4 sakuradairong 2026-06-05 15:58:39 +08:00
  • c10505fc10 feat: APK 体积优化 v1.4 — R8 full mode + shrinkResources + 依赖裁剪 sakuradairong 2026-06-05 14:51:26 +08:00
  • 7e98e0f78e refactor: replace staging sync with REST bridge and add streaming backup V1.4Debug sakuradairong 2026-06-05 14:11:52 +08:00
  • 922a8f0381 feat: cumulative snapshots, per-app data exclusion, clickable rows sakuradairong 2026-06-04 22:59:11 +08:00
  • 5fcf261025 chore: bump version to 1.3 v1.3 sakuradairong 2026-06-04 22:57:39 +08:00
  • 14b914252e chore: bump version to 1.2 v1.2 sakuradairong 2026-06-04 21:47:03 +08:00
  • c01428b866 fix: resolve Lint API level errors sakuradairong 2026-06-04 21:29:44 +08:00
  • 51fe8e22c0 chore: remove embedded kmboxnet repo, add to gitignore sakuradairong 2026-06-04 21:21:22 +08:00
  • f5dd61a83b refactor: Result → AppResult, DomainTypes, cleanup, and other improvements sakuradairong 2026-06-04 21:21:17 +08:00
  • 40f03e5bad fix: add try/finally for loading state on cancellation sakuradairong 2026-06-04 21:20:27 +08:00
  • 45f7af00b8 fix: eliminate redundant null assertions sakuradairong 2026-06-04 21:19:54 +08:00
  • 7ef0b2c9da refactor: replace launch(Dispatchers.IO) with launch { withContext(IO) } sakuradairong 2026-06-04 21:19:04 +08:00
  • 6fa15af565 fix: use runBlocking in onCleared() instead of cancelled viewModelScope sakuradairong 2026-06-04 21:18:24 +08:00
  • 6cdad04905 feat: improve backup quality from Android-DataBackup analysis v1.0.0 sakuradairong 2026-06-02 00:54:30 +08:00
  • 5cbd21577b fix: correct TransferProgress/ByteProgress field names in snapshot progress sakuradairong 2026-06-01 23:29:46 +08:00
  • 1bae01de72 perf: add sync progress to restic snapshot loading sakuradairong 2026-06-01 23:14:17 +08:00
  • e710c36ee2 fix: BinaryResolver per-binary cache (was sharing incorrect cross-binary state) sakuradairong 2026-06-01 23:03:31 +08:00
  • c1bbef4eef feat: bundle zstd and tar binaries in jniLibs for reliable data backup sakuradairong 2026-06-01 23:01:17 +08:00
  • 4c4542e059 fix: auto-detect zstd availability, fall back to gzip when missing sakuradairong 2026-06-01 22:55:08 +08:00
  • ef78ab8bec debug: log tar stderr in each fallback step to identify actual error sakuradairong 2026-06-01 22:49:42 +08:00
  • a38a483c70 fix: configure libsu with FLAG_MOUNT_MASTER and nsenter global namespace initializer sakuradairong 2026-06-01 22:42:51 +08:00
  • d0bfef41c8 fix: replace su -Z with magiskpolicy SELinux relax in backupUserData fallback sakuradairong 2026-06-01 22:33:16 +08:00
  • 0bde3b0a75 fix: try su -Z u:r:magisk:s0 for SELinux context switch v1.2-debug sakuradairong 2026-06-01 21:57:11 +08:00
  • d2ea9f532f fix: add su -mm fallback for Magisk isolated mount namespace sakuradairong 2026-06-01 21:45:39 +08:00
  • ac0fd8b063 fix: access app data via /proc/1/root for isolated mount namespace sakuradairong 2026-06-01 21:35:45 +08:00
  • fde6d05b83 fix: bypass test -d quoting issue, use raw pkg paths with tar fallback sakuradairong 2026-06-01 21:29:16 +08:00
  • 2ff096ee8a debug: add ls-d fallback when test -d fails in backupUserData sakuradairong 2026-06-01 21:21:35 +08:00
  • eae7f4b369 debug: log backupUserData test -d exit codes to diagnose missing data archive sakuradairong 2026-06-01 21:18:19 +08:00
  • 420d960ce1 fix: restoreData logging catches empty filter result sakuradairong 2026-06-01 21:02:10 +08:00
  • 88e81e956c debug: add logging to restoreData/restoreObb for silent failure diagnosis sakuradairong 2026-06-01 20:46:55 +08:00
  • c12f7a9c81 chore: cleanup restic_tmp directory after sync sakuradairong 2026-06-01 20:27:59 +08:00
  • a43638698c fix: set TMPDIR for restic pack files on Android sakuradairong 2026-06-01 20:27:30 +08:00
  • 12fe29f841 fix: preserve restic error in final status, revert binary copy sakuradairong 2026-06-01 20:23:37 +08:00
  • b7addcca6b fix: revert ResticBinary to native lib dir, use direct exec path sakuradairong 2026-06-01 20:20:51 +08:00
  • 98d4029fd4 fix: reload config onResume so Restic settings take effect without restart sakuradairong 2026-06-01 20:14:10 +08:00
  • 07366f744f fix: copy restic binary to writable dir before execution sakuradairong 2026-06-01 20:12:33 +08:00
  • 88e18f4c57 chore: gitignore restic test repo containing encryption keys sakuradairong 2026-06-01 17:44:53 +08:00