Fennec: Is it necessary to opt out of the ADB backups?

Like the official Mozilla Android browser releases, org.mozilla.fennec_fdroid disallows being backed up by ADB and thus can’t be copied with Seedvault, leaving the woefully incomprehensive cloud-based Firefox Sync (v84 only supports bookmarks, history, open tabs, saved account credentials) as the only non-root option. I don’t think that users should be required to root their phones or create a Mozilla account to generate any form of app backup — is this feasible to change?

So you want Google to be able to backup your Firefox bookmarks, history and passwords?

1 Like

I don’t understand the comment.

1 Like

In desktop, it is possible to export and import favorites locally. In Android that option is not available, unfortunately. It may be possible to use adb for example in “rooted debugging” mode, on non-rooted device, to get a copy of the db file storing favorites, but IDK yet.

On desktop the entire profile folder can be backed up, seemingly works also between operating systems. I don’t particularly like the process which likely carries a lot of redundant data over, but it’s an option.

export and import favorites locally

You mean bookmarks?

Yes. Faves, bookmarks…Edit: my fave FF browser - torbrowser is usually set to save nothing else.

What do you mean by “So you want Google to be able to backup…”? The expectation presumably is that Fennec F-Droid users don’t have Gapps installed.

Borders on condescending since you imply that I choose or want to hand out data to Google — I mainly ask since you have moderator rights here.

1 Like

Without that permission Google does not backup your app data to the cloud.

Just because you can use ADB doesn’t mean that backup function was for you, but for normal users that use Android → System → Backup to Google

I assumed you just searched what is this backup about before asking, that would have made the context pretty clear.

Assuming

:smiley:

1 Like

Thank for the reply — you could have included the information in your initial reply. Perhaps the current treatment should stay then.

It’s possible to allow an app to be backed up only if the backup is encrypted client-side (Back up user data with Auto Backup  |  Android Developers). This way Google can’t read any of the backup data no matter where the backup is stored (Google Online Security Blog: Google and Android have your back by protecting your backups). Maybe this could be a solution?

See also: FAQ · seedvault-app/seedvault Wiki · GitHub

Thanks for the info.

I compiled Fennec with the following patch:

diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index efb94c3c0..4f20148f4 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -20,7 +20,8 @@

     <application
         android:name=".FenixApplication"
-        android:allowBackup="false"
+        android:allowBackup="true"
+        android:fullBackupContent="@xml/backup"
         android:icon="@mipmap/ic_launcher"
         android:label="@string/app_name"
         android:requestLegacyExternalStorage="true"
diff --git a/app/src/main/res/xml/backup.xml b/app/src/main/res/xml/backup.xml
new file mode 100644
index 000000000..b5bb1bf4f
--- /dev/null
+++ b/app/src/main/res/xml/backup.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<full-backup-content>
+    <include domain="root" path="." requireFlags="clientSideEncryption" />
+    <include domain="file" path="." requireFlags="clientSideEncryption" />
+    <include domain="database" path="." requireFlags="clientSideEncryption" />
+    <include domain="sharedpref" path="." requireFlags="clientSideEncryption" />
+</full-backup-content>

Can anyone test backup and restore? It’s parallel-installable with the regular Fennec: https://cloud.woelkli.com/s/rPPG4BgfWoj87F4, password: nai7Wo?th+a

1 Like

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.