小盾:笑

User Guide

使用说明

先停止写入丢失数据的介质,再开始扫描。ssd 对源介质只读;恢复目标请选择另一块磁盘或另一个目录。

选择来源

块设备(U 盘 / SD / 移动硬盘)、任意文件夹,或 iOS 本地备份。

扫描

快扫读元数据;深扫按签名雕刻;ext4 可限定目录子树。

预览

分片读取,不整体加载;先确认内容,再决定恢复哪些。

恢复

目标三重校验,逐件导出,终报三计数与失败清单。

扫描模式

先快扫,找不回再深扫

快速扫描依赖文件系统元数据;深度扫描在未分配区间按文件签名雕刻,耗时更长,结果质量分级更低。

模式适用能找回什么限制
快速扫描刚删除、元数据尚在文件名、目录结构、时间戳被覆盖后无法恢复
深度扫描元数据已丢失JPEG / PNG / MP4 / PDF 等按签名雕刻无文件名 / 路径;质量标记「仅雕刻」
从文件夹恢复备份目录、旧盘拷贝目录源内的删除件;导出保留子目录提权会话下 dir: 源被安全策略拒绝
限定路径扫描ext4 大设备指定目录子树内的删除件仅 ext4;其它文件系统明确拒绝

暂停与续跑:扫描可暂停 / 恢复 / 取消。断点与条目计数同帧配对落盘;杀进程或重启后可继续扫描,已落库条目不丢失,断点窗口(≤4 MiB)内的文件会重扫,记录按同编号覆盖为等价记录。

结果与预览

每个结果都带质量分级

完整

元数据与内容校验通过,按原文件名与目录恢复。

可能损坏

元数据存在但内容链不完整,恢复后可能无法打开或部分损坏。

仅雕刻

由文件签名重建,无原始文件名与路径;内容完整度以雕刻边界为准。

结果页

  • 分页与过滤;按类型、质量、大小筛选
  • 多选后批量恢复;逐件状态与失败原因
  • 预览图片、文本前缀或信息卡;大文件按分片读取,不整体加载

先预览,再恢复

预览不会写回源设备。图片按分片组装,损坏件会明确提示;文本只读取前缀,避免把整个文件拉进内存。

安全导出

导出链只做两件事:写对地方,不碰源盘

三重校验

  • 异设备:目标不得与源设备同源(Windows 卷号 / macOS IOKit 整盘归属 / Linux 设备号)。
  • 已存在:目标目录已有同名文件时该件标记失败,绝不覆盖、绝不删除。
  • 余量:目标盘剩余空间不足时拒绝,不写半成品。

降权子进程

  • 导出由独立 worker 执行,权限降回普通用户,特权不落写入用户目录。
  • 目录源保留子目录结构;组内重名自动加 _2 / _3 后缀。
  • 可实时取消;终报成功 / 失败 / 降级三计数 + 逐件清单。
  • 符号链接写穿逐级校验,直接拒绝;绝不写回源设备。

试用与许可证

先试用,再决定

无证试用额度为 20 件 / 1 GiB。桌面版另有试用锚定:首启联网取时,试用期 = 自锚起 7 天 ∧ 最多 3 次导出会话。

试用

  • 20 件 / 1 GiB(无证)
  • 桌面:7 天 ∧ 3 次导出会话,三层叠加先到者为准
  • 未锚定前试用导出不可用;取时失败静默,下次启动重试

许可证

  • 按有效期、导出次数、数据量分别签发;任意一项用尽即拒绝导出
  • 一证一机:首激活绑定本机物理网卡 MAC;读不到 MAC 即拒绝激活
  • 激活联网校时一次;与北京时间偏差超过 10 分钟即拒绝

校验码

  • 授权页「生成校验码」:本机生成、零出站、零落盘
  • 每次点击重新生成;进页不自动生成
  • 随机化网卡(LAA)或读不到网卡 ⇒ 拒绝生成
  • 把码发给卖家,用于购买或换机重签

注意:许可证计数按证绑定,同一张证反复导入不清零;改额度必须换 licenseId。更换网卡需重新签发。手动改钟可能使试用提前结束或需要激活。

命令行

xd-cli · 专业版

直链引擎(不经 daemon),stdout 为 JSONL,进度与通知走 stderr。写命令不做两阶段就写不了。

只读与扫描

xd-cli device list
xd-cli scan start --source /dev/sdb
xd-cli scan status <id>
xd-cli scan results <id>
xd-cli export start --scan <id> --dest ~/recovered

镜像与写回

xd-cli image create --device /dev/sdb --out disk.img
xd-cli image verify disk.img
xd-cli image restore --prepare --image disk.img
xd-cli sector read --device /dev/sdb --offset 0 --length 512

写命令需两阶段:--prepare 只读预演并打印令牌;--prepare --commit 一次调用完成两阶段。--yes 只免交互,绝不生成或复用令牌。

联网与隐私

引擎零出站,联网点恒三个

① 更新检查

设置页可手动检查;启动时自动检查默认开、可关。一次静态 GET,无查询串、无 Cookie、无机器标识符;24h 节流,失败静默,不下载、不自动更新。

② 首启锚定取时

未锚定前每次启动静默取时一次(HEAD,只读响应头 Date;三 host 随机序);命中即锚,锚后零出站。不受更新开关支配。

③ 激活校时

点「激活」时联网取一次北京时间(同一三 host 随机序池,仅此一次);取不到即拒绝激活(fail-closed)。不受更新开关支配。

只读保证:源介质仅只读访问,扫描前后分区哈希不变;导出永不写回源设备。Android 版零 INTERNET 权限;引擎(crates/)与三个联网点皆无关。

常见问题

使用中的几个高频问题

为什么扫不到刚删的文件?

可能已被覆盖、TRIM 已执行,或文件系统元数据已清空。先停止写入,再试深度扫描;仍然找不到时,软件层面可能已无解。

深度扫描为什么没有文件名?

深扫按文件签名雕刻,不依赖目录项,因此只能给出类型与内容,不能还原原始文件名 / 路径。质量标记为「仅雕刻」。

导出目标为什么被拒?

目标与源同设备、目标已有同名文件、或余量不足。换一个不同磁盘上的空目录再试。

试用为什么导不出来?

桌面版试用需首启联网取时锚定;未锚定前导出不可用。锚定后按 7 天 ∧ 3 次会话 ∧ 20 件 / 1 GiB 执行。

换电脑后许可证还能用吗?

不能。一证一机,首激活绑定物理网卡 MAC。换机请在新机器生成校验码,联系卖家重新签发。

应用会修改我的系统吗?

不会。ssd 不提供 root 功能,不修改系统;对存储分区仅只读访问。Linux 的 polkit / udev 仅用于提权只读访问。

小盾:撒娇

记住:发现丢失后,先停止写入