Alternate Data Stream (ADS) support for Backup and Restore on NTFS partitions?

Did a basic test backup and restore on a file with a single ADS, and there was not ADS on the restored file. Does Duplicacy support backing up/restoring files/folders with ADS streams ?

If not, can you add this feature, as you can sometimes lose a lot of relevant data which is stored in ADS stream(s).

I don’t think ADS is supported. I’d argue this falls under extended file attributes, and :d: doesn’t support even much more basic attributes (this is not uncommon for backup solutions in general). Semantics is also not obvious for restoring to non-NTFS filesystems.

More importantly, I think this is very, very, niche. Not that I believe that there are absolutely no non-malicious use cases for that, but I personally have never seen one.

Don’t agree.

ADS kind-of falls under the extended attributes umbrella, and a lot of extended attributes aren’t necessary for backup/restore (edge-cases excluded), but some app’s DO store relevant/important info in ADS/extended attribute’s, which mean’s you are losing information in your backup. A simple example to prove the point (yes, I know it’s not realistic, but backup’s should be reliable, and if important information is lost, then it’s not doing it’s job)- suppose some software uses ADS to store an important person’s B’day, and everyone would die if it wasn’t remembered - If my PC blew up and I restored it using Duplicacy - Everyone is dead!

Some attribute’s, like Owner aren’t as important, as although this info might be lost, it can be restored.

NTFS ADS backup is definitely NOT “VERY” niche - you are literally, potentially losing important info. without knowing it.

Most decent backup/copy/move app’s copy ADS as well - File Explorer included. Good one’s use portable method to backup/restore, when dest/source don’t support ADS.

Should be supported in Duplicacy, IMO.

PS. Re. restore to unsupported file-system’s, a lot do support extended attribute’s, so they should be used in most Standard way (ie. use native file systems extended attribute’s to store ADS) - if not, and there’s not a good way of restoring them, don’t restore them,BUT, log/display a message saying they couldn’t be restored, along with some info. that data might’ve been lost, but the original backup still has that data.

niche: adjective

  1. denoting products, services, or interests that appeal to a small, specialized section of the population.

I am still pretty sure ADS usage checks out as very, very niche. So IMO limited development resources are better spent elsewhere, especially considering this is likely to be a non-trivial change. But hey, this is not my product. Also, source code is available, so if this feature is critical for your use you can always contribute a patch, this will significantly improve chances of ADS support getting incorporated into the mainline.

1 Like

While you obviously have access to a dictionary, and have correctly quoted a reasonable definition of the word “niche”, you don’t seem to be applying it in the correct way.

Is the Window’s OS niche ? I would say no, given it’s currently one of the most used consumer OS by far. The built-in file manager, File Explorer (which is basic, but provide’s standard, most used functionality), has probably been designed to cater for the basic, non-niche usage, but gets the job done in most cases.

Given that, why does this basic, non-niche, built-in tool, support ADS by default when copying a file ? Could it be because it actually isn’t that niche (end-user’s don’t need to be aware of it to be non-niche) ?

Could implement it myself and contribute a patch but, at the same time, it should be a default feature of a backup app (like-wise with other certain file system attributes which cannot be re-created without the source), and ultimately, the devleoper is being paid to do it.

Implementation should actually be relatively trivial given that ADS’s are simply other file’s that are normally hidden from the end-user, and the OS natively supports them, so you don’t have to do some wizardry to access them. One quick Cross-platform/portable suggestion would be to store them in a ZIP (.7z would be better, which should also work with cloud storage + de-dupe). During backup it would check if source/repo is NTFS - if so, then check each file/folder for ADS’s, and back them up in ZIP/7z. On restore, if dest is NTFS, just restore ADS’s (make optional), otherwise decide whether to resore in source’s extended attributes.

The term “Backup” is subjective, but if potentially important data is lost, then it isn’t a true backup solution - why backup with a tool when you lose information/data which cannot be re-created without source ?

As with everything, everyone has their own opinion though.