All Projects → Tobi823 → ffupdater

Tobi823 / ffupdater

Licence: GPL-3.0 license
FFUpdater: Updater for privacy friendly browser - Issues/Pull Requests are welcome - main repository: https://notabug.org/Tobiwan/ffupdater

Programming Languages

kotlin
9241 projects
HTML
75241 projects

Projects that are alternatives of or similar to ffupdater

FaucetCryptoBot
A bot for FaucetCrypto a cryptocurrency faucet. The bot can currently claim PTC ads, main reward and all the shortlinks except exe.io and fc.lc.
Stars: ✭ 69 (-48.51%)
Mutual labels:  brave-browser
visited
Securely collect browsing history over browsers.
Stars: ✭ 60 (-55.22%)
Mutual labels:  brave-browser
cookie-editor
A powerful browser extension to create, edit and delete cookies
Stars: ✭ 245 (+82.84%)
Mutual labels:  firefox-android

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:

and:

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 certificate fingerprint of every downloaded APK file is checked and validated against an internal allowlist. This prevents the installation of malicious app versions that do not originate from the original developer. The certificate fingerprints will be displayed in the app and be check by yourself. Some websites like apkmirror.com list these fingerprints for every app.
  • No unencrypted traffic is used or accepted, which can potentially be modified by attackers. Only HTTPS connections.
  • Slight risk for a machine-in-the-middle-attack: FFUpdater trusts HTTPS certificates which are installed by the user ( called "user certificates"). This is necessary for AdGuard (see GitHub-Issue). Be careful which certificates you install. A malicious certificate can prevent FFUpdater finding new updates.
  • When using root permission, check for dangerous characters and use only values from an allow list. Only src/main/java/de/marmaro/krt/ffupdater/installer/RootInstaller.kt uses root permission.
  • I will sign my commits with the GPG key CE72BFF6A293A85762D4901E426C5FB1C7840C5F public key

Feel free to check my source code ;)

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

Styx Browser

02.01.2022 #101

Styx is only temporarily removed from Google Play:

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.

30.12.2021: #101

It seems that @jamal2362 does not maintain the Styx browser any longer:

Due to the deleted GitHub repository, Styx cannot be downloaded by FFUpdater. And even if - end users should not use a browser that is no longer updated.

Firefox Lite

02.12.2021: End of support for Firefox Lockwise https://support.mozilla.org/en-US/kb/end-of-support-firefox-lockwise

Mozilla will end support for the Firefox Lockwise app on Android and iOS, effective December 13, 2021.

14.03.2021: The latest release of Firefox Lite is not longer signed and thereby can't be used to upgrade an existing Firefox Lite installation. Moreover the developers haven't responded to the Github issue "[BUG] Unsigned apk ?" from 30.01.2021 mozilla-mobile/FirefoxLite#5353. And Firefox Lite will only receive bug fixes in the future:

Firefox Lite is currently in Maintenance Mode. No active feature is being done on the product. Older Pull Requests and Issues have been marked with the archived label and have been closed. However, if you feel an issue is critical enough to be re-opened, please leave a note on the issue with an explanation.

30.06.2021: Firefox Lite is removed from Google Play and Galaxy Store, its repository is archived (https://github.com/mozilla-mobile/FirefoxLite) and development stopped.

Effective June 30, 2021, this app will no longer receive security or other updates. Download the official Firefox Android app now for a fast, private & safe web browser.

These are the reasons why I will remove Firefox Lite.

Fennec

16.05.2020: Mozilla wants to migrate from Fennec to Fenix. Fennec Beta and Fennec Nightly are already end-of-life and Fennec Release will be soon.

27.07.2020: 68.11.0 is the last released update for Fennec version, all Fennec browsers are deprecated.

Fennec is being replaced by our new state-of-the-art mobile browser codenamed "Fenix". We're slowly migrating users in order to make sure the experience is as painless and as enjoyable as possible. We started to migrate users who were using Fennec Nightly in January (bug 1608882). It took us several weeks to be sure of the result and to finally offer Fenix Nightly to all users using Fennec Nightly. Another few weeks later, we repeated the same process with Fennec Beta (bug 1614287). Fenix Beta has been offered to the whole Fennec Beta population on April 22nd. We're planning to do the same with Fennec Release sometimes this year. The schedule is still to be determined.

The Google Play Store[1] has a lot of nice features, but it's still pretty basic whenever a software publisher wants to slowly migrate users. Once a migration is started, we can't provide any Fennec updates to the population who wasn't offered Fenix, yet. I can say this restriction is painful to manage for Android developers, Mozilla included. Because of it, we had to stop shipping Fennec Nightly/Beta APKs at the beginning of each migration. This explains the dates of the last builds. At the same time, we stopped building Fennec Nightly/Beta because it enabled us to save technical resources[2] as well as people's time[3].

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 <[email protected]>

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/>.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].