Skip to content

ar BINARIES

github-actions[bot] edited this page Nov 8, 2026 · 4 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)؛ ليس كائناً ثنائياً مبنياً مسبقاً
vdbackup_helper.dex (مساعد إطار العمل) هذا المستودع، 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: كل .deb من المنبع (الحزمة، الإصدار، الرابط الكامل، SHA-256 لـ.deb) وإصدار ABX (الرابط، SHA-256 للأرشيف).
  • files: كل ملف مشحون فعلاً تحت bin/<abi>/ (المسار، الحجم، SHA-256).

يمكنك قراءته في واجهة الويب (تبويب About يربط إليه) أو عبر واجهة برمجة الوكيل:

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 المثبّت من رابطه، وتأكد من أن 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). هذا بالضبط نوع التباين الذي وُجد هذا البيان ليجعله مرئياً.

أُنشئت هذه الوثائق بمساعدة Claude (Anthropic) ويتولى صيانتها VD171. التصحيحات والتحسينات مرحب بها - انظر CONTRIBUTING.md.

Clone this wiki locally