Skip to content

uk BINARIES

github-actions[bot] edited this page Nov 13, 2026 · 2 revisions

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 над вашими найособистішими даними, тож ви маєте бачити точно, що постачається всередині нього. Ця сторінка документує кожен попередньо зібраний бінарник і бібліотеку, які несе модуль, звідки кожен походить і як перевірити, що нічого непрозорого не було протягнуто.

Принципи

  • Нічого непрозорого. Кожен постачений бінарник і бібліотека простежуються до названого, публічного upstream із зафіксованою версією та записаним SHA-256. Жоден blob не вбудовується без запису, який ви можете перевірити.
  • Отримано з upstream, ніколи з пристрою. Нативні інструменти беруться з офіційного репозиторію пакунків Termux (підписані файли .deb за адресою packages.termux.dev/apt), ніколи не скопійовані з Termux, встановленого на якомусь телефоні. Збірка гучно зазнає невдачі, вона ніколи не імпровізує.
  • Відтворюване. Перезапустіть збірку, і ви отримаєте ті самі файли; перезавантажте зафіксовані джерела, і значення SHA-256 збігатимуться.
  • Слід аудиту постачається з модулем. Він не лише на вебсайті, він подорожує всередині встановленого модуля, на вашому пристрої, тож ви можете проводити аудит офлайн.

Що постачається і звідки

Артефакт Джерело Як воно збирається
bin/<abi>/ нативні інструменти (tar, zstd, gzip, lz4, jq, rclone, restic, rsync, ssh/scp/sftp, age, age-keygen, script, sqlite3) + їхнє замикання lib/ Офіційний apt-репозиторій Termux (packages.termux.dev/apt), офіційні пакунки .deb .github/scripts/build_bin.sh завантажує файли .deb + їхні транзитивні залежності, видобуває їх і копіює бінарники плюс лише ті спільні бібліотеки, які потрібні кожному
bin/<abi>/abx2xml, bin/<abi>/xml2abx (запасний конвертер ABX) GitHub-реліз rhythmcache/android-xml-converter (ABX_RELEASE, статичний ELF) завантажено з зафіксованого релізу через build_bin.sh
companion.apk (опційний компаньйон Google Drive) Цей репозиторій, companion/ (Gradle/Kotlin) зібрано з джерела через CI і підписано ключем проєкту; не попередньо зібраний blob
vdbackup_helper.dex (framework-помічник) Цей репозиторій, dex/src/ (Java) скомпільовано з джерела через CI за допомогою javac + d8

Лише перші два рядки: це попередньо зібрані сторонні бінарники; останні два зібрані з джерела, яке лежить у цьому репозиторії й може бути прочитане та перезібране.

Видання full та lite. Видання lite опускають лише rclone і restic (два найбільші бінарники), щоб лишатися малими, і отримують їх на вимогу (перевірено за SHA-256) під час першого використання хмарного призначення чи режиму знімка; rsync і ssh/scp/sftp усе ще присутні, і кожен інший бінарник, перелічений вище, теж присутній. Видання full постачають rclone (хмарні провайдери) і restic (знімки) вбудованими, тож нічого ніколи не завантажується.

Маніфест на пристрої: PROVENANCE.json

build_bin.sh записує по одному bin/<abi>/PROVENANCE.json на ABI. Під час встановлення модуль зберігає лише ABI вашого пристрою, тож цей файл лишається на пристрої за адресою /data/adb/modules/vdbackup/bin/<abi>/PROVENANCE.json. Він записує:

  • sources: кожен upstream-.deb (пакунок, версія, повна URL, SHA-256 .deb) і реліз ABX (URL, SHA-256 архіву).
  • files: кожен файл, фактично постачений у bin/<abi>/ (шлях, розмір, SHA-256).

Ви можете прочитати його у WebUI (вкладка Про застосунок посилається на нього) або через агентський API:

sh /data/adb/modules/vdbackup/helper.sh provenance '' | jq .

Як перевірити (крок за кроком)

  1. Перевірте постачені файли. Хешуйте кожен файл у bin/<abi>/ на вашому пристрої й порівняйте з files[].sha256 у PROVENANCE.json:
    cd /data/adb/modules/vdbackup/bin/<abi>
    sha256sum tar zstd jq rclone ... lib/*
  2. Перевірте файли щодо upstream. Для кожного запису sources[] завантажте зафіксований .deb з його URL, підтвердьте, що його SHA-256 збігається з deb_sha256, видобудьте його й підтвердьте, що бінарники/бібліотеки, які він містить, хешуються до тих самих значень, що й постачені. Файли .deb у репозиторії Termux самі постачаються з підписаного apt-репозиторію Termux.
  3. Перезберіть з нуля. Запустіть .github/scripts/build_bin.sh самостійно (потрібні лише curl, ar, tar, xz, zstd, readelf) і порівняйте вивід із тим, що постачено.
  4. Компаньйон і dex. Перезберіть companion/ і dex/ з джерела; підпис компаньйона - це ключ проєкту (SHA-256 F3: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). Це саме той вид розбіжності, який цей маніфест існує, щоб зробити видимим.


Ця документація створена за допомогою Claude (Anthropic) і підтримується VD171. Виправлення та покращення вітаються; див. CONTRIBUTING.md.

Clone this wiki locally