Skip to content

hi 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 | 中文


Changelog

VDBackup में सभी उल्लेखनीय परिवर्तन यहाँ प्रलेखित हैं। केवल अंग्रेज़ी में।

v1.01

पहली सार्वजनिक रिलीज़। एक KernelSU/APatch/Magisk WebUI मॉड्यूल जो ऐप्स और उनके डेटा का बैकअप और पुनर्स्थापन पूरी तरह root के रूप में करता है, किसी अनुमति प्रॉम्प्ट के बिना।

इंजन और प्रारूप:

  • बैकअप/रिस्टोर इंजन एक अलग किए गए root प्रोसेस (setsid) के रूप में चलता है: यह WebUI या root मैनेजर बंद करने पर भी जीवित रहता है, और UI opid के ज़रिए लाइव प्रगति से फिर से जुड़ जाता है।
  • तीन बैकअप मोड: Full (tar.zst, स्थानीय या रिमोट), Snapshot (restic repo, एन्क्रिप्टेड और डी-डुप्लिकेटेड), और Mirror (rclone/rsync 1:1 सिंक)। APK हमेशा संपीड़ित होते हैं, यहाँ तक कि mirror में भी।
  • प्रति ऐप आइटम: APK (base + splits), data, data_de, obb, बाहरी और मीडिया। SELinux संदर्भ, uid/gid, modes और xattr/caps संरक्षित रहते हैं; रिस्टोर एक pm install सत्र का उपयोग करता है और स्वामित्व/संदर्भ को लाइव uid पर फिर से मैप करता है।
  • पूरे समय प्रति-उपयोगकर्ता (बहु-उपयोगकर्ता) के प्रति सचेत। बैकअप /sdcard/VDBackup के अंतर्गत (प्रति उपयोगकर्ता), /data/adb के बाहर संग्रहीत होते हैं, इसलिए पहले अनलॉक से पहले वे पठनीय नहीं होते; हर गंतव्य <path>/vdbackup के अंतर्गत namespaced होता है।
  • संपीड़न: none, lz4, zstd (स्तर), या gzip ("संगतता मोड")। एक JSON manifest डिवाइस, पैकेज (ऐप लेबल सहित), आइटम और अनुमतियाँ दर्ज करता है।
  • age के साथ पोर्टेबल एन्क्रिप्शन (keygen), साथ ही हर एन्क्रिप्टेड बैकअप के अंदर भेजी गई एक PC RECOVERY गाइड ताकि इसे कहीं भी, मॉड्यूल के बिना, डिक्रिप्ट और एक्सट्रैक्ट किया जा सके।

गंतव्य और क्लाउड:

  • गंतव्य: add/list/test/delete (स्थानीय, rclone रिमोट, restic repo, और एक opt-in Google Drive साथी); क्रेडेंशियल अस्पष्ट रूप में संग्रहीत होते हैं, कभी स्पष्ट रूप में नहीं।
  • UI/API से rclone रिमोट बनाएँ (remote-add/remote-list/remote-del), ताकि कोई भी क्लाउड बैकएंड (SFTP, SMB, WebDAV, FTP, S3, Google Drive, और अधिक) rclone.conf को हाथ से संपादित किए बिना पहुँच योग्य हो।
  • Google Drive दो तरीकों से: rclone के ज़रिए (Google Cloud खाते के बिना) या opt-in headless साथी ऐप (ru.vd171.vdbackup), जो एक अनिवार्य HMA-OSS छिपाने की सूचना वहन करता है।
  • नेटवर्क नीति: चुनें कि क्लाउड स्थानांतरण किसी भी कनेक्शन, केवल Wi-Fi, या केवल मोबाइल डेटा का उपयोग कर सकते हैं या नहीं; मैनुअल और निर्धारित जॉब के लिए लागू। स्थानीय गंतव्य मुक्त हैं।

आयात (माइग्रेशन इन):

  • Neo-Backup से आयात, पासवर्ड-एन्क्रिप्टेड बैकअप सहित (AES-256-GCM को dex helper द्वारा डिक्रिप्ट किया जाता है; WebUI पासवर्ड माँगता है)।
  • Android-DataBackup से आयात (APK इंस्टॉल करें, user/user_de/data अभिलेख एक्सट्रैक्ट करें, फिर से मैप करें)।
  • दोनों को विभिन्न डिवाइसों पर वास्तविक बैकअप के विरुद्ध मान्य किया गया।

