Skip to content

ar CHANGELOG

VD $ VD171 @ Priv8 edited this page Nov 4, 2026 · 1 revision

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 موثقة هنا. بالإنجليزية فقط.

v1.01

أول إصدار عام. وحدة WebUI لـ KernelSU/APatch/Magisk تنسخ احتياطيًا التطبيقات وبياناتها وتستعيدها بالكامل بصلاحيات الجذر، دون أي نافذة طلب صلاحية.

المحرك والصيغ:

  • يعمل محرك النسخ الاحتياطي/الاستعادة كعملية جذر منفصلة (setsid): فهو يستمر بعد إغلاق واجهة WebUI أو مدير الجذر، وتعيد الواجهة الاتصال بالتقدم الحي عبر opid.
  • ثلاثة أوضاع للنسخ الاحتياطي: Full (‏tar.zst، محلي أو بعيد)، وSnapshot (مستودع restic، مشفّر ومزال التكرار منه)، وMirror (مزامنة rclone/rsync بنسبة 1:1). تُضغط ملفات APK دائمًا، حتى في وضع المرآة.
  • العناصر لكل تطبيق: APK (‏base + splits) وdata وdata_de وobb والتخزين الخارجي والوسائط. يُحفظ سياق SELinux وuid/gid والأوضاع وxattr/caps؛ وتستخدم الاستعادة جلسة pm install وتعيد تعيين الملكية/السياق إلى uid الحي.
  • تدعم التعدد حسب المستخدم (متعدد المستخدمين) في كل مكان. تُخزَّن النسخ الاحتياطية تحت /sdcard/VDBackup (لكل مستخدم)، خارج /data/adb، بحيث لا يمكن قراءتها قبل أول إلغاء قفل؛ ويُخصَّص لكل وجهة اسم فرعي تحت <path>/vdbackup.
  • الضغط: none أو lz4 أو zstd (بمستويات) أو gzip ("وضع التوافق"). يسجّل ملف بيان JSON الجهاز والحزمة (بما في ذلك اسم التطبيق) والعناصر والأذونات.
  • تشفير قابل للنقل باستخدام age (‏keygen)، إضافة إلى دليل استرداد للحاسوب PC RECOVERY مرفق داخل كل نسخة احتياطية مشفّرة بحيث يمكن فك تشفيرها واستخراجها في أي مكان، دون الوحدة.

الوجهات والسحابة:

  • الوجهات: إضافة/سرد/اختبار/حذف (محلية، وبعيد rclone، ومستودع restic، ورفيق Google Drive اختياري)؛ تُخزَّن بيانات الاعتماد مموّهة، ولا تُحفظ أبدًا بنص واضح.
  • إنشاء وجهات rclone البعيدة من الواجهة/الـAPI (‏remote-add/remote-list/remote-del)، بحيث يمكن الوصول إلى أي خادم سحابي خلفي (‏SFTP وSMB وWebDAV وFTP وS3 وGoogle Drive وغيرها) دون تحرير rclone.conf يدويًا.
  • Google Drive بطريقتين: عبر rclone (دون حساب Google Cloud) أو عبر تطبيق الرفيق الاختياري بلا واجهة (ru.vd171.vdbackup)، الذي يحمل إشعار إخفاء إلزاميًا بـ HMA-OSS.
  • سياسة الشبكة: اختر ما إذا كانت عمليات النقل السحابية يمكنها استخدام أي اتصال، أو Wi-Fi فقط، أو بيانات الجوال فقط؛ ويُطبَّق ذلك على المهام اليدوية والمجدولة. والوجهات المحلية مستثناة.

الاستيراد (الترحيل):

  • الاستيراد من Neo-Backup، بما في ذلك النسخ الاحتياطية المشفّرة بكلمة مرور (يفك مساعد dex تشفير AES-256-GCM؛ وتطلب WebUI كلمة المرور).
  • الاستيراد من Android-DataBackup (تثبيت ملفات APK، واستخراج أرشيفات user/user_de/data، وإعادة التعيين).
  • جرى التحقق من كليهما مقابل نسخ احتياطية حقيقية عبر أجهزة متعددة.

