xeals / signal-back

Decrypt Signal encrypted backups outside the app
Apache License 2.0
704 stars 67 forks source link

Feature Request: Merge two encrypted backups #53

Open Esokrates opened 5 years ago

Esokrates commented 5 years ago

Before having encrypted backups Signal did not allow proper transition from an old phone to a new one, it only allowed the text export and import and media were lost.

So I kept the old phone until Signal introduced the encrypted backups. In the meantime I have used Signal on the new phone. Now that Signal has proper backups, I made an encrypted backup from my old phone. Now I would like to merge my old backup with the backup of my new phone.

I guess this request is related to #44.

Would be great if you could manage to do that, I would consider a donation.

codethief commented 5 years ago

I'm in exactly the same situation and would also donate. Is there a BountySource page somewhere?

CapnPants commented 5 years ago

I also am in need of this function.

bepaald commented 5 years ago

I don't want to hijack this thread or the users of this program, so please forgive me and delete this message at will.

For those interested I have implemented this feature in my tools: https://github.com/bepaald/signalbackup-tools. It is highly experimental and as of yet untested, so expect errors. Instructions are here: https://github.com/bepaald/signalbackup-tools/issues/4#issuecomment-531755387. Feel free to open an issue asking for help on my github if something is not clear or not working.

note I was holding of posting the above message since the code is (as far as I know) currently untested in the wild, and several people were planning to try it out. However, after looking at the code changes in Signal 4.48 (currently in beta), my merging code will definitely not work after updating to its new database scheme. So if this is important to any of you, and you are brave enough, give it a try before the update comes out and you install it!

(I do plan on adding support for the new database format, but it might take a long time. Also, merging old databases into new ones seems, at first glance of the new format, very difficult, so that would take even longer)