अखंडता और सुरक्षा:

  • निष्ठापूर्वक wipe-फिर-extract रिस्टोर; प्रति-अभिलेख sha256 सत्यापन (Full के लिए डिफ़ॉल्ट चालू, और Snapshot के लिए एक repo अखंडता जाँच), dry-run, और restore-test। पूर्णता के लिए अभिलेख वापस पढ़े जाते हैं; एक दूषित अभिलेख या एक अमान्य पैकेज नाम कभी भी विनाशकारी रिस्टोर को ट्रिगर नहीं कर सकता, और रिमोट-स्थानांतरण विफलताएँ रिपोर्ट की जाती हैं, कभी मौन नहीं।
  • चयनात्मक रिस्टोर: किसी बैकअप में मौजूद आइटम का कोई भी उपसमुच्चय रिस्टोर करें (APK, data, सुरक्षित data, OBB, बाहरी, मीडिया), सभी डिफ़ॉल्ट रूप से चयनित।
  • UI/API से बैकअप हटाएँ (delete-backup) और मैनुअल बैकअप के लिए keep-last-N प्रतिधारण (prune); हर delete, restore, prune और निर्धारित रन एक स्थानीय JSON ऑडिट लॉग में लिखा जाता है जिसे आप ऐप में देख सकते हैं।
  • Runtime अनुमतियाँ और AppOps manifest में कैप्चर किए जाते हैं और रिस्टोर पर फिर से लागू किए जाते हैं। इंस्टॉल स्रोत (installerPackageName) और सक्षम/अक्षम स्थिति भी कैप्चर की जाती है और रिस्टोर पर फिर से लागू की जाती है।
  • इंस्टॉल-स्रोत स्पूफ़िंग: डिफ़ॉल्ट रूप से एक रिस्टोर किया गया ऐप अपने इंस्टॉल स्रोत के रूप में Play Store बताता है (इंस्टॉल सत्र के ज़रिए इंस्टॉल के समय सेट, क्योंकि एक रिस्टोर किया गया ऐप अन्यथा sideloaded दिखता है); वैश्विक रूप से और प्रति रिस्टोर बदली जा सकती है, और बंद होने पर कैप्चर किया गया स्रोत रखा जाता है। एक उन्नत, opt-in "deep" मोड अतिरिक्त रूप से सिस्टम पैकेज डेटाबेस संपादित करके आरंभकर्ता पैकेज और पैकेज स्रोत को गढ़ता है (पहले byte-exact बैकअप, एक रिबूट के बाद लागू) ताकि ऐप पूरी तरह store-installed दिखे।
  • SSAID (डिवाइस ANDROID_ID): सख्ती से opt-in और प्रमुखता से चिह्नित; ABX-सचेत; लाइव फ़ाइल का हमेशा किसी भी ओवरराइट से पहले rollback के लिए byte-exact बैकअप लिया जाता है; यह रिबूट के बाद लागू होता है।
  • रिस्टोर और आयात को आगे बढ़ने से पहले एक स्पष्ट "यह वर्तमान ऐप डेटा को ओवरराइट करता है" स्वीकृति की आवश्यकता होती है।

शेड्यूलिंग और ऑटोमेशन:

  • keep-N प्रतिधारण के साथ निर्धारित बैकअप, एक Schedule टैब से प्रबंधित (प्रति ऐप, daily/hourly/weekly एक वैकल्पिक समय, mode और गंतव्य के साथ)।
  • इंस्टॉल या अपडेट पर स्वचालित बैकअप: एक opt-in ऑब्ज़र्वर scheduler heartbeat पर सवार होता है, नए या अपडेट किए गए ऐप्स का पृष्ठभूमि में बैकअप लेता है, और केवल पहले रन पर seed करता है ताकि इसे सक्षम करने पर कभी एक साथ सब कुछ बैकअप न हो। बहिष्कृत-ऐप्स (blocklist) सेटिंग का सम्मान करता है।

