FFUpdater: Install and update browsers from Mozilla - Issues/Pull Requests are welcome
Mirrors: GitHub GitLab
https://f-droid.org/en/packages/de.marmaro.krt.ffupdater

Tobi823 00babe2c16 fix tests 1 week ago
.github 4c45288269 * fix GitHub action (2/?) 1 year ago
dev e54b542640 - cleanup 2 weeks ago
fastlane 37a10cec83 - fix unit tests 2 weeks ago
ffupdater 00babe2c16 fix tests 1 week ago
gradle ad8164b859 - update gradle to 7.3.3 4 months ago
.gitignore 850a71c28d * fix unit test 2 months ago
CHANGELOG.md 37a10cec83 - fix unit tests 2 weeks ago
GOALS.md f0ef856be0 Update GOALS.md 1 year ago
HOW_TO_CONTRIBUTE.md c8dd18ecd3 * update the "how to contribute" chapter and add Weblate-links 5 months ago
LICENSE 8b103f6ce2 Add license information 7 years ago
README.md 1235e23567 - add support for Chromium 2 weeks ago
build.gradle 6dd5d2f5e5 - update dependencies 3 weeks ago
gradle.properties f55fbbbeb4 - cleanup 5 months ago
gradlew fc62b1ff96 * upgrade com.android.tools.build:gradle to 7.0.2 1 year ago
gradlew.bat 6af86ced55 update gradle 1 year ago
settings.gradle 53536ad129 Use DownloadManager 7 years ago

README.md

Get it on F-Droid

Firefox-Updater

Installs and updates the following browsers:

Browsers from Mozilla or based on Firefox:

Good privacy browsers:

Browser which are better than Google Chrome:

FFUpdater checks for updates in the background and downloads them as well. On Android 12+ or root devices, FFUpdater can also update the apps without user interaction.

How to contribute

You can improve the translation on Weblate. Current progress: Get involved in translating FFUpdater

Translation status

For advanced users: How to contribute

Security measures

  • The signature fingerprint of every downloaded APK file is validated against an internal allowlist. This prevents the installation of malicious apps that do not originate from the original developers.
  • Only HTTPS connections are used because unencrypted HTTP traffic can be manipulated.
  • Only system certificate authorities are trusted. But this can be disabled in the settings to allow other apps to inspect the application's network traffic.
  • Prevent command injection in the RootInstaller.kt by validating and sanitizing commands.
  • Git commits will be signed with the GPG key CE72BFF6A293A85762D4901E426C5FB1C7840C5F public key

Download sources for applications

The applications are downloaded from these locations:

Other distribution channels

The main distribution method of FFUpdater remains F-Droid - this will not change. But you can use the APK files or the F-Droid repository to quickly install fixed versions.

You need to uninstall FFUpdater every time you switch between F-Droid version and my version. F-Droid will not show you new updates if you still uses the version from GitHub/GitLab.

My versions will be signed with this certificate.

The official F-Droid Android client sometimes has problems accessing the APK file from my F-Droid repository. But other clients like "Foxy Droid" work fine.

APK files on GitHub

The APK files are available on GitHub and GitLab.

F-Droid repository

Repository address: https://raw.githubusercontent.com/Tobi823/ffupdaterrepo/master/fdroid/repo

Fingerprint: 6E4E6A597D289CB2D4D4F0E4B792E14CCE070BDA6C47AF4918B342FA51F2DC89

Add

Add the repository to F-Droid

How to Add a Repo to F-Droid

It seems that this F-Droid repository is sometimes a little buggy. If F-Droid fails to download FFUpdater, try to install the version from the official F-Droid repository first.

On the app page under the item "Versions" you can see from which repository (my FFUpdater repository or the official F-Droid repository) the app version was installed

