moezbhatti / qksms

The most beautiful SMS messenger for Android
https://qklabs.com/download
GNU General Public License v3.0
4.47k stars 1.06k forks source link

backup to custom server, cloud #1447

Open edmundlaugasson opened 5 years ago

edmundlaugasson commented 5 years ago

DESCRIPTION

It looks like there is backup only locally? Found /storage/emulated/0/QKMS/Backups/ folder with .json files. What about backup in server? Even own server/cloud support would be appreciated if for paid QKMS+ users you cannot offer storage space as there is only one-time payment.

STEPS

  1. install app
  2. import old SMS'es
  3. backup SMS'es - no option to choose backup location (either local, remote or both)
  4. also not possible to configure such remote backup connection - should be possible to back up without user intervention (automatically) after proper configuration
  5. also connection testing feature should be available to ensure that chosen remote backup location is really reachable
  6. why not also allow to show remote storage disk space, number of backups, dates and times when taken, how many SMS does each backup contain when clicking and holding down on the certain backup - could be open small pop-up with information

EXPECTED

An option to choose local, remote or both backup methods. Under settings there could be configured the remote backup storage access. E.g. using OpenSSH server with appropriate key files - Ed25519 encryption preferred but also RSA (up to maximum possible key length, currently 16384-bit) support still useful. Also other network protocol support would be appreciated (FTP, FTPs, SFTP, WebDAV(s), Samba/CIFS, NFS, cloud storage (pCloud, Dropbox, Google Drive, OneDrive, etc), also rsync etc).

Also an option to start a chosen VPN-connection (allow also ProtonVPN, Fortinet VPN and similar apps to use) before making backup because people would quite often use own server that is not accessible outside but after there is connected via VPN to the internal network. Certainly also classical user/password way to authenticate and remember credentials for further automatic backup.

Possibly all the backup settings should be configurable under settings - local or remote or both (location), remote server access settings. Why not also allow change local export folder path. When also backup to custom server is allowed then I can understand that I can change the phone and easily restore all my SMS'es back.

OBSERVATIONS

Backing up should be also possible to schedule to be automatic. Currently there is no warning that you have only local backup and not backed up in server.

moezbhatti commented 5 years ago

Weird, I thought there was already an issue up for this. Thanks!

At least for the initial launch of remote backups, I'll only be supporting Google Drive and Dropbox. I think that anything is probably way outside of what the typical user would need, and would risk overcomplicating the app. Power users would still have the ability to use a 3rd party solution like https://play.google.com/store/apps/details?id=dk.tacit.android.foldersync.lite&hl=en however

edmundlaugasson commented 5 years ago

Good - the FolderSync sounds promising but does not support 2FA - so I cannot authenticate and use cloud storage :(

moezbhatti commented 5 years ago

For reference, found some example code showing how to integrate dropbox https://github.com/dropbox/dropbox-sdk-java/blob/master/examples/android/src/main/java/com/dropbox/core/examples/android/UserActivity.java

edmundlaugasson commented 4 years ago

Any progress on that issue? Even Google Drive and Dropbox support would be appreciated.

moezbhatti commented 4 years ago

Not yet, but it's gonna be one of my next few priorities in the coming weeks!

sevmonster commented 4 years ago

Why not use Syncthing, Tasker, or Termux? There are already tools out there (1st and 3rd here being free and opensource) to do what you want. Having the feature for QKSMS+ is still a great selling point! Just offering alternatives you may not have thought of in the mean time.

szaimen commented 3 years ago

Would also love to habe this! :)

MayeulC commented 1 year ago

I'm a bit confused by this feature request: when I select a backup location, I get a window from the "files" application (on LineageOS) that asks me to select a folder. On the left panel, I can also select apps that offer an Android Storage API.

In my case, I can select my Nextcloud folders, I'm pretty sure one can select Google Drive or Dropbox as well if they have it on their phone.

The only missing thing is compression/encryption.

sevmonster commented 1 year ago

I'm a bit confused by this feature request: when I select a backup location, I get a window from the "files" application (on LineageOS) that asks me to select a folder. On the left panel, I can also select apps that offer an Android Storage API.

Correct me if I'm wrong but I don't believe that was a thing you could do in Android in 2019, and even if it was a lot of apps didn't support it. Storage Access Framework has had a lot of changes and only recently have apps begun to make use of those changes. So there was still plenty of reason to explicitly support non-local options. At this point there is less of a reason to do so but it would still be a nice user experience, I think.

I think #1900 should close this when it hits a stable release, now that most modern backup/cloud apps support SAF. Compression/encryption can also be left up to the service; you can do per-folder encryption with Nextcloud, for example, and the underlying storage can be compressed e.g. with ZFS/Btrfs.