Skip to content

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


Changelog

การเปลี่ยนแปลงสำคัญทั้งหมดของ VDBackup ถูกบันทึกไว้ที่นี่ เป็นภาษาอังกฤษเท่านั้น

v1.01

การเผยแพร่สู่สาธารณะครั้งแรก โมดูล 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 (IPackageManager via ServiceManager) จึงทำงานได้ในที่ที่ ActivityThread ค้าง

Clone this wiki locally