Issue restoring back from 2019

I have a m series Macbook trying to restore 1 of several found backups Ive found from circa 2019, maybe some a year or 2 earlier. When I try to restore in the latest s/w, I am shown the backups in the list, but I’m not 100% the password for encryption - I have tried commons ones for me, but no good, and can try more, but the web app doesnt seem to work right? When I notice on the logs that its retrying, I gather it will be the password being wrong so go to stop it and it just sticks as cancellation requested. Abort equally doesnt seem to do anything. I also dont see any menu icon for the app to close it :confused: reinstalled several times etc. Also tried the previous stable version no diff. If I reboot I can then try another pw and try again but there just seems something wrong?

Many thanks!

Adam

Hi @adamj84, welcome to the forum :waving_hand:

Duplicati did a switch from Duplicati 1.3.x to Duplicati 2.x, and this switch is not backwards compatible. Files from 1.3.x cannot be read by 2.x and vice versa. If you see files of the format:

duplicati-?????.dlist.zip.aes

Then you are on version 2.x, and can restore with the latest version. Since you are on MacOS, I assume you are on 2.x.

Since there seems to be some issue with the password, you can use the bundled SharpAESCrypt tool to attempt to decrypt the file. This approach is much faster than trying to restore as there are many steps and checks in the restore process that are not needed.

You should be able to run the tool with something like:

/Applications/Duplicati.app/Content/MacOS/duplicati-aescrypt d my-password ./input.aes ./output

If the password is incorrect or the file is damaged, you will get an error.

What version is this? The abort function can be a bit sluggish, but should work within a few seconds.

I would generally recommend using the latest version. You do not need to reboot, you can just kill the Duplicati process from Activity Monitor or similar.

Thank you!

I’ve tried all possible passwords and its a no go. I have however found screenshots of password on the setup screen! and even though these havent worked, I do wonder, without removing the encryption, is it possible to know the backup job name? this would either keep me going, or know its a pointless endeavour :slight_smile:

Cheers

Sorry to hear that.

Sadly no. The backup name is only stored locally and not on the destination.
I assume you would want to know the name to search for the password elsewhere.

Confirming it doesn’t on 2.2.0.3 Stable, at least for this wrong-password scenario.

Profiling log has been sitting still for over an hour after Stop and Abort button use:

2026-03-18 08:23:17 -04 - [Retry-Duplicati.Library.Main.Backend.Handler-RetryGet]: Operation Get with file duplicati-20260318T121856Z.dlist.zip.aes attempt 1 of 5 failed with message: Failed to decrypt data (invalid passphrase?): Invalid password or corrupted data
System.Security.Cryptography.CryptographicException: Failed to decrypt data (invalid passphrase?): Invalid password or corrupted data
 ---> SharpAESCrypt.WrongPasswordException: Invalid password or corrupted data
   at SharpAESCrypt.SetupHelper.DecryptBulkEncryptionKeyAndVerifyHMAC(Byte[] data, HeaderEncryptionKey headerKey)
   at SharpAESCrypt.DecryptingStreamInternal.ReadEncryptionHeader(Stream stream, SetupHelper helper, String password, DecryptionOptions options)
   at SharpAESCrypt.DecryptingStreamInternal..ctor(String password, Stream stream, DecryptionOptions options)
   at SharpAESCrypt.DecryptingStream..ctor(String password, Stream stream, DecryptionOptions options)
   at Duplicati.Library.Encryption.AESEncryption.Decrypt(Stream input)
   at Duplicati.Library.Encryption.EncryptionBase.Decrypt(Stream input, Stream output)
   --- End of inner exception stack trace ---
   at Duplicati.Library.Encryption.EncryptionBase.Decrypt(Stream input, Stream output)
   at Duplicati.Library.Encryption.EncryptionBase.Decrypt(String inputfile, String outputfile)
   at Duplicati.Library.Main.Backend.BackendManager.GetOperation.DecryptFile(TempFile tempFile, IEncryption decrypter)
   at Duplicati.Library.Main.Backend.BackendManager.GetOperation.DecryptFile(TempFile tmpfile, String filename, Options options)
   at Duplicati.Library.Main.Backend.BackendManager.GetOperation.ExecuteAsync(IBackend backend, CancellationToken cancelToken)
   at Duplicati.Library.Main.Backend.BackendManager.Handler.Execute[TResult](PendingOperation`1 op, CancellationToken cancellationToken)
   at Duplicati.Library.Main.Backend.BackendManager.Handler.Execute(PendingOperationBase op, CancellationToken cancellationToken)
   at Duplicati.Library.Main.Backend.BackendManager.Handler.ExecuteWithRetry(PendingOperationBase op, CancellationToken cancellationToken)
2026-03-18 08:23:17 -04 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Get - Retrying: duplicati-20260318T121856Z.dlist.zip.aes (1021 bytes)
2026-03-18 08:23:39 -04 - [Verbose-Duplicati.Library.Main.Controller-CancellationRequested]: Cancellation Requested

I guess that’s newer than whatever the backup is from. If you can find the old system, its drive, or a backup then it may have clues in The server database.

If all you have is encrypted destination files, you’ll need to find the password.