Commit Graph
388 Commits
Author SHA1 Message Date
Carl Johnsen 5d37c8587e Added schedules to the RemoteSynchronizationModule 2026-01-08 18:38:52 +01:00
Carl Johnsen 8378e65d97 Indented a loop 2026-01-08 15:46:52 +01:00
Carl Johnsen 6d2e83698d Added docstrings 2026-01-08 15:46:41 +01:00
Carl Johnsen 6c00cda7f2 Removed whitespace 2026-01-08 15:45:05 +01:00
Carl Johnsen fd30700253 Set default parameters and reduced the amount of exposed parameters to the remotesynchronizationmodule 2026-01-08 15:28:41 +01:00
Carl Johnsen 52b38579b7 Added remote synchronization as a module 2026-01-08 14:44:26 +01:00
Carl Johnsen 590b42137e Removed whitespace 2026-01-08 14:41:48 +01:00
Carl Johnsen 50f18dca84 Moved ResultSerialization from builtin modules to a shared library 2026-01-08 14:34:11 +01:00
Kenneth Skovhede 0e68f53473 Added Internxt S3 hostnames 2025-12-12 12:04:13 +01:00
Kenneth Skovhede 6d9826df06 Initial implementation of write-support for SecretProviders
This updates the MacOS secret provider to use PInvoke for a more stable API than the secrets tool that was used before.
2025-11-30 23:01:57 +01:00
Kenneth Skovhede ef649f3926 Updated reporting to include more details
This PR updates the reports sent to include a more detailed OS version string, similar to what is used by the usagereporter and systeminfo call.

It also reports parts of the destination hostname, if using S3 and the host is a known public cloud. This is done to avoid leaking internal hostnames or actual bucket names, but still provide some way to identify what storage service is used.
2025-11-28 12:04:47 +01:00
Kenneth Skovhede 5620c083d8 Fixed some 9.0.6 refs 2025-11-14 17:08:19 +01:00
Kenneth Skovhede 1ea74a3c63 Updated to .NET10 2025-11-14 15:05:39 +01:00
Kenneth Skovhede ca829acb31 Make --send-mail-password a password option
Prior to this PR the password was not treated as a password, but a string.
2025-11-02 16:47:56 +01:00
Kenneth Skovhede 67c3039814 Updated example script docs 2025-10-15 12:00:04 +02:00
Svend Roperos c1e22faa03 fix: make string.Split calls explicit to resolve ambiguous overloads 2025-09-04 20:14:52 +02:00
Svend Roperos c261d3a550 feat: add server selections on MSSQL 2025-09-04 20:14:52 +02:00
Kenneth SkovhedeandSvend Roperos 9322c732fa Fixed the regex for MSSQL path matching 2025-09-04 20:14:52 +02:00
Kenneth SkovhedeandSvend Roperos 0d57f2ceea Rewrote HyperV and MSSQL parser to support paths under each instance.
This also cleans up the filters slightly, so the logic for "first match" still holds.

If an item is excluded, and subfolders are also automatically excluded.
2025-09-04 20:14:52 +02:00
Kenneth Skovhede c2b8814056 Resolve deterministic transitive dependencies 2025-08-08 13:47:57 +02:00
Kenneth Skovhede 98deb8c576 Update support for VSS
This updates VSS to default use Vanara in favor of AlphaVSS which is no longer maintained.

The build for Vanara requires targeting `net8.0-windows7.0`, which will cause significant build overhead and complexity for cross platform builds.
To counter this, the setup is to have a single project, `Duplicati.Library.WindowsModules`, that is targeting `net8.0-windows7.0`.
The output from this project is then hoisted into the TrayIcon project for Windows builds so the files are available when debugging on Windows.
A top-level dummy executable project is added to ensure the project always builds.
The built modules are then loaded with reflection when requested.

With the use of Vanara there is now also support for using BackupRead to read files without making a VSS snapshot.
With BackupRead, it is possible to read locked files, but it still requires the SeBackupPrivilege as VSS does as well.

Unfortunately, the `vssapi.dll` file is not shipped for Arm64 on Windows, so even with Vanara this will not work, and only WMIC is supported on Arm64.
A workaround is to run Duplicati with x64 emulation if more advanced VSS features are needed (HyperV and MSSQL support).

This PR also updates options and filters out unsupported options for each operating system, so options that are not supported by the current OS are not reported and will give warnings if they are used, as opposed to just being ignored.

The release builder project has been updated to exclude the unused project, and purge unwanted outputs.
2025-07-01 16:32:19 +02:00
Kenneth SkovhedeandGitHub 15eb009594 Merge pull request #6343 from duplicati/feature/fix-module-loading
Handle loading and unloading of modules
2025-06-13 10:47:26 +02:00
Kenneth SkovhedeandGitHub 423338cfec Merge pull request #6341 from marceloduplicati/feature/http-client-timeout-revision
Sets infinite timeout for HTTP clients
2025-06-13 07:36:45 +02:00
Kenneth SkovhedeandGitHub 225fd1f3c9 Merge pull request #6344 from duplicati/feature/better-handling-of-wrong-email
Add null checks to send-mail
2025-06-13 07:36:31 +02:00
Kenneth SkovhedeandGitHub d432006207 Merge branch 'master' into feature/http-client-timeout-revision 2025-06-12 22:27:12 +02:00
Kenneth SkovhedeandGitHub 131f8a25d6 Merge pull request #6328 from duplicati/feature/improve-alternate-oauth-url-support
Update handling of alternate OAuth url
2025-06-12 22:21:56 +02:00
Kenneth Skovhede 151afe5d82 Add null checks to send-mail
This PR adds null checks to the email module to prevent crashes when sending email.

