Most active commenters
  • Sesse__(4)
  • codethief(4)
  • roywiggins(3)

←back to thread

988 points keyboardJones | 60 comments | | HN request time: 0.009s | source | bottom
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 #
1. 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 #
2. nottorp ◴[] No.45171546[source]
> Once you have it on disk, how do you get it away from your phone?

adb pull no worky? At least for HN readers.

replies(1): >>45171555 #
3. Sesse__ ◴[] No.45171555[source]
Any backup that needs manual intervention is no backup.
replies(2): >>45171614 #>>45171734 #
4. nottorp ◴[] No.45171614{3}[source]
Thought people are talking about backups without a "cloud" involved. So you'd need to manually connect your phone to something...
replies(2): >>45171728 #>>45172002 #
5. justoreply ◴[] No.45171627[source]
You can still use https://f-droid.org/en/packages/com.github.catfriend1.syncth...
6. autoexec ◴[] No.45171645[source]
> Once you have it on disk, how do you get it away from your phone?

plug your phone into a computer? Install Termux and use one of the countless command line programs designed to transfer bits over a network?

replies(1): >>45175103 #
7. zamadatix ◴[] No.45171650[source]
The $1.99/m is not for the up front work of fixing what sucks about current backups though, it's just bundling those fixes in with YACSS (Yet Another Cloud Storage Subscription) is the only way to get people to pay their "reasonable" recurring fee.

People here seem to want to answer the question of how to copy data most directly, but only because that's how the problem was phrased. I'm not convinced "users had no way to sync data on their phone" was/is a real problem worth paying for YACSS for in the first place.

replies(2): >>45172159 #>>45172775 #
8. bmicraft ◴[] No.45171711[source]
Foldersync is a great app
9. Sesse__ ◴[] No.45171728{4}[source]
What? My phone has a perfectly working 802.11 chipset, which is able to talk to my very own machines that are not in a cloud, no manual connection needed. This is purely a software/ecosystem issue.
replies(1): >>45171815 #
10. dmesg ◴[] No.45171734{3}[source]
Even automatic backups run at intervals to cause less server load. The article says you absolutely have to write down your restore key too (They say notebook or PW manager).

It may seem obvious now, but I know most people will forget and be puzzled if their phone suffers physical damage. A lot about this has mandatory manual steps.

replies(1): >>45172936 #
11. dmesg ◴[] No.45171815{5}[source]
Imagine we could run the backup server backend self-hosted and FLOSS. Like Vaultwarden, the upstream bitwarden client API.
12. jcynix ◴[] No.45171840[source]
> Once you have it on disk, how do you get it away from your phone?

On Android? Easy, Termux app and then rsync to my Desktop/Laptop. Or via Solid Explorer. Or E-Mail via Blitzmail.

Non incremental is a suboptimal design decision, backups should be incremental, e.g. monthly if automated or with from-to dates.

13. aftbit ◴[] No.45171861[source]
I would use scp under Termux to copy the backup away personally.
14. whatevaa ◴[] No.45171920[source]
On Linux KDE connect can mount your phones filesystem as FUSE filesystem and then you can use desktop file explorer like dolphin. It's even integrated and automatically apears as an option. Quite convenient, I would say. Performance is pretty good too.
replies(1): >>45172126 #
15. nine_k ◴[] No.45172002{4}[source]
Wireguard + syncthing (from F-Droid) work fine. Triggering it when the phone is on the charger makes it very easy to sync things from a computer to the phone, while next to the computer.
replies(1): >>45172853 #
16. dns_snek ◴[] No.45172101[source]
> 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.

That's not what happened, it was Google who started rejecting their updates on Play store. I believe the original Android app maintainer quit after that but there's a fork on on F-droid which works perfectly.

