[FEATURE REQUEST] Add WebDAV as a backup target for Package Backup (self-hosted cloud backups)
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 35/100
Piste de recherche
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.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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.
- Langage dominant
- C#
- Étoiles
- 26.8k
- Forks
- 970
- Merge moyen
- 17 h 26 min
- PR mergées (30 j)
- 134
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de Devolutions/UniGetUI
-
bug
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
Devolutions/UniGetUI#5723 · 1 réaction ·
Les mainteneurs répondent en général sous 1 jour
-
bug priority: low winget
Difficulté 3/5 1-2 jours Accessibilité débutants 56/100
Devolutions/UniGetUI#5722 · 1 réaction ·
Les mainteneurs répondent en général sous 1 jour
-
bug winget
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
Devolutions/UniGetUI#5721 · 1 réaction ·
Les mainteneurs répondent en général sous 1 jour
-
[IMPROVEMENT] Lower GPU usageOuverteenhancement
Difficulté 4/5 3-5 jours Accessibilité débutants 42/100
Devolutions/UniGetUI#5718 · 2 commentaires · 1 réaction ·
Les mainteneurs répondent en général sous 1 jour
-
bug priority: medium
Difficulté 4/5 1-2 jours Accessibilité débutants 43/100
Devolutions/UniGetUI#5685 · 1 réaction ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de Devolutions/UniGetUI
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 64/100
criticalmanufacturing/cli#909 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
RadicalCSG/com.chisel#312 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
eyalgolan/statecraft-israel#3093 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 63/100
DeveloperAcademy-POSTECH/2026-C6-M10-MUSA#677 ·
Les mainteneurs répondent en général sous 1 jour
-
REQ-13 : une demande En cours perd son responsable par un simple enregistrement, et reste En coursOuvertea-corriger bug
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
christian-raj/S-Aloha#301 ·