Commit Graph
288 Commits
Author SHA1 Message Date
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 Skovhede 989ba60211 Updated license copyright years 2025-02-17 08:52:01 +01:00
Kenneth Skovhede a72bf27aa3 Merge remote-tracking branch 'origin/master' into feature/add-secret-provider 2024-11-05 11:48:30 +01:00
Kenneth Skovhede 3f3144218f Removed 7z from the source as it has been marked experimental for 7 years.
This fixes #5630
2024-11-01 17:40:09 +01:00
Kenneth Skovhede f23c5def61 Re-implemented the libsecret provider from scratch. 2024-10-28 00:22:33 +01:00
Kenneth Skovhede 8f3945b605 Added support for libsecret on Linux 2024-10-25 09:17:04 +02:00
Kenneth Skovhede 8d06c08e1f Implemented support for Windows Credential storage 2024-10-24 21:58:15 +02:00
Kenneth Skovhede 34d13a20e2 Initial version of the external secret provider 2024-10-24 16:06:59 +02:00
Kenneth Skovhede d8c8ce7988 Removed the use of DeviceId due to lack of sufficient key material.
Kept the infrastructure to allow re-introducing it later if a better source for a device key is found.
Added support for not having any valid settings encryption key.
Added warnings if the user is running without a settings encryption key.
Added additional checks during startup to help with troubleshooting and configuring a setup with a settings encryption key.
Docker builds will now warn if no encryption key is set.
This fixes #5518
2024-08-31 11:02:14 +02:00
Kenneth Skovhede de008b8588 Added DeviceId to list of libraries 2024-08-27 08:41:09 +02:00
Suguru Hirahara 0d4805e7b8 Remove a hard-coded period from about.html for empty descriptions 2024-08-02 23:59:39 -04:00
Suguru Hirahara 2dd17e9354 Fix licensedata.json for SharePointPnP-Sites-Core 2024-08-02 23:59:18 -04:00
Kenneth Skovhede 627c270025 Merge remote-tracking branch 'origin/master' into feature/remove-httpserver 2024-07-01 22:42:20 +02:00
Kenneth SkovhedeandGitHub 002a47bd1e Merge pull request #5219 from duplicati/feature/update-sharp-aes-crypt
Updated to SharpAESCrypt 2.0
2024-06-27 09:00:25 +02:00
Kenneth SkovhedeandGitHub 5de458e74f Merge pull request #5218 from duplicati/feature/upgrade-cocol-1-8
Updated CoCoL library to 1.8
2024-06-25 09:48:02 +02:00
Kenneth Skovhede 1920b0684d Merge remote-tracking branch 'origin/master' into feature/remove-httpserver 2024-06-11 21:22:29 +02:00
Kenneth SkovhedeandGitHub f70748359a Merge pull request #5211 from duplicati/feature/remove-alphafs
Removing unsupported AlphaFS.
2024-06-11 10:44:49 +02:00
Kenneth SkovhedeandGitHub 8be2a14f66 Merge pull request #5217 from duplicati/feature/remove-bundled-gpg
Removed bundled GPG binaries for Windows.
2024-06-11 10:43:25 +02:00
Kenneth Skovhede 25bb4f3701 Merge remote-tracking branch 'origin/master' into feature/remove-httpserver 2024-06-09 21:54:02 +02:00
Kenneth Skovhede ca425808c5 Merge remote-tracking branch 'origin/master' into feature/remove-httpserver 2024-06-09 21:23:59 +02:00
Kenneth Skovhede 9f79025744 Removed HttpServer.
Re-implemented everything using ASP.NET.
Changed some requests to use JSON instead of FORM data.
Some work towards deleting the FIXMEGlobal instance.
Auth is missing, XSRF does not work correctly.
2024-06-07 15:56:43 +02:00
Kenneth Skovhede 12fb0d36ea Removed unused Signer.exe program
Updated some licenses that snuck in LGPL text from the Kestrel merge.
2024-06-05 11:02:56 +02:00
Kenneth Skovhede 95cb6b4e71 Updated to SharpAESCrypt 2.0 2024-06-04 17:27:18 +02:00
Kenneth Skovhede 4b12109e7f Updated CoCoL library to 1.8 2024-06-04 15:33:09 +02:00
Kenneth Skovhede 7dab2f5935 Removed bundled GPG binaries for Windows.
Improved search logic for finding GPG executable on all operating systems.
This also removes the `win-tools` folder.
2024-06-04 15:21:22 +02:00
Kenneth Skovhede c57321a4f7 Removed Sharp.Xmpp license entries.
Removed duplicate MailKit license.
Added `Artalk.Xmpp` license.
2024-06-04 14:06:15 +02:00
Kenneth Skovhede 7c9f964eeb Removing unsupported AlphaFS.
This updates #5210
2024-05-30 20:46:25 +02:00
Kenneth Skovhede 6a1bd40498 Removed BouncyCastle license (project removed 2021) 2024-05-22 11:11:22 +02:00
Kenneth Skovhede 30d68fcf76 Included license data for aliyun-oss with license project 2024-05-17 14:23:52 +02:00
Kenneth Skovhede 09b5be5e64 Reverted AlphaFS and AlphaVSS to use the .NetCore35 libraries directly 2024-04-16 14:18:18 +02:00
Kenneth Skovhede b27323c705 Merge remote-tracking branch 'origin/master' into feature/kestrel-avalonia-upgrade 2024-03-08 11:40:33 +01:00
Kenneth SkovhedeandGitHub 94f9e2c3e0 Merge pull request #5106 from trueai-org/master-github-alioss
add aliyunoss
2024-03-07 22:23:10 +01:00
Kenneth Skovhede c49e5609a9 Merge remote-tracking branch 'origin/master' into feature/kestrel-avalonia-upgrade 2024-03-07 06:35:15 +01:00
Kenneth Skovhede 51f93301fd Updated the build to use the SQLite provided packages with native binaries 2024-03-05 08:55:46 +01:00
Kenneth Skovhede 52265395c5 Using only Avalonia for TrayIcon 2024-03-04 14:34:38 +01:00
Kenneth SkovhedeandGitHub 7a50c52fbc Merge pull request #5101 from gpatel-fr/updatesshnet202301
update sshnet to 2023.0.1
2024-03-04 13:29:07 +01:00
Kenneth Skovhede 473c6cbbb8 Merge commit '4f577c65a4d8806f79637c50c21ca3a683c5a07a' into feature/kestrel-avalonia-upgrade 2024-03-04 12:21:53 +01:00
Kenneth Skovhede 3501cdee08 Added sharepoint from #3124 2024-03-01 14:45:31 +01:00
Kenneth Skovhede f395da68d7 Hacky support for 7z 2024-03-01 14:30:28 +01:00
Kenneth Skovhede fb863ea14e Updated the common library, using the Nuget Posix package 2024-03-01 14:30:28 +01:00
Kenneth Skovhede aa20088c39 Tool based upgrade of all projects with some manual update 2024-03-01 14:29:54 +01:00
Kenneth Skovhede 35cc847df7 Merge branch 'master' into feature/upgrade-to-sdk-style-projects 2024-03-01 14:28:55 +01:00
Thomas Suckow a3bbf63561 Merge remote-tracking branch 'origin/feature/upgrade-to-sdk-style-projects' into feature/net5-kestrel
# Conflicts:
#	.appveyor.yml
#	.github/workflows/tests.yml
#	BuildTools/AutoUpdateBuilder/AutoUpdateBuilder.csproj
#	BuildTools/DependencyFinder/DependencyFinder.csproj
#	BuildTools/GnupgSigningTool/GnupgSigningTool.csproj
#	BuildTools/UpdateVersionStamp/UpdateVersionStamp.csproj
#	Duplicati CommandLine Only.sln
#	Duplicati.Library.RestAPI/RESTMethods/RequestInfo.cs
#	Duplicati.Library.RestAPI/Runner.cs
#	Duplicati.sln
#	Duplicati/CommandLine/BackendTester/Duplicati.CommandLine.BackendTester.csproj
#	Duplicati/CommandLine/BackendTester/app.config
#	Duplicati/CommandLine/BackendTool/Duplicati.CommandLine.BackendTool.csproj
#	Duplicati/CommandLine/BackendTool/app.config
#	Duplicati/CommandLine/ConfigurationImporter/Duplicati.CommandLine.ConfigurationImporter.csproj
#	Duplicati/CommandLine/Duplicati.CommandLine.csproj
#	Duplicati/CommandLine/RecoveryTool/Duplicati.CommandLine.RecoveryTool.csproj
#	Duplicati/CommandLine/app.config
#	Duplicati/GUI/Duplicati.GUI.TrayIcon/Assets/icons/normal-warning.png
#	Duplicati/GUI/Duplicati.GUI.TrayIcon/Duplicati.GUI.TrayIcon.csproj
#	Duplicati/GUI/Duplicati.GUI.TrayIcon/Program.cs
#	Duplicati/GUI/Duplicati.GUI.TrayIcon/app.config
#	Duplicati/Library/AutoUpdater/Duplicati.Library.AutoUpdater.csproj
#	Duplicati/Library/Backend/AlternativeFTP/Duplicati.Library.Backend.AlternativeFTP.csproj
#	Duplicati/Library/Backend/AzureBlob/Duplicati.Library.Backend.AzureBlob.csproj
#	Duplicati/Library/Backend/Backblaze/Duplicati.Library.Backend.Backblaze.csproj
#	Duplicati/Library/Backend/Box/Duplicati.Library.Backend.Box.csproj
#	Duplicati/Library/Backend/CloudFiles/Duplicati.Library.Backend.CloudFiles.csproj
#	Duplicati/Library/Backend/Dropbox/Duplicati.Library.Backend.Dropbox.csproj
#	Duplicati/Library/Backend/FTP/Duplicati.Library.Backend.FTP.csproj
#	Duplicati/Library/Backend/File/Duplicati.Library.Backend.File.csproj
#	Duplicati/Library/Backend/GoogleServices/Duplicati.Library.Backend.GoogleServices.csproj
#	Duplicati/Library/Backend/HubiC/Duplicati.Library.Backend.HubiC.csproj
#	Duplicati/Library/Backend/Idrivee2/Duplicati.Library.Backend.Idrivee2.csproj
#	Duplicati/Library/Backend/Jottacloud/Duplicati.Library.Backend.Jottacloud.csproj
#	Duplicati/Library/Backend/Mega/Duplicati.Library.Backend.Mega.csproj
#	Duplicati/Library/Backend/OAuthHelper/Duplicati.Library.OAuthHelper.csproj
#	Duplicati/Library/Backend/OneDrive/Duplicati.Library.Backend.OneDrive.csproj
#	Duplicati/Library/Backend/OpenStack/Duplicati.Library.Backend.OpenStack.csproj
#	Duplicati/Library/Backend/Rclone/Duplicati.Library.Backend.Rclone.csproj
#	Duplicati/Library/Backend/S3/Duplicati.Library.Backend.S3.csproj
#	Duplicati/Library/Backend/SSHv2/Duplicati.Library.Backend.SSHv2.csproj
#	Duplicati/Library/Backend/SharePoint/Duplicati.Library.Backend.SharePoint.csproj
#	Duplicati/Library/Backend/Sia/Duplicati.Library.Backend.Sia.csproj
#	Duplicati/Library/Backend/Storj/Duplicati.Library.Backend.Storj.csproj
#	Duplicati/Library/Backend/TahoeLAFS/Duplicati.Library.Backend.TahoeLAFS.csproj
#	Duplicati/Library/Backend/Tardigrade/Duplicati.Library.Backend.Tardigrade.csproj
#	Duplicati/Library/Backend/TencentCOS/Duplicati.Library.Backend.TencentCOS.csproj
#	Duplicati/Library/Backend/WEBDAV/Duplicati.Library.Backend.WEBDAV.csproj
#	Duplicati/Library/Common/Duplicati.Library.Common.csproj
#	Duplicati/Library/Compression/Duplicati.Library.Compression.csproj
#	Duplicati/Library/DynamicLoader/Duplicati.Library.DynamicLoader.csproj
#	Duplicati/Library/Encryption/Duplicati.Library.Encryption.csproj
#	Duplicati/Library/Interface/Duplicati.Library.Interface.csproj
#	Duplicati/Library/Localization/Duplicati.Library.Localization.csproj
#	Duplicati/Library/Logging/Duplicati.Library.Logging.csproj
#	Duplicati/Library/Main/Duplicati.Library.Main.csproj
#	Duplicati/Library/Modules/Builtin/CheckMonoSSL.cs
#	Duplicati/Library/Modules/Builtin/Duplicati.Library.Modules.Builtin.csproj
#	Duplicati/Library/Modules/Builtin/SendJabberMessage.cs
#	Duplicati/Library/SQLiteHelper/Duplicati.Library.SQLiteHelper.csproj
#	Duplicati/Library/Snapshots/Duplicati.Library.Snapshots.csproj
#	Duplicati/Library/UsageReporter/Duplicati.Library.UsageReporter.csproj
#	Duplicati/Library/Utility/Duplicati.Library.Utility.csproj
#	Duplicati/Library/Utility/HashAlgorithmHelper.cs
#	Duplicati/Library/Utility/Power/WindowsPowerSupplyState.cs
#	Duplicati/License/Duplicati.License.csproj
#	Duplicati/Server/Duplicati.Server.Serialization/Duplicati.Server.Serialization.csproj
#	Duplicati/Server/Duplicati.Server.csproj
#	Duplicati/Server/app.config
#	Duplicati/Service/Duplicati.Service.csproj
#	Duplicati/Service/app.config
#	Duplicati/Tools/Duplicati.Tools.csproj
#	Duplicati/UnitTest/Duplicati.UnitTest.csproj
#	Duplicati/UnitTest/GeneralBlackBoxTesting.cs
#	Duplicati/UnitTest/app.config
#	Duplicati/WindowsService/WindowsService.csproj
#	Installer/debian/docker/debian/control
#	Tools/SQLiteTool/SQLiteTool.csproj
#	Tools/ZipFileDebugger/ZipFileDebugger.csproj
#	guiTests/guiTest.py
#	thirdparty/UnixSupport/UnixSupport.csproj
#	thirdparty/alphavss/Homepage.txt
#	thirdparty/alphavss/License.txt
#	thirdparty/alphavss/licensedata.json
2024-02-29 21:55:17 -08:00
Kenneth Skovhede 40dd3c6816 Updated all license mentions to MIT 2024-02-28 15:45:30 +01:00
Kenneth Skovhede 3bf6b162ca Upgraded utility projects.
Removed redundant packages files.
Removed `mozroots` in prepare of switch to non-mono releases.
2024-02-26 08:24:48 +01:00
trueai-org 35cb8056f6 add aliyun oss, and chinese readme 2024-02-23 11:12:41 +08:00
gpatel-fr f7def9355b update sshnet to 2023.0.1 2024-02-16 11:39:45 +01:00
gpatel-frandGitHub 11d6364b4a remove agsXmpp, replace it with Sharp.Xmpp (#5046)
also add a missing space in default body (fixes a small bug under Windows)
2023-12-10 00:26:26 +01:00
gpatel-frandGitHub 63c14533e0 update thirdparty info to remove obsolete codeplex references (#5030) 2023-09-22 10:07:52 +02:00
gpatel-frandGitHub 3fd118ac44 remove obsolete tool TlsTest (#5019) 2023-08-31 01:10:44 +02:00