Skip to content

fa BINARIES

VD $ VD171 @ Priv8 edited this page Nov 4, 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 اختیاری نیستند. ابزار پشتیبان‌گیری با دسترسی روت روی خصوصی‌ترین داده‌های شما اجرا می‌شود، پس باید بتوانید دقیقاً ببینید چه چیزی درون آن ارسال می‌شود. این صفحه هر باینری و کتابخانهٔ از پیش‌ساختهٔ همراهِ ماژول را مستند می‌کند، اینکه هر کدام از کجا می‌آید، و اینکه چگونه تأیید کنید چیز مبهمی پنهانی داخل آن نشده است.

اصول

  • هیچ چیز مبهمی نیست. هر باینری و کتابخانهٔ ارسال‌شده تا یک منبعِ بالادستیِ عمومیِ نام‌دار در نسخه‌ای تثبیت‌شده قابل‌ردیابی است، همراه با یک SHA-256 ثبت‌شده. هیچ بلابی (blob) بدون مدخلی که بتوانید بررسی کنید همراه نمی‌شود.
  • از بالادست واکشی می‌شود، هرگز از یک دستگاه. ابزارهای بومی از مخزن بستهٔ رسمی 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) نسخهٔ 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 (عکس‌های فوری) را اضافه می‌کنند.

مانیفستِ روی دستگاه: PROVENANCE.json

build_bin.sh به‌ازای هر ABI یک bin/<abi>/PROVENANCE.json می‌نویسد. هنگام نصب، ماژول فقط ABI دستگاه شما را نگه می‌دارد، پس آن فایل روی دستگاه در /data/adb/modules/vdbackup/bin/<abi>/PROVENANCE.json می‌ماند. این‌ها را ثبت می‌کند:

  • sources: هر .deb بالادستی (بسته، نسخه، URL کامل، SHA-256 فایل .deb) و نسخهٔ ABX (URL، SHA-256 بایگانی).
  • files: هر فایلی که واقعاً زیر bin/<abi>/ ارسال شده (مسیر، اندازه، SHA-256).

می‌توانید آن را در WebUI بخوانید (زبانهٔ About به آن پیوند می‌دهد) یا از طریق 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. فایل‌ها را در برابر بالادست بررسی کنید. برای هر مدخلِ 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/ را از منبع بازبسازید؛ امضای همدم کلید پروژه VD_Key است (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). این دقیقاً همان نوع ناسازگاری است که این مانیفست برای آشکار کردنش وجود دارد.

Clone this wiki locally