-
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