replies(1): >>45172530 #
17. andrepd ◴[] No.45172126[source]
Any Linux desktop can do that via MTP (Google doesn't allow access as mass storage anymore)
replies(2): >>45172515 #>>45173609 #
18. andrepd ◴[] No.45172159[source]
Explicitly, from TFA:

> But secure backups aren’t the end of the road. The technology that underpins this initial version of secure backups will also serve as the foundation for more secure backup options in the near future. Our future plans include letting you save a secure backup archive to the location of your choosing, alongside features that let you transfer your encrypted message history between Android, iOS, and Desktop devices.

replies(2): >>45172409 #>>45177799 #
19. zamadatix ◴[] No.45172409{3}[source]
Yeah, they're definitely fully aware. If they ever do actually get cross device local backup I'll be particularly pleased, several years back the stance was basically "working as intended".
20. taylortbb ◴[] No.45172515{3}[source]
Doesn't MTP require plugging in a USB cable? KDE Connect works wirelessly as long as your phone and computer are on the same network.
replies(1): >>45172854 #
21. graemep ◴[] No.45172530[source]
fork that will work perfectly until year after next.
replies(2): >>45173099 #>>45178630 #
22. jp191919 ◴[] No.45172536[source]
>2. Once you have it on disk, how do you get it away from your phone? I've been using Nextcloud for my backups for the past couple years.
23. 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

24. godelski ◴[] No.45172775[source]
Not to mention that this is a pretty good way to fund Signal. That's always been a challenge with Open Source projects as not enough people want to donate. On that note, a lot of companies will do donation matching and just saying, that's one way you could go about it if you feel inclined. For an app I use every day, I don't mind throwing them some beer money (and having work pitch in too). I get more utility out of it than my Spotify subscription
25. hiq ◴[] No.45172853{5}[source]
To be clear, Signal + Syncthing also works fine, that's what I have.
replies(1): >>45173048 #
26. godelski ◴[] No.45172854{4}[source]
KDE Connect just uses an SFTP file mount. You can do that on any system that you can ssh.

But I wouldn't use that for backups, I'd use rsync.

https://wiki.archlinux.org/title/SSHFS

27. kelnos ◴[] No.45172936{4}[source]
I think you misunderstand. Any backup that requires a manual step every time a backup is created is not a backup. A backup that requires some one-time manual setup, like recording a restore key, is fine.

Yes, there are some people who will forget to do that, or just lose the restore key, but that's the security/usability trade off.

28. XorNot ◴[] No.45173048{6}[source]
It absolutely does not work fine. Keeping 2x the size of my database in free space on my phone to let backups work it's no solution at all, which is why I stopped doing it. (The backup creates two files - current and previous, and Syncthing can't remove complete files to another location, so you need an actually rather difficult to write script to do it).
replies(2): >>45173659 #>>45176619 #
29. Zambyte ◴[] No.45173099{3}[source]
Why?
replies(1): >>45173363 #
30. cyphar ◴[] No.45173363{4}[source]
Presumably they're referring to Google's plans to roll out developer signing requirements for all apps[1], which will affect F-Droid-installed apps.

[1]: https://news.ycombinator.com/item?id=45017028

replies(2): >>45173771 #>>45177917 #
31. jowea ◴[] No.45173609{3}[source]
Maybe it's just me but doing a big transfer over cable is a crapshot since it will disconnect midtransfer. KDE connect is a bit better but syncthing is the best solution still.
32. nine_k ◴[] No.45173659{7}[source]
I see. I was talking about Syncthing in general, not about the specific way of backing up Signal.
33. Sanzig ◴[] No.45173771{5}[source]
Assuming that the developer of Syncthing-Fork doesn't mind providing ID to Google, they shouldn't have an issue getting a signing key (we will see how this works in practice). They aren't doing anything objectionable to Google.

The bigger issue for third party apps will be things like Newpipe, where applying for a key will put the developers in danger of a lawsuit because it affects Google's business.

(The APK signing requirement is a fiasco, I'm not defending Google. Just pointing out that this app will probably not be as seriously impacted as others).

34. h4ck_th3_pl4n3t ◴[] No.45173828[source]
How can an encrypted backup be incremental if it's supposed to be never decrypted on-remote-machines?

Ever thought about that?

replies(4): >>45173895 #>>45173941 #>>45175144 #>>45185207 #
35. palebluedot ◴[] No.45173895[source]
That seems pretty trivial to implement
replies(1): >>45174171 #
36. tremon ◴[] No.45173941[source]
Why would you need remote data to create an incremental backup?
37. Dunedan ◴[] No.45173976[source]
> There are a couple of problems with the existing backup:

>

> 1. It is non-incremental.

I wonder if that's differently with the newly announced functionality. Their announcement doesn't sound like it:

> Once you’ve enabled secure backups, your device will automatically create a fresh secure backup archive every day, replacing the previous day’s archive.

replies(1): >>45177568 #
38. h4ck_th3_pl4n3t ◴[] No.45174171{3}[source]
I dare you to implement this then, where others have failed.
replies(1): >>45174362 #
39. UltraSane ◴[] No.45174322[source]
USB transfer is by far the best way to transfer large amounts of data to and from phones.
replies(1): >>45175135 #
40. Sesse__ ◴[] No.45174362{4}[source]
tar --listed-incremental=foo.snar -cf - . | gpg --encrypt -r <key> > nightly.gpg

You're welcome.

replies(1): >>45188576 #
41. arccy ◴[] No.45174555[source]
at least on android: you use a good old usb-c cable.
42. codethief ◴[] No.45175103[source]
I think GP was talking about how to transfer the backup 1) daily, 2) in an automated manner, and 3) reliably and in time (before, 48h later, Signal overrides the existing backup on your phone later with a new one).