It also guards against improper reuse of the modules. This is related to #6343.

This fixes #6315
2025-06-12 22:17:02 +02:00
Kenneth Skovhede f6094baddb Handle loading and unloading of modules
This PR fixes the issues with not correctly loading and disposing modules.

Prior to this PR, there would be only a single instance of each module loaded, which would be configured and later disposed, meaning that the same instance would be used after being disposed, and disposed multiple times.

This mostly worked, but it could carry configuration details over between unrelated runs.

This fixes #6314
2025-06-12 22:13:55 +02:00
Marcelo C. 477f70508e Applying suggested changes 2025-06-12 11:29:44 -03:00
Marcelo C. 614f047dbb Sets infinite timeout for HTTP clients
Ensures that long-running HTTP requests, such as downloads and uploads, do not timeout prematurely.

This change configures specific HttpClient instances with an infinite timeout to accommodate operations that may take an extended period. The default 100s timeout is retained for some operations like registration, where a long delay may indicate a problem.
2025-06-12 10:33:13 -03:00
Kenneth Skovhede 3812f1df0a Updated Windows example script
This fixes #6322
2025-06-12 11:44:50 +02:00
Kenneth Skovhede 35058d333e Update handling of alternate OAuth url
This PR removes the `OAuthContextSettings` class, and makes the `--oauth-url` option available on each backend that uses it, so it can be configured as part of the destination.

To assemble everything related to configuring OAuth, the code was moved to the `AuthIdOptionsHelper`, such that the usage can be shared between implementations.

This PR also adds the option to set the default OAuth url from the environment variable `DUPLICATI_OAUTH_SERVICE`.

The server can then be set in the following locations (most important last):
- Environment variable
- Server-wide advanced settings
- Backup job advanced settings (or commandline)
- Destination url
2025-06-11 09:27:40 +02:00
Kenneth Skovhede 481744a8a1 Bumped MailKit and DnsClient to latest versions 2025-06-10 10:17:07 +02:00
Kenneth Skovhede 6044d19662 Filter report messages to limit double-reporting issues 2025-05-30 08:16:20 +02:00
Kenneth Skovhede d00264639f Removed HttpOptions
This fixes #5582
2025-05-26 14:13:16 +02:00
Kenneth Skovhede d3b65f1e92 Remove OAuthHelper
This PR removes OAuthHelper.

Initial commit is removal of OAuthHelper in GoogleCommon, GoogleDrive and GCS.
2025-05-23 10:40:55 +02:00
Carl Johnsen 388e849324 Converted tabs to spaces 2025-05-16 10:25:08 +02:00
Carl Johnsen 8be97bcefd Whitespace changes 2025-05-16 10:22:51 +02:00
Carl Johnsen 04153d2c12 Removed Microsoft.DotNet.Analyzers.Compatibility from csproj's as it's deprecated. 2025-05-16 09:53:26 +02:00
Marcelo C. 728080a911 Fix Notification Parsing Failure by Defaulting to Text-Only Mode
Resolved markdown parsing issues in notifications (see [Issue #5909](https://github.com/duplicati/duplicati/issues/5909)) by switching to text-only mode for reliable delivery.

Tested.
2025-04-01 10:11:48 -03:00
Kenneth SkovhedeandGitHub 4f81771681 Merge pull request #6085 from duplicati/feature/report-current-update-channel-in-reports
Added metadata to reports to report current update channel
2025-03-25 16:36:50 +01:00
Kenneth SkovhedeandGitHub 99ad60571e Merge pull request #6083 from duplicati/feature/handle-backspace-for-password-input
Handle backspace for passphrase input
2025-03-25 12:36:23 +01:00
Kenneth Skovhede b754caccc3 Added metadata to reports to report current update channel 2025-03-25 12:34:54 +01:00
Kenneth SkovhedeandGitHub 38c492c33b Merge branch 'master' into feature/handle-backspace-for-password-input 2025-03-25 08:54:28 +01:00
Kenneth SkovhedeandGitHub 631dc172c8 Merge branch 'master' into feature/support-large-form-body-reports 2025-03-25 08:53:25 +01:00
Kenneth Skovhede 9530e8ab36 Handle backspace for passphrase input
This fixes #976
2025-03-24 23:23:51 +01:00
Kenneth Skovhede aabfbb8df6 Added support for large http reports
When sending large http reports with URL encoding, they are now encoded in chunks to avoid the encoding limitations in .NET.

This fixes #2843
2025-03-24 22:28:44 +01:00
Kenneth Skovhede 6d2137d9e4 Removed JSON example as it trips up the localization on Linux 2025-03-24 17:23:25 +01:00
Kenneth Skovhede 4036d18566 Fixed non-translateable strings 2025-03-24 17:18:41 +01:00
Kenneth Skovhede bf3ff44e32 Collapsed into single option 2025-03-24 14:43:00 +01:00