Repository navigation
th 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 ถูกบันทึกไว้ที่นี่ เป็นภาษาอังกฤษเท่านั้น
การเผยแพร่สู่สาธารณะครั้งแรก โมดูล WebUI ของ KernelSU/APatch/Magisk ที่สำรองและกู้คืน แอปและข้อมูลของแอปทั้งหมดในฐานะ 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 - การบีบอัด: none, lz4, zstd (ระดับ), หรือ gzip ("โหมดความเข้ากันได้") ไฟล์ manifest แบบ JSON บันทึกอุปกรณ์, แพ็กเกจ (รวมถึงป้ายชื่อแอป), รายการและสิทธิ์
- การเข้ารหัสแบบพกพาด้วย
age(keygen) พร้อมคู่มือ PC RECOVERY ที่แนบไว้ภายในทุก ไฟล์สำรองที่เข้ารหัส เพื่อให้ถอดรหัสและแตกไฟล์ได้ทุกที่ โดยไม่ต้องใช้โมดูล
ปลายทางและคลาวด์:
- ปลายทาง: add/list/test/delete (ภายในเครื่อง, rclone remote, restic repo, และตัวเสริม Google Drive แบบ opt-in); ข้อมูลรับรองจัดเก็บแบบปิดบัง ไม่เคยเก็บเป็นข้อความชัดเจน
- สร้าง rclone remote จาก UI/API (
remote-add/remote-list/remote-del) เพื่อให้ แบ็กเอนด์คลาวด์ใด ๆ (SFTP, SMB, WebDAV, FTP, S3, Google Drive, และอื่น ๆ) เข้าถึงได้โดยไม่ต้อง แก้ไขrclone.confด้วยมือ - Google Drive สองวิธี: ผ่าน rclone (ไม่ต้องมีบัญชี Google Cloud) หรือแอปตัวเสริม headless
แบบ opt-in (
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 และการตรวจสอบความสมบูรณ์ของ repo สำหรับ Snapshot), dry-run, และ restore-test ไฟล์เก็บถาวรถูกอ่านกลับเพื่อ ตรวจความครบถ้วน; ไฟล์เก็บถาวรที่เสียหายหรือชื่อแพ็กเกจที่ไม่ถูกต้องไม่มีทางทำให้เกิดการกู้คืนแบบทำลายล้างได้ และความล้มเหลวของการถ่ายโอนระยะไกลจะถูกรายงาน ไม่เคยเงียบหาย
- การกู้คืนแบบเลือกได้: กู้คืนชุดย่อยใด ๆ ของ items ที่การสำรองเก็บไว้ (APK, data, ข้อมูลที่ป้องกัน, OBB, external, media) ถูกเลือกทั้งหมดโดยค่าเริ่มต้น
- ลบการสำรองจาก UI/API (
delete-backup) และการเก็บรักษาแบบ keep-last-N สำหรับการสำรองแบบแมนนวล (prune); ทุกการลบ, การกู้คืน, การตัดแต่ง และการรันแบบตั้งเวลาจะถูกเขียนลงในบันทึก audit JSON ในเครื่อง ที่คุณดูได้ในแอป - สิทธิ์ runtime และ AppOps ถูกเก็บลงใน manifest และนำกลับมาใช้เมื่อกู้คืน แหล่งติดตั้ง (installerPackageName) และสถานะเปิด/ปิดใช้งานก็ถูกเก็บด้วยและนำกลับมาใช้เมื่อกู้คืน
- การปลอมแปลงแหล่งติดตั้ง: โดยค่าเริ่มต้น แอปที่กู้คืนจะรายงาน Play Store เป็นแหล่งติดตั้งของมัน (ตั้งตอน ติดตั้งผ่านเซสชันการติดตั้ง เนื่องจากแอปที่กู้คืนมิฉะนั้นจะดูเหมือนถูก sideload); สลับได้ทั้งแบบทั่วทั้งระบบ และต่อการกู้คืน และเมื่อปิด แหล่งที่เก็บไว้จะถูกคงไว้ โหมด "deep" ขั้นสูงแบบ opt-in จะปลอมแปลง initiating package และ package source เพิ่มเติมด้วยการแก้ไขฐานข้อมูล package ของระบบ (สำรองแบบ byte-exact ก่อน มีผลหลังรีบูต) เพื่อให้แอปดูเหมือนถูกติดตั้งจากสโตร์อย่างสมบูรณ์
- SSAID (ANDROID_ID ของอุปกรณ์): เป็น opt-in อย่างเข้มงวดและทำเครื่องหมายอย่างเด่นชัด; รับรู้ ABX; ไฟล์ ที่ใช้งานอยู่จะถูกสำรองแบบ byte-exact เสมอก่อนการเขียนทับใด ๆ เพื่อการ rollback; มีผลหลังจาก รีบูต
- การกู้คืนและการนำเข้าต้องมีการยอมรับอย่างชัดเจนว่า "สิ่งนี้จะเขียนทับข้อมูลแอปปัจจุบัน" ก่อนจะดำเนินการต่อ
การตั้งเวลาและการทำงานอัตโนมัติ:
- การสำรองแบบตั้งเวลาพร้อมการเก็บรักษาแบบ keep-N จัดการจากแท็บ Schedule (ต่อแอป, รายวัน/รายชั่วโมง/ รายสัปดาห์ พร้อมเวลา, mode และปลายทางที่เป็นตัวเลือก)
- การสำรองอัตโนมัติเมื่อติดตั้งหรืออัปเดต: ตัวสังเกตแบบ opt-in เกาะไปกับ heartbeat ของตัวตั้งเวลา สำรอง แอปใหม่หรือที่อัปเดตในพื้นหลัง และหว่านเมล็ดเฉพาะในการรันครั้งแรกเท่านั้น การเปิดใช้งานมันจึงไม่เคยสำรอง ทุกอย่างในคราวเดียว เคารพการตั้งค่าแอปที่ยกเว้น (บัญชีดำ)
การสำรองข้อมูลพิเศษ (ระดับทั้งระบบ):
- สำรองข้อความ (SMS/MMS), รายชื่อติดต่อและบันทึกการโทร, Wi-Fi และ Bluetooth เป็นข้อมูลระบบแบบ raw ที่ เก็บถาวรอย่างซื่อตรง (การคงรักษา SELinux/xattr และการเข้ารหัส age ที่เป็นตัวเลือกแบบเดียวกับการสำรองแอป) การกู้คืนเป็นแบบซื่อตรงบนอุปกรณ์เดียวกัน/ROM เดียวกัน ต้องรีบูต และถูกกั้นไว้หลังการรับทราบเรื่องการ เขียนทับและรีบูตที่เด่นชัด
- การส่งออกแบบพกพาที่เป็นตัวเลือกควบคู่กับไฟล์เก็บถาวรแบบ raw: ข้อความ, บันทึกการโทร และรายชื่อติดต่อยัง ถูกเขียนเป็น JSON ที่เปิดได้ (อ่านด้วย sqlite3 ที่แนบมาตรงจากฐานข้อมูล provider ดังนั้นเนื้อหาข้อความที่มี จุลภาคหรือขึ้นบรรทัดใหม่จึงอยู่ครบ) ให้สำเนาข้ามอุปกรณ์ที่ไม่ต้องใช้โมดูล สำเนาแบบพกพาจะถูกเข้ารหัสด้วย เมื่อการสำรองถูกเข้ารหัส จึงไม่เคยรั่วสิ่งที่ไฟล์เก็บถาวรปกป้อง
การผสานรวมกับระบบ:
- เมานต์แอปที่ติดตั้งให้เป็นแอประบบโดยไม่แตะพาร์ทิชัน /system จริง: VDBackup จัดเตรียม APK ของแอปลงใน โมดูลย่อย overlay ของตัวเอง ซึ่งตัวจัดการ root จะเมานต์ ด้วย NoMount บน KernelSU มันถูกฉีดเข้าทันที (ไม่ต้องรีบูต); มิฉะนั้นจะมีผลเมื่อบูตครั้งถัดไป มันจึงไม่เคยพึ่งพาการติดตั้ง NoMount เลือกการวางแบบปกติ หรือแบบมีสิทธิพิเศษ
WebUI:
- รายการแอปแสดงชื่อแอปที่แปลเป็นภาษาท้องถิ่นจริง (แยกวิเคราะห์จาก APK จึงคงอยู่แม้ ถอนการติดตั้งไปแล้ว) ควบคู่กับแพ็กเกจ โดยมีไอคอนที่โหลดแบบ lazy และแคชไว้ แสดงเป็นไทล์ มุมมนที่รับรู้ adaptive
- แตะที่แอปเพื่อเปิดประวัติการสำรองและกู้คืนการสำรองก่อนหน้าใด ๆ; แท็บ Backups แสดงชื่อและแพ็กเกจในบรรทัดแยกกันและเปิดแผ่นรายละเอียดต่อการสำรอง (เวอร์ชัน, แหล่งติดตั้ง, สถานะ, วันที่, ขนาด, รายการ, จำนวนสิทธิ์, อุปกรณ์)
- กรองรายการแอปตามผู้ใช้/ระบบ/ทั้งหมด และเรียงตามชื่อหรือแพ็กเกจ; เลือกหลายแอปแล้วสำรองในชุดเดียว; ยกเว้นแอปจากการสำรองอัตโนมัติและแบบตั้งเวลา
- เลือกสิ่งที่จะรวมและสลับ verify หรือ dry-run ต่อการสำรอง; เลือกการกู้คืนแบบทดสอบอย่างเดียวที่แตกไฟล์ไปยัง staging โดยไม่แตะแอปที่ใช้งานจริง
- ธีมสว่าง/มืด, ตัวเลือกสีเน้น, ตัวเลือกภาษา, แท็บ About (พร้อมโปรเจกต์พี่น้องและไฟล์ manifest สำหรับตรวจสอบไบนารีที่มาพร้อมกัน), ตัวเลือกโฟลเดอร์สำหรับปลายทางในเครื่อง, ความคืบหน้าของการดำเนินการที่แปลเป็นภาษาท้องถิ่นพร้อม การตอบสนองทันที, และกล่องโต้ตอบ in-app ที่ทันสมัย (ไม่มีป็อปอัป alert/confirm ของระบบ)
- การนำทางด้วยปุ่มย้อนกลับจะกลับไปยังแท็บก่อนหน้าและปิดกล่องโต้ตอบก่อน; กล่องโต้ตอบเป็นแบบลอยและแอป คงอยู่เมื่อเปิดใหม่โดยเชื่อมต่อกลับไปยังการดำเนินการที่กำลังทำงานอยู่
เป็นมิตรกับ AI และ i18n:
- พื้นผิวควบคุม JSON ที่มีเอกสารกำกับ เพื่อให้เอเจนต์จัดการทุกการกระทำแบบ headless ได้
(
docs/AI-AGENTS.md); WebUI เป็นเพียงไคลเอนต์หนึ่งของ API นั้น - README และเอกสารโครงการทั้งหมดถูกแปลเป็น 21 ภาษามาตรฐาน
(
docs/<lang>/) โดยมีเอกสารสะท้อนไปยัง wiki - รายการแอปที่สมบูรณ์และการถอดรหัส Neo ทำงานผ่าน dex helper ที่ขับเคลื่อนในฐานะ root
(
IPackageManagervia ServiceManager) จึงทำงานได้ในที่ที่ ActivityThread ค้าง