Repository navigation
zh BINARIES
Languages: English | العربية | Čeština | Deutsch | Español | فارسی | Français | हिन्दी | Bahasa Indonesia | Italiano | 日本語 | 한국어 | Nederlands | Polski | Português | Русский | Svenska | ไทย | Türkçe | Tiếng Việt | 中文
在 VDBackup 中,隐私和安全并非可选项。备份工具以 root 身份处理你最私密的数据,因此你必须能够 确切地看到其中捆绑了什么。本页记录了模块携带的每个预构建二进制文件和库、各自的来源,以及如何 验证没有任何不透明的东西被偷偷塞进来。
- 没有不透明的东西。 每个随附的二进制文件和库都可追溯到一个指定的、公开的上游,固定在某个 版本,并记录了 SHA-256。没有任何二进制块在没有可供你核查的条目的情况下被捆绑。
-
从上游获取,绝不从设备获取。 原生工具来自官方 Termux 软件包仓库(
packages.termux.dev/apt上经过签名的.deb文件),绝不从某部手机上安装的 Termux 复制而来。构建会明确地失败,绝不临时 凑合。 - 可复现。 重新运行构建会得到相同的文件;重新获取固定的源会使 SHA-256 值匹配。
- 审计记录随模块一同发布。 它不仅存在于网站上,还随安装的模块一起,位于你的设备上,因此你 可以离线审计。
| 产物 | 来源 | 如何构建 |
|---|---|---|
bin/<abi>/ 原生工具(tar、zstd、gzip、lz4、jq、rclone、restic、rsync、ssh/scp/sftp、age、age-keygen、script、sqlite3)及其 lib/ 依赖闭包 |
官方 Termux apt 仓库(packages.termux.dev/apt),官方 .deb 软件包 |
.github/scripts/build_bin.sh 下载 .deb 文件及其传递依赖,解包,并只复制二进制文件以及每个文件所需的共享库 |
bin/<abi>/abx2xml、bin/<abi>/xml2abx(ABX 转换器回退) |
rhythmcache/android-xml-converter GitHub 发行版(ABX_RELEASE,静态 ELF) |
由 build_bin.sh 从固定的发行版下载 |
companion.apk(可选的 Google Drive 伴生程序) |
本仓库,companion/(Gradle/Kotlin) |
由 CI 从源代码构建并用项目密钥(VD_Key)签名;不是预构建的二进制块 |
vdbhelper.dex(框架辅助程序) |
本仓库,dex/src/(Java) |
由 CI 使用 javac + d8 从源代码编译 |
只有前两行是预构建的第三方二进制文件;后两者是从本仓库内的源代码构建的,可供阅读和重新构建。
Full 版与 lite 版。 lite 版为保持小巧,仅省略
rclone和restic(两个最大的二进制文件);rsync和ssh/scp/sftp仍然包含在内,上面列出的其他所有二进制文件也都存在。Full 版新增rclone(云服务提供商)和restic(快照)。
build_bin.sh 为每个 ABI 写出一个 bin/<abi>/PROVENANCE.json。安装时模块只保留你设备的 ABI,
因此该文件会留在设备上的 /data/adb/modules/vdbackup/bin/<abi>/PROVENANCE.json。它记录:
-
sources:每个上游.deb(软件包、版本、完整 URL、.deb的 SHA-256)以及 ABX 发行版 (URL、归档的 SHA-256)。 -
files:bin/<abi>/下实际随附的每个文件(路径、大小、SHA-256)。
你可以在 WebUI(About 选项卡链接到它)中或通过代理 API 读取它:
sh /data/adb/modules/vdbackup/helper.sh provenance '' | jq .-
检查随附的文件。 对设备上
bin/<abi>/下的每个文件进行哈希,并与PROVENANCE.json中的files[].sha256比较:cd /data/adb/modules/vdbackup/bin/<abi> sha256sum tar zstd jq rclone ... lib/*
-
将文件与上游核对。 对每个
sources[]条目,从其 URL 下载固定的.deb,确认其 SHA-256 与deb_sha256匹配,解包,并确认其中包含的二进制文件/库哈希为与随附相同的值。Termux 仓库中的.deb文件本身由 Termux 经过签名的 apt 仓库提供。 -
从零重新构建。 自己运行
.github/scripts/build_bin.sh(只需curl、ar、tar、xz、zstd、readelf),并将输出与随附的内容比较。 -
伴生程序与 dex。 从源代码重新构建
companion/和dex/;伴生程序的签名是项目密钥VD_Key(SHA-256F3:F8:2B:B9:2F:2C:69:A1:75:90:1D:40:BD:65:DD:A6:8F:2B:B5:88:69:77:F5:EA:8B:BA:AA:51:40:E5:25:2B)。
如果任何随附的文件与其记录的来源不匹配,请将其视为安全问题并报告(见 SECURITY.md)。 这正是此清单存在的目的所要暴露的那类差异。