signalapp / Signal-Android

A private messenger for Android.
https://signal.org
GNU Affero General Public License v3.0
25.63k stars 6.15k forks source link

Provide way to create full encrypted backup #5989

Closed floriangosse closed 7 years ago

floriangosse commented 7 years ago

I have:


Description

Currently there is no way to change the phone without loosing existing data. I would be nice to have an option to backup all the data into an encrypted file which could be imported on the other device. I saw that there is a possibility to import encrypted backups but no way to export it.

I found the issue #1705 which has the same topic but this issue was closed for public and since 2 years nobody give an update.

I think somebody would pay a bounty for this feature (incl. me).

mawed commented 7 years ago

Also dupe of #5931

johanw666 commented 7 years ago

As with all other topics about this subject, I expect it to be closed and locked soon. For reasons he does not want to explain, Moxie seems not to want an encrypted backup function if it's not compatible with "sms backup and restore". If you want a version with encrypted backup you need either put it in yourself (you could just copy https://github.com/WhisperSystems/Signal-Android/pull/5907) and compile your own version, or root your device and use something like Titanium Backup. Adb backup does not work anymore since provisions against Google Backup were put in place unless you downgrade first to version 2.28 or lower.

floriangosse commented 7 years ago

I know that that there are several issues which address this topic. But there is no place for discussion. And I think something is unclear.

mawed commented 7 years ago

For reasons he does not want to explain, Moxie seems not to want an encrypted backup function if it's not compatible with "sms backup and restore"

Pesonally I think it's a good decision as there needs to be a export-function working for people who don't want to use Signal as SMS-app furthermore and to change to alternatives. It's not usefull if there are different import/export-functions at the same time, which have to be maintained (and some of them creating an immense support workload as it's not work out-of-the-box in the expected way)

mawed commented 7 years ago

For this issue, the work to be done is very straightforward:

  1. Make plaintext backup complete. It should export media, groups, preferences, block lists, etc... in addition to just text messages. All in a format compatible with SMS Backup & Restore.

    1. Wrap the now complete plaintext backup in an encrypted stream.
  2. Include the identity key in the encrypted stream.

I wish I had enough time to discuss at length why this is the only approach that will work for us, but sadly I don't have the time to do that for every issue. I also wish I had enough time to do this work, along with all of the other open issues here, but I have to make choices. If this is an issue that's important to you, I think step 1 would make a great PR. Please see the mailing list or the online forums for further discussion, thanks.

(Out of #5931)

Discussion --> Mailinglist or https://whispersystems.discoursehosting.net/

floriangosse commented 7 years ago

I don't have enough experience in android development and not enough time to do it.

It's sad that the export functionality was removed instead of fixed. In my oppion every app should have backup functionality if there is no other way to do get the data back. Eg.: WhatsApp disabled the backup via adb but provides a way to backup and restore data almost since the beginning.

I think everybody knows how it should work. And everybody who is engaged with this topic knows the list which @moxie0 wrote. And I think it is a good starting point. Maybe @merkste can finish the work (#1619) on including media in exports and someone could start with the encryption part.

floriangosse commented 7 years ago

But there is one thing I don't understand: The priorization of new features and bugfixes. At the beginning TextSecure/Signal had the focus on messaging and privacy. Now Signal tries to be cool or cooler as all the other messengers but forgets which are the core functionalities of a messenger like backup or export functionality. Instead we have giphy support which is not really needed.

Sorry, that had to get out. Because I'm thinking about it for some time.

haffenloher commented 7 years ago

I know that that there are several issues which address this topic. But there is no place for discussion. [...] I don't have enough experience in android development and not enough time to do it.

That's fine, but please be aware that by bumping issues and intentionally opening duplicate ones, you're costing everyone else time (through e-mail notifications for >500 people). It looks like you want to have a discussion; people have already tried pointing you to the place we use for that, the community forums. It'd be great if you'd respect our contributing guidelines by simply closing this issue and joining us in the forums, thanks.

2-4601 commented 7 years ago

Closing as duplicate of #1705, #5931