This is not trivial when each backup archive is in the order of 20 GB.

43. codethief ◴[] No.45175135[source]
Really? Ever since Android devices ceased to be regular USB storage devices and switched to MTP, this has never worked well for me. MTP is incredibly slow.
replies(1): >>45175705 #
44. codethief ◴[] No.45175144[source]
I'm sure if borgbackup can pull this off, Signal can, too?

The solution is to split up your data into encrypted chunks, and only upload the new ones.

45. UltraSane ◴[] No.45175705{3}[source]
What method do you find to be faster?
replies(3): >>45176287 #>>45176594 #>>45176648 #
46. kzshantonu ◴[] No.45176287{4}[source]
Copyparty running in termux serving over USB tethering
47. codethief ◴[] No.45176594{4}[source]
Pretty much any other: Connecting my phone to my computer as USB storage (when it was still possible), connecting a thumb drive to my phone, syncing files using Syncthing, using adb, …
48. roywiggins ◴[] No.45176619{7}[source]
I never really grokked Syncthing.

I recently vibe-coded a crappy Windows Go GUI to grab files off my phone via rclone & sshd4a and then optionally delete them, but it's a very manual process since sshd4a has to be running on the phone before I initiate the pull.

replies(1): >>45178175 #
49. roywiggins ◴[] No.45176648{4}[source]
MTP is so slow that when I have enough photos and videos on my phone, Windows will crap itself and stall out just trying to list the folder. It's functionally unusable and I don't know how I'd get those files off the phone if I didn't use literally anything else. If it was mass storage I could just rsync it over USB but it isn't so I can't.

I ended up using rclone on Windows with an rsync server running on the phone, I think sshd4a usually.

50. aaron_m04 ◴[] No.45177466[source]
#1 does suck very much.

My solution for #2 is an sshd I start up in Termux when I need to backup. I just rsync the file onto my computer.

51. Dunedan ◴[] No.45177568[source]
@greysonp verified they're indeed incremental for media: https://news.ycombinator.com/item?id=45170515#45175402
52. Tepix ◴[] No.45177799{3}[source]
Looking at how long it‘s taking them i wouldn‘t hold my breath!
53. sunaookami ◴[] No.45177917{5}[source]
FWIW, adb install will continue to work: https://www.notebookcheck.net/Android-s-app-sideloading-bloc...
54. XorNot ◴[] No.45178175{8}[source]
Syncthing is just open source Dropbox, self hosted.

It's entire purpose is "make two folders identical".

It's very good at that: so good that I frequently wish it did other things - i.e. if it had some notion of minimum seeding levels so it would destage files off a device provided they were replicated elsewhere (e.g. automatically clearing old photos off your phone would be a good use of it).

replies(1): >>45180905 #
55. npoc ◴[] No.45178630{3}[source]
Not if you run the GrapheneOS variant of Android.
replies(1): >>45179246 #
56. graemep ◴[] No.45179246{4}[source]
I would love to but my banking apps only work on Google Android.
replies(1): >>45199201 #
57. roywiggins ◴[] No.45180905{9}[source]
Yeah, I think I was just trying to get it to do something it wasn't suited for!
58. zorgmonkey ◴[] No.45185207[source]
Why wouldn't it be possible? All it really means is that you need to do the work to make incremental entirely on the local side and not on the remote side.
59. ◴[] No.45188576{5}[source]
60. npoc ◴[] No.45199201{5}[source]
Unlucky. All three of mine work on GrapheneOS

https://privsec.dev/posts/android/banking-applications-compa...