Repository navigation
Releases
SaveVault v2.8.0
SaveVault v2.7.0
What's Changed
- PC:云端存档被删除或合并后停止同步并提示,显示锁定的版本(C6) by @jun9100 in #38
- PC:取消跟踪后“删除云端副本”能真正删掉(修复总是 404) by @jun9100 in #39
- Android:云端删除 / 合并范围后停止同步并提示,显示锁定版本(C6) by @jun9100 in #40
- 重复跟踪检查:每组加标题,方便找到某个游戏 by @jun9100 in #42
- PC 安装包:替换旧的 OpenSave 安装,不再并排安装两份 by @jun9100 in #41
- Android:免 Root 读 Android/data + 云端优先下发(本机缺存档时自动从云端补齐) by @jun9100 in #44
- Android:云端下发只补本机装过的游戏 by @jun9100 in #45
- 扫描:冷启动先摆快照,全盘来源按镜像目录剪枝(16.2 秒 → 1.4~1.8 秒) by @jun9100 in #48
- CI:分支只在 PR 上跑一次,push 只保留 main by @jun9100 in #47
- 扫描指纹:看到第 8 层,否则新存档永远不出现 by @jun9100 in #49
- 名字表在第一帧之后才加载,Switch 游戏一直显示「未命名游戏」 by @jun9100 in #50
- 命名统一到 SaveVault:程序名、仓库、CLI 别名 by @jun9100 in #53
- 重叠来源扫到的同一存档目录只算一个位置 by @jun9100 in #51
- cloud push --all:一次把本机所有游戏推到云端 by @jun9100 in #52
- 发布 2.7.0 by @jun9100 in #54
Full Changelog: v2.6.0...v2.7.0
SaveVault Android 0.8.1
必须升级:0.8.0 全新安装后打开会闪退(缺少「所有文件访问」时,指纹计算抛异常)。0.8.1 已修复,全新安装可正常进入向导。
- versionCode 27 / versionName 0.8.1
- 签名不变(SHA-256
95a31bb2…554d),可直接覆盖 0.8.0 / 0.7.0 - sha256
8b6403417171ab4dc4d6bf179a8a7b5dbf917643d245ea6523e44611bccab673
其余同 0.8.0:存档变化即时上传、账号密码登录、下发落到 Eden user 目录、自动备份跳过应用数据目录。
SaveVault Android 0.8.0
Android 0.8.0(versionCode 26),签名不变(SHA-256 95a31bb2…554d),可直接覆盖安装 0.7.0。
新增
- 存档一变就上传:监视每个存档目录,写入后 15 秒防抖立即备份上传;15 分钟定时任务作为兜底。设置 →「存档变化立即上传」。
- 账号密码登录:设置 → 云端 → 账号,填地址 + 账号 + 密码,登录换令牌(Android Keystore 加密保存,密码不落盘)。
修复
- 云端下发现在落到 Eden 真正的
nand/user/save/<profile>/<user id>/<TITLE_ID>,游戏里能看到存档。 - 换账号后清空旧账号的 head / verdict / tombstone,不再误报「云端当前版本丢失」。
- 自动备份跳过 Android 应用数据目录(几百 MB~几 GB 的那种),不再 413。
- 免 Root + 所有文件访问时,后台 worker 也能看到
Android/data来源(以前一直报「没有可备份的游戏」)。
sd hash: 88bf803c9a2ce8eafa4024aac197af03d165aa7975d9b9ea00ed204153727d1c
SaveVault Android 0.7.0
Android 0.7.0(versionCode 25)。
签名已更换:0.6.0 及更早的安装包用的是旧签名(SHA-256 a28a5fad…53ca),本次为 95a31bb2…554d。Android 不允许不同签名覆盖安装,升级前请先卸载旧版;存档在模拟器的 Android/data/…/files/nand/user/save/… 里,卸载 SaveVault 不会动它,重装后重新扫描即可。
自 0.6.0 起的改动:免 Root 读 Android/data、云端优先下发(只补本机装过的游戏)、冷启动先渲染上次扫描结果(全盘补漏 15.9 s → 约 1 s)、扫描指纹看到第 8 层(新存档不再被缓存挡住)、随包标题表首帧前加载(不再显示「未命名游戏」)、重叠来源去重、日文/中文标题名匹配。
SaveVault v2.6.0
SaveVault v2.6.0
使用配对和跨设备恢复,需要 SaveVault 云端(game-save)v1.7.0 或更新版本。连接旧版云端时,这两项会给出提示,其他功能照常。
新增
- 用配对码连接云端。 在云端网页上生成配对码,然后在「云备份」里选「用配对码连接」,输入服务地址和 8 位配对码,或粘贴整条
savevault://pair?...链接。连接前会先显示服务器主机名请你确认,防止被来路不明的配对码引到别人的服务器上。每台设备有自己的令牌,丢了设备只需在网页上移除这一台。 - 设备令牌状态。 「云备份」页显示当前是「已用设备令牌连接」还是「正在使用共享令牌」。云端准备停用共享令牌时,这里会提醒一次。
- 设备被移除后自动停止同步。 如果这台设备在云端网页上被移除,SaveVault 会停止自动同步,不再反复重试,并提示你重新配对。
- 其他设备上的同一游戏存档。 游戏的「云端」标签新增「其他设备」,列出云端归为同一游戏、来自其他电脑或手机的存档,可以查看历史版本。
- 跨设备恢复。 可以把其他设备的某个存档版本恢复到本机。恢复前一定会先给本机当前存档拍一份安全快照;只改本机文件,不改动云端任何设备的版本链。来自 Android 的存档按位置类型对应到本机,对应不上的位置由你选择,不会猜。
- Switch 2。 能识别 Switch 2 游戏的存档(TitleID 以 04 开头),并把解压版的 Eglantine 识别为 Eden。
变更
- 不再重复跟踪同一个文件夹。 添加的存档文件夹如果在某个已跟踪游戏的文件夹里面,或者包含它,会被拒绝并说明原因。
- 自动快照有了最小间隔。 同一个游戏两次自动快照至少间隔 3 分钟,间隔内的改动会在间隔结束时补上。玩游戏时不再每隔几秒就上传一个新版本。
下载
OpenSave.Setup.exe:Windows 安装程序(推荐)OpenSave.exe:免安装版opensave-cli.exe、opensave-relay.exe:命令行工具和中继服务SHA256SUMS:校验和
已安装的版本可以直接升级,也可以在应用内自动更新。
SaveVault Android 0.6.0
每台设备可以用自己的令牌连接 SaveVault 云端:丢了一台设备,只需在网页上把它移除,其他设备照常同步。需要 SaveVault 云端 v1.7.0 或更新;旧的同步密钥仍然可以继续用。
从 0.5.0 可以直接覆盖安装(签名与 0.5.0 相同)。
新增
- 用配对码连接:设置 › 云端 新增“用配对码连接”。在 SaveVault 云端网页生成配对码后,在手机上输入服务地址和配对码,或者粘贴配对链接,也可以用系统相机扫描网页上的二维码直接打开 SaveVault。连接前会先显示服务器地址请你确认,防止伪造的二维码把存档引到别人的服务器上。设备令牌用 Android Keystore 加密保存。
- 设备被移除后停止同步:在网页上移除(吊销)这台设备后,SaveVault 会停止自动备份和补传,发一条通知,并在设置里提示重新配对,不会反复重试。重新配对或换上新的同步密钥后自动恢复,“Wi-Fi 自动备份”的开关保持不变。
- 连接状态:设置 › 云端 显示当前是“已用设备令牌连接:设备名称”还是“正在使用共享同步密钥”;云端准备停用或已经停用共享同步密钥时会提示你配对。
改进
- 用手柄填写云端地址、同步密钥和配对码时,方向键上下可以离开输入框,走到下一个输入框和按钮。
完整记录见 android/CHANGELOG.md。
签名证书 SHA-256(与 0.5.0 相同):a2:8a:5f:ad:2d:03:e3:6d:4e:19:8c:00:c4:36:ad:f8:32:6c:eb:ef:8b:73:c5:c5:85:61:7a:d4:3a:1e:53:ca
注意:这是旧签名(SHA-256 a28a5fad…53ca)的安装包。 0.7.0 起换成新签名,两个签名不能互相覆盖:想升级到 0.7.0 要先卸载本版本。存档在模拟器的 Android/data/…/files/nand/user/save/…,卸载不会动它。
SaveVault v2.5.0
What's Changed
- feat(cloud): sync OpenSave through native game-save scopes by @jun9100 in #9
- feat: show native game-save sync state by @jun9100 in #10
- feat(android): report save source access capabilities by @jun9100 in #11
- feat(android): compact game artwork in landscape by @jun9100 in #12
- chore(android): bump version to 0.3.16 by @jun9100 in #13
- feat(android): handheld layout, gamepad, batch operations and sync tasks by @jun9100 in #14
- chore(android): bump version to 0.4.0 by @jun9100 in #15
- PC 端:完整汉化、说明完善与批量操作 by @jun9100 in #16
- feat(android): merge games across sources, Switch names, hide plain apps, clearer sources by @jun9100 in #17
- android: reliable covers from the eShop CDN and installed app icons by @jun9100 in #18
- android: covers for every source, recommended folder grants, sources by app by @jun9100 in #19
- android: phone without Root — whole-storage grant, ePSXe and MAME saves by @jun9100 in #20
- Rename the app to SaveVault on Android and PC by @jun9100 in #21
- SaveVault icon: a shield with a game controller by @jun9100 in #22
- Release 2.5.0 (PC) and 0.5.0 (Android) by @jun9100 in #23
Full Changelog: v2.4.5...v2.5.0
SaveVault Android 0.5.0
SaveVault Android 的第一个正式版本:改名为 SaveVault(存档库),换了新图标;同一款游戏在手机和 PC 上的存档可以互相看到,并能显式地从另一台设备恢复。
从 0.4.0 升级:0.5.0 起使用 SaveVault 发布密钥签名。之前自己构建或调试签名安装的 0.4.0 不能直接覆盖安装,需要先卸载(本机快照、目录授权和云端配置会清空;已上传到 SaveVault 云端的版本不受影响,重新配置后可以恢复)。
新增
- 其他设备的存档:游戏详情的“版本”页列出同一款游戏在其他设备(手机、PC)上的存档:设备、平台、时间、版本数和冲突。需要 SaveVault 云端 v1.6.0 或更新。
- 从其他设备恢复:选一台设备,把它的最新存档恢复到本机。恢复前先保存安全快照;云端版本不会被改动,之后的备份照常作为本机的新版本上传。位置能按类型对应时自动选好,对应不上时由你选择或跳过,绝不猜路径。
- 上传失败后自动补传:云端暂时连不上时版本先存在本机,联网后自动补传(最多重试 3 次);遇到冲突只保留冲突副本、不覆盖。
- 没有 Root 也能扫描整个内部存储;新增 ePSXe、MAME 存档识别;推荐授权目录、按应用分组的来源页。
- 所有来源都能显示游戏封面;内置离线 Switch 游戏名;识别 Switch 2(
04…TitleID)和 Eden 的 Switch 2 分支。 - 备份后向云端上报游戏身份,云端据此把各设备的存档归为同一款游戏。
改进与修复
- 授权目录失效时显示中文原因和明确提示。
- 后台补传、自动备份完成后状态立即更新。
- 设备名含中文等非 ASCII 字符时也能正常同步(需要 SaveVault 云端的配套更新)。
完整记录见 android/CHANGELOG.md。
签名证书 SHA-256:a2:8a:5f:ad:2d:03:e3:6d:4e:19:8c:00:c4:36:ad:f8:32:6c:eb:ef:8b:73:c5:c5:85:61:7a:d4:3a:1e:53:ca
OpenSave v2.4.5
What's Changed
- fix(release): make checksum manifest directly usable by @jun9100 in #7
- fix(cloud): use game-save in native provider messages by @jun9100 in #8
Full Changelog: v2.4.4...v2.4.5