ironfox-oss/IronFox!112 ____ ## Changes - [Enabled memory tagging](e24a24e63c) *(via [Android's Arm Memory Tagging Extension](https://developer.android.com/ndk/guides/arm-mte))* to improve security for supported devices *(such as the Pixel 8 and newer)*. - [Fixed an issue with Obtainium app installation](6026d6524f). - Updated Bundletool to [`1.18.3`](https://github.com/google/bundletool/releases/tag/1.18.3). - Updated to Firefox [`146.0.1`](https://firefox.com/firefox/android/146.0.1/releasenotes/). - Updated microG to [`v0.3.11.250932`](https://github.com/microg/GmsCore/releases/tag/v0.3.11.250932). - Updated Rust to [`1.92.0`](https://releases.rs/docs/1.92.0/). - [Various tweaks, fixes, and refinements - especially to the build process](https://gitlab.com/ironfox-oss/IronFox/-/merge_requests/112/diffs). MR-author: celenity <celenity@celenity.dev> Co-authored-by: Weblate <hosted@weblate.org> Co-authored-by: Akash Yadav <itsaky01@gmail.com> Co-authored-by: techaddict <20232669-techaddict@users.noreply.gitlab.com> Co-authored-by: user <user@localhost.localdomain> Approved-by: Akash Yadav <itsaky01@gmail.com> Merged-by: celenity <celenity@celenity.dev>
12 KiB
IronFox
IronFox is a fork of Divested Computing Group's Mull Browser, based on Mozilla Firefox. Our goal is to continue the legacy of Mull by providing a free and open source, privacy and security-oriented web browser for daily use.
Important
⚠️ All users are HIGHLY recommended to take a look at our documentation, ESPECIALLY the Limitations and Frequently Asked Questions pages!
While IronFox's home is GitLab, this repo is also mirrored to both Codeberg & GitHub.
Want to join the IronFox Community?
We'd love to see you over on Matrix (Recommended) and Discord!
App Installation
Currently, you can install IronFox from Accrescent, from your preferred F-Droid client via our F-Droid repository, with Obtainium, or directly from our GitLab releases.
Regardless of your installation method, we recommend verifying Ironfox's package ID and the checksum of its signing certificate. You can simplify this process using AppVerifier, which also has easy integration with Obtainium. See App Verification below for IronFox's Package ID & SHA-256 of the signing certificate.
If you are using F-Droid, we recommend F-Droid Basic as your client of choice. Due to its reduced feature set, F-Droid Basic has less attack surface; meaning it is more secure than the standard client.
It should be noted that our F-Droid repo is hosted using Cloudflare's R2 Storage (under the EU jurisdiction). While not perfect, Cloudflare does have a strong privacy track record, and due to their high reliabity and performance, we feel this is the best option for most users.
That being said, if you'd rather avoid Cloudflare, we also host a mirror of the F-Droid repo on Codeberg, though it comes at the cost of lower reliability & performance. You can add the following link to your F-Droid client:
https://codeberg.org/ironfox-oss/fdroid/raw/branch/main/fdroid/repo
Once added, within the repository's settings on F-Droid, you can disable the other mirrors & leave Codeberg as the only selected option.
We also mirror the F-Droid repo on GitLab here. You can add the following link to your F-Droid client if desired:
https://gitlab.com/ironfox-oss/fdroid/-/raw/main/fdroid/repo
App Verification
Package ID: org.ironfoxoss.ironfox
Package ID (Nightly): org.ironfoxoss.ironfox.nightly
SHA-256 Hash of Signing Certificate:
C5:E2:91:B5:A5:71:F9:C8:CD:9A:97:99:C2:C9:4E:02:EC:97:03:94:88:93:F2:CA:75:6D:67:B9:42:04:F9:04
Building
IronFox makes it easier (and faster) to build the project locally.
For example, prebuilt versions of wasi-sdk sysroot and llvm-project are used instead of building them locally. F-Droid builds still build those from source.
It is recommended to use the Docker image for building IronFox.
Build with Docker
Pull the docker image with :
docker pull registry.gitlab.com/ironfox-oss/ironfox:latest
You can also use the main tag to pull the image which was used to
build the latest IronFox release. Or you can use exact version names
to pull images for those versions.
For example :
docker pull registry.gitlab.com/ironfox-oss/ironfox:v135-0
Then, you need to set up the source files.
Build without Docker
NOTE: Currently, builds on the latest versions of Fedora, macOS, and Ubuntu systems are supported. YMMV for other operating systems/environments.
NOTE: macOS users must install Homebrew (if is not already installed) before following the steps below.
First, if you haven't already installed it, you'll want to install git for your platform of choice:
Fedora:
sudo dnf install git
macOS:
brew install git
Ubuntu:
sudo apt install git
After you've successfully installed git, the first thing you'll need to do is clone IronFox's source repository:
(--depth=1 is specified below to reduce the size of the cloned repository, it can be removed if preferred)
git clone --depth=1 git@gitlab.com:ironfox-oss/IronFox.git IronFox
You should now navigate to the root of IronFox's source directory, and run the bootstrap script:
(The bootstrap script will set-up and install dependencies required to build IronFox on your system)
cd IronFox
./scripts/bootstrap.sh
Get sources
Still from the root of IronFox's source directory, you should now run the get_sources script to download the external sources required for building IronFox:
NOTE: If you need to fetch sources for a different version of a dependency than the version IronFox is currently using, you'll need to modify scripts/versions.sh BEFORE running the get_sources script.
This may take some time depending on your network speed...
./scripts/get_sources.sh
Preparing sources
You now need to patch/prepare your newly downloaded sources with the prebuild script:
This must be run once after getting your sources.
./scripts/prebuild.sh <build-variant>
Where <build-variant> specifies the variant to build, and is one of the following:
arm- 32-bit ARM (armeabi-v7a)arm64- 64-bit ARM (arm64-v8a)x86_64- 64-bit x86bundle- Android App Bundle (AAB) with all supported ABIs.
Important
If you want to build the
bundlevariant locally, you need to build the ABI-specific variants first, get the generated AAR file for GeckoView and then configureMOZ_ANDROID_FAT_AAR*environment variables with the path to the generate AAR files.See task kinds and ci-build.sh for more details.
Build
Finally, you can start the build process with:
./scripts/build.sh apk
NOTE: If you'd like to build a bundle, you should instead use:
./scripts/build.sh bundle
Translation
IronFox is translated using Weblate. Visit the Weblate project to help with translations.
Licensing
The scripts are licensed under the GNU Affero General Public License, version 3 or later.
Changes to patches are licensed according to the header in the files this patch adds or modifies (Apache 2.0 or MPL 2.0).
Phoenix is licensed under the GNU General Public License v3.0 or later (GPL-3.0-or-later) where applicable. See COPYING.
a-c-liberate.patch, a-c-localize-maven.patch, a-s-localize-maven.patch, fenix-liberate.patch, gecko-localize-maven.patch, and microg-unbreak-fido.patch are adapted from Fennec F-Droid. See COPYING.
gecko-rs-blocker.patch and gecko-custom-ublock-origin-assets.patch, are adapted from LibreWolf. See LibreWolf License and Disclaimers.
fenix-disable-network-connectivity-monitoring.patch, gecko-disable-network-id.patch, geckoview-ironfox-settings-support-spoof-english.patch, and glean-noop.patch are adapted from the Tor Project. See LICENSE.
Our current set of default wallpapers are taken from Fennec F-Droid, and are available under the Unsplash license.
Notices
Mozilla Firefox is a trademark of The Mozilla Foundation.
This is not an officially supported Mozilla product. IronFox is in no way affiliated with Mozilla.
IronFox is not sponsored or endorsed by Mozilla.
IronFox is not associated with DivestOS, Divested Computing Group, or Mull in any manner.
Firefox source code is available at https://github.com/mozilla-firefox/firefox.




