Releases: jiayuxuan123/RescueX
Release list
RescueX v3.5.11
RescueX v3.5.11
手机端导航与 OTA 识别修复
- 修复手机端底部导航点击后不切页的问题:缺失的分组隐藏样式已补回,五个视图各自独立。
- 修复 OTA 模式长期显示“更新中”:常驻厂商属性、常驻
update_engine与过期状态文件不再被当作更新信号。 - OTA 与补丁检测统一要求“状态有效 + 时间新近”,来源名称改为中性的“厂商更新信号”。
- 移除与救砖无关的 ColorOS 功能扩展,只保留影响开机超时的厂商 OTA 识别。
- 安装界面语言统一为中文优先,音量键选择提示固定中英双语,避免误按。
- 莫奈取色改为真实实现:用 root 读取系统已生成的 Material You 色阶,而不是单一种子色近似;降级路径会在界面标注为近似配色。
- WebUI 安装偏好可跨升级沿用;新增 MIUI X / Material Design 3 外观选择。
- 手机端触控与布局修正:刷新入口在所有视图可用,触控尺寸达标,320–768px 无横向溢出。
OTA 检测仍只影响开机超时选择,不改失败计数、看门狗、模块禁用/恢复和重启行为。
Candidate Asset
- Tag:
v3.5.11 - Asset:
RescueX-v3.5.11.zip - SHA-256:
2d90217df8182cd2213a5f370a02197117c53991aafd3957d1f833747f311e1d - versionCode:
350204
Verification Gate
This candidate passed offline OTA (16 cases), persistence, WebUI-choice, release-metadata, Shell syntax, and JavaScript syntax checks, plus an offline WebUI layout review. Publish only after on-device validation of the WebUI hosts and a real vendor OTA cycle.
RescueX v3.5.10-r3
RescueX v3.5.10-r3
这是面向真实设备验证的预发布版本,重点修复中国及海外 OEM 魔改系统中系统 OTA 和 Android 大版本升级首次启动未被识别的问题。
社区实机验证请求
请在可救援环境、首次保持 DRY_RUN=true 的前提下,反馈以下路径的结果:
- 正常重启:不应错误启用 OTA 长超时;
- A/B OTA 后首次启动:应显示
build_baseline或兼容更新信号,并使用 OTA 超时; - 非 A/B / Recovery OTA 及厂商 Android 大版本升级:构建身份变化应启用 OTA 超时;
- 无法自动识别的 ROM:设置一次性 OTA 手动保护后,首次成功启动应自动清除标记;
- 更新失败重试:确认旧构建基线不会被覆盖;
- 模块覆盖更新:确认 v35 时间线与自适应启动耗时历史仍能恢复。
请附上设备型号、ROM/Android 版本、Root 管理器、OTA 路径,以及脱敏后的 ota_detection_status、ota_build_baseline、rescue.log 和 boot_history。
核心变更
- 新增
ota-detection.sh,以最近一次确认SUCCESS的系统构建基线识别 OTA/大版本升级; - 比较 build/system/vendor/product/bootimage 指纹、增量版本、安全补丁、API/Android 版本、构建 ID 与 A/B 槽位;
- 原有属性、Recovery、BCB、
/metadata/ota和update_engine信号仍作为兼容兜底; - 基线只会在成功启动后推进,失败的更新启动不会丢失 OTA 长超时保护;
- WebUI/CLI 增加检测来源与一次性 OTA 手动保护;
- 修复结构化 patch flag 显示、v35 状态恢复、启动时长历史持久化、WebUI
DRY_RUN安全默认值和 CLI 参数转发。
OTA 检测层只决定超时窗口和诊断状态,不修改失败计数、模块禁用、救砖事务、看门狗或重启逻辑。
校验
versionCode:350203- SHA-256:
880d3ca15c483c3f3483019bfbc40c40fe345ec4b7a1e624a78823da73f519e1 - 离线状态机、OTA/持久化、包布局、Shell/JS 语法与发布检查均已通过。
RescueX v3.5.10-r2
v3.5.10-r2 修复内容
成功率不再永远 100%
- 根因:postfs 救砖不写 START 行 → 救砖启动不进统计分母
- 修复:按 boot token 终态聚合,RESCUE/FAILURE 行也计为启动(失败终态)
- 验证:3 次救砖场景 → 7 次启动 4 次成功 = 57%
最近救砖不再显示"从未"
- 根因链:早期 RTC → LAST_RESCUE_TIME=0 → fix 函数跳过 0 → postfs 旧值覆盖 → 统计丢弃 uptime 时间
- 修复:fix 允许 0+已救砖时修正;postfs 顺序调整;commit 保留旧时间;统计回退状态文件时间
救砖次数下限补偿
- 历史行被截断/写入失败时,救砖次数取 max(历史, status RESCUE_COUNT)
versionCode: 350202(v3.5.10-r1=350201 用户可正常收到更新)
SHA256: 0aa3d3c96b7d83ee4bd2cdfce255b00178395513099e0796056c315121d8ba63
RescueX v3.5.10-r1
v3.5.10-r1 修复内容
启动统计成功率虚高(治本修复)
- 之前"所有 SERVICE 行数"当成功次数,历史孤儿 SERVICE 行(无对应 START)导致成功数虚高;旧钳制让成功率永远 100%,救砖后也不下降
- 现在改为配对计数:SUCCESS 只统计 boot token 能配对到 START 行的 SERVICE 行,重复行只计一次,孤儿行不计
- 救砖/失败启动会正确反映(离线验证:含救砖场景 4/5 = 80%)
版本号规则
- v3.5.10-r1 / versionCode 350201(主版本不跳级,同级修复用 -rN 后缀,versionCode 35020 后追加两位递增)
继承 v3.5.10 全部功能(音量键 WebUI 选择、无 WebUI 模式)与 v3.5.9-r1/r2 全部修复。
SHA256: c78634937971d3061f00087363dd7dabbeb29bd914dcdd9e650ee252682e48bf
RescueX v3.5.10
v3.5.10 更新内容
新增:安装时音量键选择 WebUI
- 安装/更新时按 音量+ 安装 WebUI,音量- 不安装(无 WebUI 模式)
- 60 秒无操作自动安装 WebUI,不会卡住安装
- 原版 Magisk 会提示"不支持 WebUI",并提供 KsuWebUIStandalone 开源下载:
https://github.com/5ec1cff/KsuWebUIStandalone
新增:无 WebUI 模式
- 选择后自动移除 WebUI 页面文件(保留 state 配置与原生看门狗)
- 所有参数可直接修改
/data/adb/rescuex_data/config.conf(重启生效) - 完整性检查已适配:移除页面文件不会误报 COMPROMISED
继承 v3.5.9-r1/r2 全部修复
- 不再接管 Root 管理器更新队列;BOOT_TOKEN 仅诊断;DRY_RUN 默认开启
- 启动统计完整性校验(成功率不再超过 100%)
versionCode: 35020(v3.5.9-r2=35011 用户可正常收到更新)
SHA256: 5115883a2fae1357429bbf2acf4b5f05decb3f994566d46fc35b41caad5c1780
RescueX v3.5.9-r2
v3.5.9-r2 修复内容
- 修复 WebUI 启动统计异常:boot_history 重复条目导致成功率超过 100%(如 4 次启动显示 7 次成功 / 175%),现在钳制 SUCCESS ≤ TOTAL 并记录警告日志。
- 干净重打包:移除 r1 包中误带的 Users/Administrator/.../handoff 路径条目。
- 版本递增至 versionCode 35011:已安装 v3.5.9-r1(35010)的设备可通过正常更新通道收到此版本。
保留的 r1 安全修复
- 不再接管 Root 管理器更新队列(modules_update 不再被移动/回放/重启),更新其他模块不再误触发重启。
- BOOT_TOKEN 仅用于诊断与事务归属,不再单独触发救砖判定。
- DRY_RUN 默认开启,需用户显式确认后才执行实际救砖。
SHA256: 1d371eba9b40545f4362fbc7c9c427061402e9981a2620e9d917aed4232bcfdc
RescueX v3.5.9-r1 — 归档修复版
变更说明
这是 v3.5.9 的归档修复版本,针对模块更新时误触发救砖的问题进行修正。
本次修复
- 移除更新队列劫持: RescueX 不再接管
/data/adb/modules_update和/data/adb/modules_update_mmrl目录,这些目录由 Root 管理器(Magisk/KernelSU/APatch)独占管理 - 保守失败判定: BOOT_TOKEN 变化不再单独触发救砖,仅用于诊断和事务归属
- DRY_RUN 语义收紧: DRY_RUN 模式下不再伪造成功状态,不会写入 RESCUED 或请求重启
- RESCUED 状态保护: service.sh 不再覆盖已提交的救砖状态
状态
此版本为归档修复,项目主体保持 v3.5.9 的 MIT 开源协议不变。如有进一步需求,欢迎 fork 自行开发。
校验
| 文件 | SHA256 |
|---|---|
| RescueX-v3.5.9-r1.zip | fa7aad2f0ccc54d1e2f15070776489e5aea026aab4aa75a5fde510475ef351c0 |
RescueX v3.2.8-r1 — 归档修复版
变更说明
这是 v3.2.8 的归档修复版本,针对模块更新时误触发救砖的问题进行修正。
本次修复
- 移除更新队列劫持: RescueX 不再接管更新队列目录
- 保守失败判定: BOOT_TOKEN 降级为诊断信息
- DRY_RUN 默认开启: 首次安装默认为演练模式,用户显式确认后可开启实际救砖
- 状态机收紧: 看门狗仅在验证的 disable marker 写入后才提交 RESCUED
状态
此版本为归档修复,与 v3.5.9-r1 采用相同的保守修复策略。项目保持 MIT 开源。
RescueX v3.5.9(最终版·已归档)
RescueX v3.5.9 — 当前版本
📦 项目当前处于休眠状态
这是 RescueX 的当前稳定版本。历经 30+ 次迭代、覆盖多轮实机验证,核心救砖功能已完整稳定。
当前停止活跃维护,后续如有新的想法或需求,可能会重启项目开发。
- 代码保持开源(MIT),可自由使用与 fork
- GitHub Release 保留下载链接
- Issue 可能不会及时回复;如需继续维护,建议 fork 自行开发
本版本修复
- 修复 Android 早期启动时 RTC 尚未可用、
BOOT_START=0导致真实连续重启被提前当作「非失败」的问题 - 现在优先比较内核
BOOT_TOKEN:只要上一轮未完成且 token 已变化,即使墙钟尚未同步也会计为真实失败 - 保留 token 缺失或相同 token 时的保守 RTC/用户主动重启宽限逻辑,避免扩大误判范围
- 当渐进救砖开启时,满足该失败条件会进入三级救砖:第 0 级无法定位嫌疑模块时自动落到第 1 级,写入已验证的模块
disable标记并提交RESCUED状态
验证
- 新增
tests/early_boot_rescue_test.sh,覆盖实机同类状态:BOOT_START=0、未完成启动、不同BOOT_TOKEN,验证进入第 1 级并提交RESCUED tests/test_safety.sh全部通过(17 项安全测试)- 新版 WebUI 协议公告 revision 为
r4,同版本也会重新弹出,阅读倒计时为 8 秒
下载
- ZIP:https://github.com/jiayuxuan123/RescueX/releases/download/v3.5.9/RescueX-v3.5.9.zip
- SHA-256:
ca844f6982b88ea972a8dab960608b5f176d24e93dc0f0be00d579f2aa9bbf1f
其他版本
如需旧版本,请前往 Releases 页面 查看历史版本。
RescueX v3.5.8 — 跨 Root 救砖事务恢复中心
RescueX v3.5.8 — 跨 Root 救砖事务恢复中心
重点更新
- 跨 Root 精确恢复:救砖事务现在记录管理器类型、模块根目录、实际模块路径和由 RescueX 写入的
disable标记。恢复只移除当前事务中可验证属于 RescueX 的标记,不会按模块 ID 跨 Magisk、KernelSU/SukiSU、APatch 扫描或重新启用用户手动禁用的模块。 - 可恢复的事务状态:事务写入前先持久化目标 journal;路径消失、根目录变更或标记无法验证时返回
PARTIAL并保留证据,允许人工复核,而非猜测性恢复。 - CLI 管理:新增
action.sh --cli rescue status查询当前事务;执行恢复必须使用action.sh --cli rescue restore --apply明确确认。 - WebUI 安全恢复:原“恢复全部模块”入口改为事务绑定恢复,并显示当前事务状态;APatch bridge 可用时可进入 WebUI,实际模块路径仍由 Shell 后端统一识别。
- APatch 状态识别:CLI 即使没有预设
APATCH=true,也会通过标准 APatch 模块目录识别当前环境。
安全与兼容性
- 旧版仅包含模块 ID 的
rescued_disabled.list不再用于跨 Root 自动恢复,因为它无法验证具体路径归属;缺少 v3.5.8 事务证据时恢复会安全拒绝。 - 新事务兼容 Magisk、KernelSU、SukiSU Ultra 与 APatch 的标准模块目录。实际刷入和 Root 管理器 WebUI 仍需在对应备用设备执行
TESTING.md。
发布文件
RescueX-v3.5.8.zipRescueX-v3.5.8.zip.sha256