Restoring encrypted files from backup to an iPhone

Hello, Duplicati community.

I am planning on replacing CrashPlan with another cloud backup solution, and Duplicati is one of my top contenders (along with Spideroak One). One feature CrashPlan has that I use occasionally is the ability to download individual files from my backup on to my phone. This can be done using either CrashPlan’s web interface or their iOS/Android app. Spideroak has a similar feature as well. However, I could not figure out how to do this for an encrypted Duplicati backup.

Both Google Drive and Dropbox have their own iOS apps and web interfaces. However, they are not able to decrypt a file that was encrypted by Duplicati. Is there another way to decrypt files from an iPhone that would allow me to download and open files from my backup on my phone?

Thanks,
137ben

Hi @137ben, welcome to the forum!

Unfortunately, I’m not aware of any built in Duplicati feature to restore files from a computer backup to a phone or tablet. I know there’s a script (I think it’s in written in perl) that can restore files from Duplicati archives, but I doubt you’d be able to run it on an un-rooted iPhone.

Thank you for the information. I suppose I could get around this limitation by only having duplicati encrypt the most sensitive files (which I’m unlikely to need on my phone anyways), and relying on Google’s server-side encryption for everything else. Or I could just give up the ability to restore to my phone.

Even that likely wouldn’t get you what you want as Duplicati stores files in small blocks (default 100kb) so restoring a single 300kb file would require knowing which archive files to download (could 1, 2, or 3 in this example), which blocks from those files to use, and in what order to stitch them back together.

Duplicati (and the restore script I mentioned) does all this automatically, but trying to do it manually would be a pain.

Of course there’s no reason somebody couldn’t build an iOS app that can do the same thing as the restore script… Essentially it would need to do something like:

  • download all the small dindex files
  • decrypt / uncompress them (so the passphrase would be needed)
  • parse them into a list of files
  • allow the user to select what files to be restored
  • use the dindex files to identify the dblock files containing the needed blocks
  • download / decrypt / uncompress the dblock files
  • reassemble the necessary blocks to produce the restored file

I know a few iOS app developers, but they aren’t likely to have the time / interest in building an app like that.


Though it kind of screws up the “trust no one” side of Duplicati, another option could be to have a web site that does the steps above then downloads the files to the device. Despite the drawback of trust issues, the big benefit of this option is that it could be used “anywhere” (iOS, Android, desktop, tablet) via web browser and could be encapsulated into an “app” if people preferred that.