←back to thread

988 points keyboardJones | 1 comments | | HN request time: 0s | source
Show context
poisonborz ◴[] No.45171210[source]
Backing up Signal on Android for free and offline was ~always possible. The app creates a multi GB backup file on the phone memory under the Signal folder that you can just copy out and back on a new phone.

The file is encrypted with the passcode and the database can be extracted.

https://github.com/bepaald/signalbackup-tools

replies(5): >>45171340 #>>45171393 #>>45172937 #>>45174136 #>>45177800 #
Sesse__ ◴[] No.45171393[source]
There are a couple of problems with the existing backup:

1. It is non-incremental. This means you'll need about as much free space on your phone as your Signal database takes, and it may take many hours to make if your database is large (mine is 18GB). I used to wake up to find my phone had not even fully charged because it had been so busy writing Signal backups.

2. Once you have it on disk, how do you get it away from your phone? Especially after SyncThing disappeared from Play Store (because it was basically a non-Android app behind a thin Android shell that couldn't easily be upgraded to more modern native APIs), there's nothing super-obvious here.

I would have loved a better solution for local backups, but realistically, $2/month for cloud backup is really cheap, and a pragmatic solution.

replies(16): >>45171546 #>>45171627 #>>45171645 #>>45171650 #>>45171711 #>>45171840 #>>45171861 #>>45171920 #>>45172101 #>>45172536 #>>45172673 #>>45173828 #>>45173976 #>>45174322 #>>45174555 #>>45177466 #
1. stevenwalton ◴[] No.45172673[source]

  > Once you have it on disk, how do you get it away from your phone?
Since we're talking about Android, a great method is to just use Termux and rsync. You can write a pretty quick and dirty shell script to accomplish this. Here, I'll drop mine[0]. It's no the cleanest but it'll get the job done and has some documentation to it. It will check if you're on WiFi and connected to a specific SSID. You can change this around pretty easily to do different things like point at 2 servers, use Tailscale, give a white list of allowed SSIDs, change the rsync to have it delete from the local storage, or whatever. If you don't know how you can reply to this comment or open an issue and I'll respond[1].

Unfortunately this doesn't work on iPhone. I have a shortcut that will do something similar that I can share but that is a lot hackier...

[0] https://github.com/stevenwalton/.dotfiles/blob/master/script...

[1] Probably better. I'm normally logged into my alt account