This adds support for the option `s3-authentication-region` which can be used to control the authentication region, which is required for some Minio setups.
This fixes#6562
- Added Cloudflare to list of known S3 provider domains.
- Removed AWS specific naming on the help texts.
- Fixed an edge case where calculating how many files to test with an empty list would crash
- Fixed a bug with getting a safe display url for very short urls
The static files are not XSRF protected but require a valid token.
Updated to an expiring memory cache instead of concurrent dictionary to avoid memory leaks with really long running sessions.
This PR adds a new endpoint to explicitly wait for registration instead of reusing the registration endpoint for both starting and continuing registration wait.
Renamed the options to be more descriptive.
Rewrote the dependency query to be more readable and also check for metadata dependency.
Fixed an edge case where there were no modified files, and no new backup is created.
Fixed some issues with local/utc datetime compares.
Fixed logic for deleting filesets to only look at the filesets themselves. This makes the version lock follow the dlist file, and can create "dangling" volumes that have no filesets, but these will be picked up by compaction.
Updated tests to work correctly.
Added lock-info update option for the backup recreate call, so the UI can also re-create lock information on database rebuilds.
This adds back support for Synology DSM.
The implementation is compatible with DSM 7.2+ and integrates with DSM to forward requests through the DSM server into Duplicati.
The setup features database locks, using a random auth-key so DSM handles authentication.
The database is encrypted with a random key, and all data is stored in the `var` folder.
The uninstall can optionally remove the `var` data.
This is still a work in progress. The authentication integration with DSM does not currently work.
This PR adds new support for fine-grained control over the server/ui handling when the X-Forwarded-Prefix header is set.
Additionally, this allows getting a websocket token, so cases where the websocket is not pre-authenticated, but regular requests are authenticated, it works the same.
Added a new endpoint for probing for pre-authenticed conditions without causing a 401 to be logged.
This PR adds support for locking files if the backend supports it.
To activate locking, set the option `--file-lock-duration=30D` and the backup will lock the files.
If the database is rebuilt with the intention of continuing the backups, use the option `--repair-refresh-lock-info` which will update lock information in the database after recreating the database.
The locking works by asking the backend to lock files after a backup has completed.
The implementation keeps track of which files are currently assigned a lock and prevents attempting to delete the files that are currently locked.
Note that the bucket should not have a default lock policy as Duplicati needs to finish the backup before the locking is applied.
In this initial version, Azure Blob Storage, B2, S3 and iDrive are supported with locking.
The CLI is updated to allow setting locks on a specific version. The backend tool is updated to allow setting locks on specific files.