السلامة والنزاهة:

  • استعادة أمينة تمحو ثم تستخرج؛ وتحقق sha256 لكل أرشيف (مفعّل افتراضيًا في Full، مع فحص نزاهة للمستودع في Snapshot)، وتشغيل تجريبي dry-run، واختبار استعادة. تُقرأ الأرشيفات مرة أخرى للتأكد من اكتمالها؛ ولا يمكن لأرشيف تالف أو اسم حزمة غير صالح أن يؤدي أبدًا إلى استعادة مدمّرة، وتُبلَّغ حالات فشل النقل البعيد ولا تمر بصمت أبدًا.
  • استعادة انتقائية: استعادة أي مجموعة فرعية من العناصر التي تحويها النسخة الاحتياطية (APK، data، البيانات المحمية، OBB، الخارجية، الوسائط)، وكلها محددة افتراضيًا.
  • حذف النسخ الاحتياطية من الواجهة/الـAPI (delete-backup) وسياسة الإبقاء على أحدث N للنسخ اليدوية (prune)؛ وتُكتب كل عملية حذف واستعادة وتقليم وتشغيل مجدول في سجل تدقيق JSON محلي يمكنك عرضه في التطبيق.
  • تُلتقط أذونات التشغيل وAppOps في ملف البيان وتُعاد تطبيقها عند الاستعادة. ويُلتقط أيضًا مصدر التثبيت (installerPackageName) والحالة المفعّلة/المعطّلة ويُعادان تطبيقهما عند الاستعادة.
  • تزييف مصدر التثبيت: افتراضيًا تُبلّغ التطبيقات المستعادة عن متجر Play كمصدر تثبيتها (يُضبط وقت التثبيت عبر جلسة التثبيت، لأن التطبيق المستعاد يبدو لولا ذلك مثبّتًا جانبيًا)؛ قابل للتبديل عامًّا ولكل استعادة، وحين يكون معطّلًا يُحتفظ بالمصدر الملتقَط. ويزيّف وضع "deep" المتقدم باختيار صريح، إضافةً إلى ذلك، الحزمة المُبادِرة ومصدر الحزمة بتحرير قاعدة بيانات حزم النظام (نسخة احتياطية مطابقة بايتًا ببايت أولًا، ويُطبَّق بعد إعادة التشغيل) فيبدو التطبيق مثبّتًا من المتجر بالكامل.
  • SSAID (معرّف الجهاز ANDROID_ID): اختياري بصرامة ومعلَّم بوضوح؛ ومدرك لصيغة ABX؛ ويُنسخ الملف الحي دائمًا نسخة مطابقة بايتًا ببايت قبل أي استبدال من أجل التراجع؛ ويُطبَّق بعد إعادة التشغيل.
  • تتطلب الاستعادة والاستيراد إقرارًا صريحًا بأن "هذا سيستبدل بيانات التطبيق الحالية" قبل المتابعة.

الجدولة والأتمتة:

  • نسخ احتياطية مجدولة مع سياسة الإبقاء keep-N، تُدار من علامة تبويب Schedule (لكل تطبيق، يوميًا/كل ساعة/أسبوعيًا مع وقت ووضع ووجهة اختيارية).
  • نسخ احتياطي تلقائي عند التثبيت أو التحديث: مراقب باختيار صريح يركب نبضة قلب المُجدوِل، وينسخ التطبيقات الجديدة أو المحدَّثة في الخلفية احتياطيًا، ويسجّل فقط في التشغيل الأول بحيث لا يؤدي تفعيله أبدًا إلى نسخ كل شيء دفعة واحدة. ويحترم إعداد التطبيقات المستبعَدة (قائمة الحظر).