FAQ

  • By clicking on the "i"-Icon, you can see the time of the last successful background update check.
  • Firefox Nightly: Replace the minutes with 'xx' because FFUpdater can only access the start time of the build and not the version name of the app update (finish time). The builds always starts at 5:00 and 17:00 and usually takes a few minutes.
  • Tor Browser / Orbot: I will not support them because they can be installed with F-Droid. (Go to Settings > Repositories > Enable "Guardian Project Official Releases".) I don't feel confident enough that I can install and update the Tor Browser / Orbot securely (because I think there is much more at stake than with other browsers).
  • Please reopen FFUpdater after moving it to the internal/external storage.

Git repositories

3rd-party libraries

  • AndroidX by Google (Apache 2.0): user interface
  • Material Components by Google (Apache 2.0): user interface
  • Gson by Google (Apache 2.0): parsing network responses to GSON
  • Shared Preferences Mock by Ivan Shafran (MIT): * testing SharedPreferences*
  • Kotlin by Jetbrains: programming language Kotlin
  • kotlinx.coroutines by Jetbrains (Apache 2.0): concurrency
  • Partially copy and modify Crasher by James Fenn (Apache 2.0): crash reports
  • version-compare by Thomas Wirth (Apache 2.0): compare versions of installed and available apps
  • OkHttp by Square, Inc (Apache 2.0): download files and make network requests
  • Kotlin coroutines await extension for OkHttp3 by Andrey Mischenko (Apache 2.0): add async/await support to OkHttp
  • JUnit 5 by The JUnit Team (MIT): software testing
  • android-junit5 by Marcel Schnelle (Apache 2.0): use JUnit5 software tests with Android
  • MockK (Apache 2.0): for easier software testing
  • Partially copy and modify Root app installer by Aurora Store / Rahul Patel (GPL): for installing/updating apps without user interaction
  • libsu by John Wu (Apache 2.0): for executing root commands

My motivation / Project goals

Goals

Deprecated browsers

Mozilla Lockwise

27.06.2022: Mozilla Lockwise is removed from FFUpdater. https://github.com/Tobi823/ffupdater/issues/194

Mozilla ended support for the Firefox Lockwise app on Android and iOS, effective December 13, 2021. https://support.mozilla.org/en-US/kb/end-of-support-firefox-lockwise

Styx Browser

02.01.2022: Styx Browser is temporary removed from FFUpdater.

Sorry for the premature end of Styx. But in the future the Styx browser will appear again. Currently styx is migrated to Fulguris base. When this is completed then Styx will return as well as in the Play Store. https://github.com/Tobi823/ffupdater/issues/101

Firefox Lite

02.12.2021: Firefox Lite is removed from FFUpdater.

Mozilla will end support for the Firefox Lite browser on June 30, 2021. https://support.mozilla.org/en-US/kb/end-support-firefox-lite

Fennec

27.07.2020: Firefox Release/Beta/Nightly based on Fennec are removed from FFUpdater.

68.11.0 is the last released update for Fennec version, all Fennec browsers are deprecated. https://bugzilla.mozilla.org/show_bug.cgi?id=1627518

Build app

Use Android Studio to clone and run the app. Nothing special needs to be done.

Maintainer:

Tobiwan (now)

Boris Kraut (https://gitlab.com/krt/ffupdater, until April 2019)

Since I left F-Droid (and Android/Smartphones) about a year ago, I am looking for a new maintainer to take over. Unfortunately the upstream issue I opened years ago is still not solved in 2019. While Fennec F-Droid is back in the mainline repo and other binary repos do serve Firefox, some might still prefer this updater. So as I said: Maintainers welcome. The main task should be to test the last few merge requests (especially the background update stuff) and release a new version. New Maintainer: https://notabug.org/Tobiwan/ffupdater

License

FFUpdater -- Updater for privacy friendly browser
Copyright (C) 2019-2021 Tobias Hellmann https://github.com/Tobi823
Copyright (C) 2015-2019 Boris Kraut <krt@nurfuerspam.de>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.