[FEATURE REQUEST] Add WebDAV as a backup target for Package Backup (self-hosted cloud backups)
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 35/100
Hướng nghiên cứu
Start by reading the existing Package Backup and GitHub Cloud Backup implementation, then trace how scheduled and manual backups create the .ubundle/JSON payload and how the Bundle restore flow loads it. The issue describes adding WebDAV configuration, uploads, remote listing and downloads, credential storage, and offline handling; done when those flows work while existing GitHub backup remains unchanged. The payload does not name specific files or tests.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Please confirm these before moving forward.
- I have searched for my feature proposal and have not found a work-in-progress/duplicate/resolved/discarded issue.
- This proposal is a completely new feature. If you want to suggest an improvement or an enhancement, please use this template.
Describe the new feature
Background / Motivation
UniGetUI 3.3.0+ can export the installed-package list as a local .ubundle/JSON bundle and, through Cloud Backup, periodically sync it to a private GitHub repository/Gist tied to the user's GitHub account. This makes reinstalling Windows or migrating to a new PC remarkably easy.
Today GitHub is the only remote backup target. That means users must create and trust a third-party account, depend on its OAuth flow and service availability, and in some regions or restricted networks GitHub access is unreliable or blocked. Users who already run a self-hosted NAS or a WebDAV-capable cloud drive cannot point UniGetUI at storage they own and control. The local export works, but it remains a manual copy step and provides no automatic off-device copy of the backup.
Desired feature
Add "WebDAV" as an optional backup destination alongside the existing GitHub Cloud Backup, under Settings > Package Backup:
- Configuration: server URL (HTTPS), remote folder/path, username and password/app-specific token. Store credentials securely (e.g. Windows Credential Manager / DPAPI), never in plaintext or in logs.
- Reuse the existing backup payload (.ubundle/JSON) and the existing "Periodically perform a backup" schedule plus the manual "Backup now" button: upload the generated file with PUT, while keeping a local copy as a fallback.
- Restore flow: list remote backups (PROPFIND), let the user select one, download it (GET) and feed it into the existing Bundle restore flow.
- Multi-device safety: use per-device filenames (e.g. HOSTNAME\username.ubundle) or explicit naming so two machines do not overwrite each other's backup.
- Robustness: timeouts and retries, clear error reporting that never blocks the local backup, queued uploads while offline, optional timestamped/versioned copies or ETag-based conflict handling, TLS/self-signed certificate options and proxy support.
- GitHub backup stays unchanged and remains the default; WebDAV is opt-in.
Use cases
- A desktop and a laptop at home/office both push their package lists to one WebDAV share; after a clean Windows install, pick the matching device backup and reinstall everything in a few clicks.
- Privacy- or compliance-minded users and teams keep their software inventory on an internal NAS reachable only over LAN/VPN, instead of a third-party service.
- Users of WebDAV-capable drives — Nutstore / 坚果云, Nextcloud, ownCloud, Synology or QNAP NAS, AList — get cloud backup without a GitHub account and without any extra server-side component.
- Unattended automation: scheduled backups run at logon and upload silently, failed uploads retry later, and the NAS can add its own snapshots/versioning.
Describe how this new feature could help users
Expected benefits
- Cross-device sync and a single central place for all machine backups, with no manual copying.
- Self-hosted data: users decide where backups live, who can read them and how long they are kept; less exposure to third-party account or OAuth changes, service outages, and regional access restrictions.
- Broad compatibility via a standard protocol (RFC 4918): mainstream cloud drives and home/office NAS work out of the box, with no service for UniGetUI to host or maintain.
- Makes scheduled, hands-off off-device backups practical, so the package list survives disk failure, theft, or a system reinstall.
- Additive and low-risk: no change for existing GitHub users; WebDAV client libraries are mature, and the existing backup payload and restore logic can be reused as-is.
- Ngôn ngữ chính
- C#
- Star
- 26.8k
- Fork
- 970
- Merge trung bình
- 17 giờ 26 phút
- Pull request đã merge (30 ngày)
- 134
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của Devolutions/UniGetUI
-
bug
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
Devolutions/UniGetUI#5723 · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug priority: low winget
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 56/100
Devolutions/UniGetUI#5722 · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug winget
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
Devolutions/UniGetUI#5721 · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[IMPROVEMENT] Lower GPU usageĐang mởenhancement
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 42/100
Devolutions/UniGetUI#5718 · 2 bình luận · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug priority: medium
Độ khó 4/5 1-2 ngày Mức phù hợp với người mới 43/100
Devolutions/UniGetUI#5685 · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của Devolutions/UniGetUI
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 64/100
criticalmanufacturing/cli#909 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
RadicalCSG/com.chisel#312 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
eyalgolan/statecraft-israel#3093 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 63/100
DeveloperAcademy-POSTECH/2026-C6-M10-MUSA#677 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
REQ-13 : une demande En cours perd son responsable par un simple enregistrement, et reste En coursĐang mởa-corriger bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
christian-raj/S-Aloha#301 ·