النسخ الاحتياطية الخاصة (على مستوى النظام):

  • نسخ احتياطي للرسائل (SMS/MMS) وجهات الاتصال وسجل المكالمات وWi-Fi وBluetooth كبيانات نظام خام مؤرشفة بأمانة (بنفس حفظ SELinux/xattr وتشفير age الاختياري كنسخ التطبيقات). الاستعادة أمينة على الجهاز وROM نفسيهما، وتتطلب إعادة تشغيل، وتُحجب خلف إقرار بارز بالاستبدال وإعادة التشغيل.
  • تصدير محمول اختياري إلى جانب الأرشيف الخام: تُكتب أيضًا الرسائل وسجل المكالمات وجهات الاتصال بصيغة JSON قابلة للفتح (تُقرأ بأداة sqlite3 المرفقة مباشرةً من قواعد بيانات المزوّد، فتبقى متون الرسائل التي تحوي فواصل أو أسطرًا جديدة سليمة)، مانحًا نسخة عابرة للأجهزة لا تحتاج الوحدة. وتُشفَّر النسخة المحمولة أيضًا حين تكون النسخة الاحتياطية مشفّرة، فلا تكشف أبدًا ما يحميه الأرشيف.

تكامل النظام:

  • تركيب تطبيق مثبّت كتطبيق نظام دون المساس بقسم /system الحقيقي: يجهّز VDBackup ملف(ات) APK للتطبيق في وحدة فرعية تراكبية خاصة به، يركّبها مدير الجذر. مع NoMount على KernelSU يُحقن حيًّا (دون إعادة تشغيل)؛ وإلا يُطبَّق في الإقلاع التالي، فلا يعتمد أبدًا على تثبيت NoMount. اختر وضعًا عاديًا أو مميّزًا.

WebUI:

  • تعرض قائمة التطبيقات الاسم المحلي الحقيقي للتطبيق (المستخرَج من APK، فيبقى بعد إلغاء التثبيت) إلى جانب الحزمة، مع أيقونات محمّلة بتكاسل ومخزّنة مؤقتًا تُعرض كمربعات مستديرة مدركة للتكيّف.
  • انقر على تطبيق لفتح سجل نسخه الاحتياطية واستعادة أي نسخة سابقة؛ وتعرض علامة التبويب Backups الاسم والحزمة على سطرين منفصلين وتفتح صفحة تفاصيل لكل نسخة احتياطية (الإصدار، مصدر التثبيت، الحالة، التاريخ، الحجم، العناصر، أعداد الأذونات، الجهاز).
  • رشّح قائمة التطبيقات حسب المستخدم/النظام/الكل ورتّبها حسب الاسم أو الحزمة؛ وحدّد عدة تطبيقات وانسخها احتياطيًا في دفعة واحدة؛ واستبعد تطبيقات من النسخ التلقائية والمجدولة.
  • اختر ما تضمّنه وبدّل التحقق أو التشغيل التجريبي لكل نسخة احتياطية؛ واختر استعادة اختبارية فقط تستخرج إلى التجهيز دون المساس بالتطبيق الحي.
  • سمة فاتحة/داكنة، ومُحدِّد لون التمييز، ومحدّد لغة، وعلامة تبويب About (مع المشاريع الشقيقة وبيان تدقيق الملفات الثنائية المرفقة)، ومُنتقي مجلدات للوجهة المحلية، وتقدم عمليات محلّي مع ملاحظات فورية، وحوارات حديثة داخل التطبيق (دون نوافذ alert/confirm المنبثقة من النظام).
  • يعيدك التنقل بزر الرجوع إلى علامة التبويب السابقة ويغلق الحوارات أولًا؛ والحوارات عائمة، ويبقى التطبيق بعد إعادة فتحه بإعادة الارتباط بالعمليات الحية.

ملائم للذكاء الاصطناعي وi18n:

  • واجهة تحكم JSON موثَّقة تتيح للوكلاء إدارة كل إجراء بلا واجهة (docs/AI-AGENTS.md)؛ وما WebUI إلا أحد عملاء تلك الـAPI.
  • تُرجم ملف README وجميع وثائق المشروع إلى 21 لغة قياسية (docs/<lang>/)، مع عكس الوثائق إلى الويكي.
  • يعمل سرد التطبيقات الغني وفك تشفير Neo عبر مساعد dex يُقاد بصلاحيات الجذر (‏IPackageManager عبر ServiceManager)، فيعملان حيث يتعلق ActivityThread.

Clone this wiki locally