विशेष (सिस्टम-व्यापी) बैकअप:

  • संदेश (SMS/MMS), संपर्क और कॉल लॉग, Wi-Fi और Bluetooth को कच्चे, निष्ठापूर्वक अभिलेखित सिस्टम डेटा के रूप में बैकअप करें (ऐप बैकअप जैसा ही SELinux/xattr संरक्षण और वैकल्पिक age एन्क्रिप्शन)। रिस्टोर समान-डिवाइस/समान-ROM पर निष्ठापूर्ण, रिबूट-आवश्यक, और एक प्रमुख ओवरराइट-और-रिबूट स्वीकृति के पीछे गेट किया गया है।
  • कच्चे अभिलेख के साथ एक वैकल्पिक पोर्टेबल निर्यात: संदेश, कॉल लॉग और संपर्क एक खोलने योग्य JSON के रूप में भी लिखे जाते हैं (बंडल किए गए sqlite3 से सीधे provider डेटाबेस से पढ़े जाते हैं, ताकि अल्पविराम या नई-पंक्तियों वाले संदेश मूल रूप में बचे रहें), जो एक क्रॉस-डिवाइस, मॉड्यूल-रहित प्रति देता है। बैकअप एन्क्रिप्टेड होने पर पोर्टेबल प्रति भी एन्क्रिप्ट की जाती है, इसलिए यह कभी वह लीक नहीं करती जिसे अभिलेख सुरक्षित रखता है।

सिस्टम एकीकरण:

  • असली /system विभाजन को छुए बिना किसी इंस्टॉल्ड ऐप को सिस्टम ऐप के रूप में माउंट करें: VDBackup ऐप के APK को अपने ही ओवरले उप-मॉड्यूल में स्टेज करता है, जिसे root मैनेजर माउंट करता है। KernelSU पर NoMount के साथ यह live इंजेक्ट किया जाता है (कोई रिबूट नहीं); अन्यथा यह अगले बूट पर लागू होता है, इसलिए यह कभी NoMount के इंस्टॉल होने पर निर्भर नहीं करता। नियमित या विशेषाधिकार-प्राप्त स्थान चुनें।

WebUI:

  • ऐप सूची वास्तविक स्थानीयकृत ऐप नाम दिखाती है (APK से हल किया गया, इसलिए यह अनइंस्टॉल के बाद भी बना रहता है) पैकेज के साथ, lazy-loaded, कैश किए गए आइकनों के साथ जो गोलाकार, adaptive-सचेत टाइलों के रूप में रेंडर होते हैं।
  • किसी ऐप पर टैप करके उसका बैकअप इतिहास खोलें और किसी भी पिछले बैकअप को पुनर्स्थापित करें; Backups टैब नाम और पैकेज को अलग-अलग पंक्तियों में दिखाता है और प्रति बैकअप एक विवरण शीट खोलता है (संस्करण, इंस्टॉल स्रोत, स्थिति, तिथि, आकार, आइटम, अनुमति गणना, डिवाइस)।
  • ऐप सूची को user/system/all से फ़िल्टर करें और नाम या पैकेज से क्रमबद्ध करें; कई ऐप्स चुनें और उन्हें एक बैच में बैकअप करें; ऐप्स को स्वचालित और निर्धारित बैकअप से बाहर रखें।
  • चुनें कि क्या शामिल करना है और प्रति बैकअप verify या dry-run टॉगल करें; एक केवल-परीक्षण रिस्टोर चुनें जो live ऐप को छुए बिना staging में निकालता है।
  • हल्का/गहरा थीम, एक accent-रंग चयनकर्ता, भाषा चयनकर्ता, एक About टैब (सहोदर प्रोजेक्ट और बंडल-बाइनरी ऑडिट manifest के साथ), स्थानीय गंतव्य के लिए एक फ़ोल्डर चयनकर्ता, तुरंत प्रतिक्रिया के साथ स्थानीयकृत ऑपरेशन प्रगति, और आधुनिक in-app डायलॉग (कोई सिस्टम alert/confirm पॉप-अप नहीं)।
  • Back-बटन नेविगेशन पिछले टैब पर लौटता है और पहले डायलॉग बंद करता है; डायलॉग फ़्लोटिंग हैं और ऐप लाइव ऑपरेशनों से फिर से जुड़कर पुनः खोलने पर बचा रहता है।

AI-अनुकूल और i18n:

  • एक प्रलेखित JSON नियंत्रण सतह ताकि एजेंट हर क्रिया को headless रूप से प्रशासित कर सकें (docs/AI-AGENTS.md); WebUI उस API का केवल एक क्लाइंट है।
  • README और सभी प्रोजेक्ट प्रलेखन 21 मानक भाषाओं में अनूदित हैं (docs/<lang>/), जिसमें दस्तावेज़ wiki में दर्पित हैं।
  • समृद्ध ऐप सूची और Neo डिक्रिप्शन एक dex helper के माध्यम से चलते हैं जो root के रूप में संचालित होता है (IPackageManager via ServiceManager), ताकि वे वहाँ काम करें जहाँ ActivityThread अटक जाता है।

Clone this wiki locally