Commit Graph
2481 Commits
Author SHA1 Message Date
Kenneth Skovhede 77664fc805 Bump ngclient 2026-04-23 11:58:17 +02:00
Kenneth Skovhede da5a54aa60 Updated all localizations to latest 2026-04-22 15:19:21 +02:00
Kenneth Skovhede c0f40e19ca Updated copyright year to 2026 across the project 2026-04-16 15:21:24 +02:00
Kenneth SkovhedeandGitHub f356fd6b14 Merge pull request #6833 from adnit/fix/6832-auth-refresh-loop
Fix ngax auth refresh infinite loop and handle terminal refresh failures (fixes #6832)
2026-04-13 16:47:34 +02:00
adnit 721c1c96fe fix(ngax): stop auth refresh infinite loop on terminal refresh failures
Treat auth refresh responses 400, 401, and 415 as terminal authentication failures
Clear stale auth state and refresh nonce, then immediately redirect to /login.html
Stop reconnect countdown/retry when terminal refresh failure is detected
Preserve normal retry behavior for transient failures such as 503
Add Playwright regression tests covering:
415 refresh failure redirects to login without runaway retries
503 refresh failure keeps retry behavior and does not force login redirect
2026-04-10 00:25:42 +02:00
Carl Johnsen 3b7e384024 Bumped ngclient to get the remote synchronization related updates 2026-03-26 13:20:05 +01:00
Carl Johnsen 74b575a712 Merge branch 'master' into bugfix/remote-synchronization-module-fixes 2026-03-24 09:37:02 +01:00
Kenneth Skovhede de70c72310 Updated ngclient to 0.0.212
Updated from 0.0.207 to 0.0.212.
2026-03-20 15:28:28 +01:00
Carl Johnsen 5fabd76aa2 Removed whitespace 2026-03-20 13:27:54 +01:00
Carl Johnsen 9fd53c99c4 Updated the progress information that's sent to the UI during remote synchronization to reflect the progress on the overall destinations 2026-03-20 13:27:28 +01:00
Carl Johnsen b7503687bb Better and more high resolution progress display during running the remote synchronization module 2026-03-20 12:28:58 +01:00
Carl Johnsen 81c3f948ee Removed whitespace 2026-03-20 09:01:13 +01:00
Carl Johnsen 534bda7166 Added progress tracking to the remote synchronization module to the UI 2026-03-20 09:00:52 +01:00
Kenneth Skovhede 07cd39af34 Add support for managed TLS
This PR adds support for generating a self-signed CA and then using that CA to generate TLS certificates.

A new tool `duplicati-configure` / `Duplicati.CommandLine.ConfigureTool.exe` is added to manage the certificates.  The tool saves the configuration in the database and is meant to run with elevated privileges for the initial CA installation.

The option `--configure-https` can be added to server/trayicon, and if the process has permissions, this will automatically install the CA certificate.

If a CA is configured, the server will automatically issue, renew and use a TLS certificate.

With this setup, the TLS is opt-in, but once the flow is well tested, we can switch it to opt-out.
2026-03-01 11:33:05 +01:00
Kenneth Skovhede 49c1db5cd8 Bumped ngclient to 0.0.207 2026-02-20 16:44:52 +01:00
Kenneth SkovhedeandGitHub 264f455319 Merge branch 'master' into feature/assign-license-from-console 2026-02-20 13:09:10 +01:00
Kenneth Skovhede ab82719a6b Improved license key support
Added support for reporting the license key details in SystemInfo.

Added support for loading a key via the console connection, if used.
2026-02-20 10:39:51 +01:00
Kenneth SkovhedeandGitHub e8bc016791 Merge branch 'master' into feature/folder-status-indicator 2026-02-20 10:34:16 +01:00
Kenneth SkovhedeandGitHub 4db8f01f23 Merge pull request #6737 from duplicati/feature/add-destination-repo
Added a connection string repo
2026-02-20 08:55:46 +01:00
Kenneth SkovhedeandGitHub a2d247adb3 Merge branch 'master' into feature/folder-status-indicator 2026-02-19 19:30:31 +01:00
Kenneth Skovhede 01130f4cd5 Implemented option to enable folder-status service (disabled by default). 2026-02-19 17:30:57 +01:00
Kenneth Skovhede 4bba0d4a41 Updated unmasking to support values from persisted ConnectionStrings 2026-02-19 16:35:49 +01:00
Kenneth Skovhede 94d272e734 Added support for also storing the connectionstringId for additional target urls 2026-02-19 10:41:27 +01:00
Kenneth Skovhede 1df253b469 Updated translations from Transifex 2026-02-18 13:50:54 +01:00
Kenneth Skovhede ea6d94b035 Added support for storing multiple targets in database with backwards compatibility. 2026-02-18 11:06:08 +01:00
Kenneth Skovhede b8e148d000 Merge remote-tracking branch 'origin/HEAD' into feature/add-destination-repo 2026-02-17 10:29:53 +01:00
Kenneth SkovhedeandGitHub 18c12b66c3 Merge pull request #6753 from duplicati/feature/check-temp-space
Check free temporary space
2026-02-06 15:56:29 +01:00
Kenneth Skovhede 917f059626 Bumped ngclient to .205 2026-02-06 14:37:11 +01:00
Kenneth Skovhede c2fcd5a261 Bump to .204 2026-02-06 14:07:21 +01:00
Kenneth Skovhede 05ea1dfafe Check free temporary space
This PR adds checks for free temporary space when starting the server and when restoring.

On systems that have limited space in the temp folder a warning will now be shown.

This is intended to capture issues on some Docker systems where /tmp is mounted in memory instead of being disk backed.

It will also detect the issue on other systems that are space constrained.
2026-02-06 10:37:27 +01:00
Kenneth Skovhede 9dd6dba0c2 Merge remote-tracking branch 'origin/master' into feature/add-destination-repo 2026-02-05 10:26:45 +01:00
Kenneth Skovhede 601ee64b2c Bumped ngclient to 0.0.203 2026-02-05 10:02:08 +01:00
Kenneth Skovhede e009a0f3ec Remote source masking and encrypting
This PR adds masking to remote sources so the passwords are not leaked to the browser. The logic works the same as for TargetURL, where the sensitive fields are replaced by a password placeholder before being transmitted via the endpoints.

When data returns, the masking is removed by looking at the original source and the unmasked value is then encrypted before being stored in the database.

Since the sources is an array and not just a single field, the logic here uses the mount point as a "key" for figuring out which new sources map to the original sources. This is robust in the face of re-ordering, deletions and additions.

If there is just a single remote source (assumed most common) this will match even if the prefix does not, making it possible to change the prefix in this case.

For multi-remote sources, it is not possible to change the prefix without also re-typing all masked properties.

If there is a need later, we could extend the matching to look for how many unique protocols are there, and maybe servers as well to try to match better when the prefixes have been renamed.

There is a guard right before saving a source that rejects it if the source contains the placeholder so we ensure that even faulty logic cannot persist an invalid connection string.
2026-01-30 14:36:57 +01:00
Kenneth Skovhede cf17d2617e Added a connection string repo
This adds a connection string repo, where connection strings can be stored.

The general idea is that it is possible to store connection strings, say an S3 connection, and then re-use the connection string for multiple backups, editing as needed.

The implementation supports listing connection strings, creating, updating, and deleting them.

The connection strings are masked so sensitive information is not available in the browser, and the logic patches connection strings internally to ensure markers are replaced with the correct values.

The connection string itself is stored in full, such that a Duplicati version roll-back will not make the connectionstring become invalid.

There is also an endpoint that allows updating existing backups using the connection string, so it is easy to rotate keys. The logic for this feature is that it retains: scheme, port, host, path, and any extra settings on the target url.
It does not remove settings from the target, but will overwrite or add settings from the connectionstring.
2026-01-30 13:59:47 +01:00
Kenneth Skovhede 072b393c0e Bump to latest ngclient 2026-01-08 12:04:51 +01:00
Kenneth Skovhede 975162989d Bumped ngclient again 2025-12-19 11:29:32 +01:00
Kenneth Skovhede 319586e6cf Bump ngclient 2025-12-19 11:24:54 +01:00
Kenneth Skovhede 6dd3f34c3e Bump ngclient 2025-12-18 15:20:45 +01:00
Kenneth Skovhede ba3c5eaa0a Bumped ngclient to be compatible 2025-12-16 14:41:15 +01:00
Kenneth Skovhede 618d044c65 Bumped ngclient to 0.0.179 2025-12-12 09:34:09 +01:00
Kenneth Skovhede 08a93c2740 Automatically encrypt settings database if secret provider supports setting the password. 2025-12-07 22:55:31 +01:00
Kenneth Skovhede f4df272a0b Change the Windows Eventlog option type.
Before this PR the Windows Eventlog option was incorrectly typed as a boolean but was intended to be the log name.

This was confusing and caused a warning in the log that the option was incorrectly parsed.
2025-12-03 10:34:58 +01:00
Kenneth Skovhede 6a2af13a5c Fixed startup delay not working
This PR fixes a race during startup, where it was possible for the scheduler to start before the runner was paused, such that tasks could be started, even if the server was supposed to be paused.

This also fixes a more direct issue where the state was not updated during startup, so the UI could look paused, but the runner was active and accepting tasks.

This fixes #6634
2025-12-01 17:01:52 +01:00
Kenneth Skovhede 0d55faf962 Bump ngclient 2025-11-20 13:51:00 +01:00
Kenneth Skovhede b072f18d53 Updated localizations 2025-11-20 13:49:28 +01:00
Kenneth Skovhede c198957083 Bump to 0.0.175 2025-11-20 13:27:15 +01:00
Kenneth Skovhede 43f544b6ac Bump ngclient to 0.0.174 2025-11-20 12:48:49 +01:00
Kenneth Skovhede 2d5f631714 Bumped some package versions 2025-11-14 16:46:16 +01:00
Kenneth Skovhede 178440f869 Fixed a number of warnings 2025-11-14 16:00:06 +01:00
Kenneth Skovhede 1ea74a3c63 Updated to .NET10 2025-11-14 15:05:39 +01:00