Commit Graph

51 Commits

Author SHA1 Message Date
Akash Yadav
b035cfd10c fix: format and lint with shfmt + shellcheck
Signed-off-by: Akash Yadav <contact@itsaky.com>
2026-07-31 00:39:10 +00:00
Akash Yadav
f940a5a54e fix: format and lint with shfmt + shellcheck
Signed-off-by: Akash Yadav <contact@itsaky.com>
2026-07-31 00:39:10 +00:00
celenity
025d607da5 fix: decrease default verbosity (+ add IRONFOX_VERBOSE env var to control it)
Signed-off-by: celenity <celenity@celenity.dev>
2026-07-23 23:16:25 +00:00
celenity
c116f9a68d fix: do not apply patches with -f --fuzz=3 (+ rebase patches)
Signed-off-by: celenity <celenity@celenity.dev>
2026-07-17 04:01:43 +00:00
celenity
31cfc61fa2 feat: Set env vars for additional utilities + do not use the system PATH (in favor of our own custom PATH)
This should improve security (by ensuring we always specify the full paths to executables, and preventing use of unintended/undesired system executables), control (by allowing users to specify where these executables should be located), and consistency/reproducability

Signed-off-by: celenity <celenity@celenity.dev>
2026-07-17 02:46:08 +00:00
celenity
dc7c198c61 fix: ensure we use GNU patch on OS X
Signed-off-by: celenity <celenity@celenity.dev>
2026-06-30 05:38:22 +00:00
celenity
415496c49d fix: set indentation to 2 spaces for all files
This makes indentation consistent across all our files, and also improves readability in general

Signed-off-by: celenity <celenity@celenity.dev>
2026-06-29 05:24:33 +00:00
celenity
23aa0326db fix: use double (instead of single) brackets for scripts/mozconfigs
Signed-off-by: celenity <celenity@celenity.dev>
2026-06-04 05:35:42 +00:00
celenity
923042e2de fix: revert "fix: temporarily revert certain env + CI script changes for now"
This reverts commit 3dd7cf2d5f, as these changes were not related to the issue

Signed-off-by: celenity <celenity@celenity.dev>
2026-04-05 20:12:43 +00:00
celenity
8f9b3d8040 fix: scripts (for now)
Signed-off-by: celenity <celenity@celenity.dev>
2026-04-02 21:31:13 +00:00
celenity
68acead79e feat: set env variables as readonly where possible, and improve/fix-up env var handling in general
Signed-off-by: celenity <celenity@celenity.dev>
2026-03-31 23:30:53 +00:00
celenity
636a1ca017 IronFox v147.0.2
ironfox-oss/IronFox!121
____

## Changes

- Updated to Firefox [`147.0.2`](https://firefox.com/firefox/android/147.0.2/releasenotes/).
- Updated to Rust [`1.93.0`](https://releases.rs/docs/1.93.0/).
- Other minor tweaks, fixes, and enhancements.

MR-author: celenity <celenity@celenity.dev>
Co-authored-by: Weblate <hosted@weblate.org>
Approved-by: Akash Yadav <itsaky01@gmail.com>
Merged-by: celenity <celenity@celenity.dev>
2026-01-27 21:18:49 +00:00
celenity
4c342f1f48 IronFox v147.0
ironfox-oss/IronFox!115
____

## Changes

- [Added an OLED theme](7008b9c865).
- Enable content process isolation by default.
    - **NOTE**: This may cause issues with live streaming on certain websites *(such as `rumble.com`)*. If desired, at the cost of security, you can disable content process isolation by navigating to `Settings` -> `About` -> `About IronFox`, tapping the IronFox logo 7 times, navigating back to `Secret settings`, disabling the setting to enable content process isolation, and restarting your browser.
- Created and integrated a new separate [`UnifiedPush-AC`](https://gitlab.com/ironfox-oss/unifiedpush-ac) component to support UnifiedPush functionality.
- Implemented support for Gecko localizations *(ex. for `about:` pages)*.
- [Prevented exposing the browser name and vendor to extensions](8fa2ceaa9c) to improve privacy and resolve compatibility issues with certain extensions.
- Updated to Firefox [`147.0`](https://firefox.com/firefox/android/147.0/releasenotes/).
- Other tweaks, enhancements, and refinements.

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>
2026-01-13 21:21:00 +00:00
celenity
5f80ede13b IronFox v146.0.1
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>
2025-12-19 16:16:28 +00:00
celenity
1432fd78ef IronFox v144.0
ironfox-oss/IronFox!92
____

## Changes

- [Added a separate toggle in settings to enable/disable JIT for **extensions**](48a42e213a) when JIT is otherwise disabled globally *(**Disabled** by default)*, located at `Settings` -> `IronFox` -> `IronFox settings` -> `Security` -> **`Enable JavaScript Just-in-time Compilation (JIT) for extensions`**.
- [Added support for natively enabling/disabling WebGL per-site](5e1acb19a6) via FPP overrides. **It is now recommended to disable the uBlock Origin `Block WebGL` lists** *(The `Block WebGL` lists will be removed from the uBlock Origin config entirely in the near future, but we're keeping them for now to ex. give users time to update)*. See [Notes](#notes) below for details, such as how you can manually allow desired websites to use WebGL.
- [Added a toggle in settings to enable or disable our default WebGL overrides](c9298799ee) *(**Enabled** by default)*, located at `Settings` -> `IronFox` -> `IronFox settings` -> `Privacy` -> **`Enable WebGL overrides from IronFox`**. When WebGL is enabled, this setting enables WebGL by default for certain websites, to reduce breakage/unexpected behavior. Note that this list is **NOT** fetched/updated remotely.
- [Added a toggle in settings to enable or disable spoofing the timezone to `UTC-0`](c8cb5064e4) *(**Disabled** by default)*, located at `Settings` -> `IronFox` -> `IronFox settings` -> `Privacy` -> **`Spoof timezone to UTC-0`**.
- [Added a toggle in settings to enable or disable our default timezone overrides](c8cb5064e4) *(**Enabled** by default)*, located at `Settings` -> `IronFox` -> `IronFox settings` -> `Privacy` -> **`Enable timezone spoofing overrides from IronFox`**. When timezone spoofing is enabled, this setting disables timezone spoofing by default for certain websites, to reduce breakage/unexpected behavior. Note that this list is **NOT** fetched/updated remotely.
- [Added a toggle in settings to enable or disable *Mozilla's* default fingerprinting protection overrides](64e3706be8) to reduce website breakage *(**Enabled** by default)*, located at `Settings` -> `IronFox` -> `IronFox settings` -> `Privacy` -> **`Enable fingerprinting protection overrides from Mozilla`**. Note that this list **IS** fetched/updated remotely.
- [Added a toggle in settings to enable or disable *our* default fingerprinting protection overrides](64e3706be8) to reduce website breakage *(**Enabled** by default)*, located at `Settings` -> `IronFox` -> `IronFox settings` -> `Privacy` -> **`Enable fingerprinting protection overrides from IronFox`**. This toggle does **not** disable fingerprinting protection overrides that we set to **harden** protection for certain websites. Note that this list is **NOT** fetched/updated remotely.
- [Implemented](522770b2dc) [Phoenix's extension blocklist](https://codeberg.org/celenity/Phoenix/src/branch/pages/build/policies/blocklist.json) to block malicious/phishing/sketchy extensions.
- [Locked Gecko preferences controlled by UI settings](bc9df5c52c) *(See [details](https://gitlab.com/ironfox-oss/IronFox/-/blob/dev/docs/FAQ.md#why-are-certain-preferences-locked))*.
- [Prevented the JIT toggle from controlling `javascript.options.main_process_disable_jit`](8171a4da48), as this pref is not required for JIT to function, and is preferable to leave on - even when JIT is enabled, to improve security.
- Updated to Firefox [`144.0`](https://firefox.com/firefox/android/144.0/releasenotes/).
- Updated microG to [`v0.3.10.250932`](https://github.com/microg/GmsCore/releases/tag/v0.3.10.250932).
- Updated Phoenix to [`2025.10.12.1`](https://codeberg.org/celenity/Phoenix/releases/tag/2025.10.12.1).
- [Other minor tweaks, adjustments, and enhancements](https://gitlab.com/ironfox-oss/IronFox/-/merge_requests/92/diffs).

## Notes

You can manually allow websites to use WebGL with the `privacy.fingerprintingProtection.granularOverrides` preference at `about:config`. For instance, if I want to allow **`example.com`** to use WebGL, I would set the value of `privacy.fingerprintingProtection.granularOverrides` to:

```sh
[{"firstPartyDomain":"example.com","overrides":"-DisableWebGL"}]
```

If I *also* wanted to allow `example2.com`, I'd set the value to:

```sh
[{"firstPartyDomain":"example.com","overrides":"-DisableWebGL"},{"firstPartyDomain":"example2.com","overrides":"-DisableWebGL"}]
```

**[Please report websites that require WebGL to us if possible](https://gitlab.com/ironfox-oss/IronFox/-/issues)**, so that we can investigate and potentially add them to the default WebGL overrides list.

MR-author: celenity <celenity@celenity.dev>
Co-authored-by: Weblate <hosted@weblate.org>
Co-authored-by: Akash Yadav <itsaky01@gmail.com>
Approved-by: celenity <celenity@celenity.dev>
Merged-by: celenity <celenity@celenity.dev>
2025-10-16 04:14:42 +00:00
celenity
76048803e7 IronFox v143.0.3.1
ironfox-oss/IronFox!87
____

## Changes

- Fixed [an issue that resulted in add-ons being disabled after installation for certain users when the toggle to allow installation of add-ons was disabled](https://gitlab.com/ironfox-oss/IronFox/-/issues/187) - *([See details](https://gitlab.com/ironfox-oss/IronFox/-/issues/187#note_2792168725))*.

MR-author: celenity <celenity@celenity.dev>
Co-authored-by: Weblate <hosted@weblate.org>
Co-authored-by: Akash Yadav <itsaky01@gmail.com>
Approved-by: celenity <celenity@celenity.dev>
Merged-by: celenity <celenity@celenity.dev>
2025-10-02 12:51:42 +00:00
celenity
51fe5549c2 IronFox v143.0.3
ironfox-oss/IronFox!85
____

## Changes

- Enabled [display of built-in add-ons at the `Extensions` fragment](2f382311f9) *(As a result, users can now easily see/control built-in extensions, and disable them if desired)*.
- Ensured that [Android's `Credential Manager` API is always prioritized over Google Play Services/microG on supported devices](9c6bd05707).
- [Exposed `about:translations` at `about:about`](94b73a9ffc).
- [Implemented enterprise policies](304c4e088c) to control various features/functionality in Gecko.
- Rebased onto Firefox [`143.0.3`](https://firefox.com/firefox/android/143.0.3/releasenotes/).
- Removed [the `Mozilla Ad Routing Service` *(`MARS`)* library](b88a4db302).
- Removed [privileged add-on signing status from external Mozilla add-ons](76a6e95f32).
- Updated the default Rust version to [`1.90.0`](https://doc.rust-lang.org/stable/releases.html#version-190-2025-09-18).
- [Updated the setting to enable/disable installation of add-ons](4dc340b4aa) to leverage policies - making it more effective/comprehensive, and improved UX by displaying a pop-up when a user attempts to install an add-on while the setting is disabled.
- [Other minor tweaks and adjustments](https://gitlab.com/ironfox-oss/IronFox/-/merge_requests/85/diffs).

MR-author: celenity <celenity@celenity.dev>
Co-authored-by: Weblate <hosted@weblate.org>
Co-authored-by: Akash Yadav <itsaky01@gmail.com>
Approved-by: Akash Yadav <itsaky01@gmail.com>
Merged-by: celenity <celenity@celenity.dev>
2025-10-01 13:16:45 +00:00
celenity
594372f418 IronFox v143.0
ironfox-oss/IronFox!80
____

## Changes

- [Fixed an issue that caused the browser to always attempt to install uBlock Origin, even if deselected on the onboarding](https://gitlab.com/ironfox-oss/IronFox/-/issues/180).
- [Fixed and added back the `Debug Drawer` secret setting](c6e1c4cd68).
- [Glean](https://github.com/mozilla/glean) is now built with [Tor Browser's no-op UniFFI binding generator](766e179979).
- Prevented the browser from initializing the [Nimbus *(Experimentation)* library](https://experimenter.info/getting-started/engineers/getting-started-for-android-engineers/).
- Rebased onto Application Services [`v143.0`](https://github.com/mozilla/application-services/releases/tag/v143.0).
- Rebased onto Firefox [`143.0`](https://firefox.com/firefox/android/143.0/releasenotes/).
- Rebased onto Glean [`v64.5.5`](https://github.com/mozilla/glean/releases/tag/v64.5.5).
- Removed additional unwanted/unnecessary components used for data collection and marketing.
- Removed [Glean](https://github.com/mozilla/glean) from Mozilla's [Android Components](https://searchfox.org/firefox-main/source/mobile/android/android-components/README.md).
- Removed [Glean](https://github.com/mozilla/glean) from [Application Services](https://github.com/mozilla/application-services).
- Removed the `Enable disk cache for secure webpages` UI setting toggle. Note that the `Enable disk cache` toggle is a master-switch, it disables disk cache for *both* insecure *and* secure websites, and it remains off by default.
- Removed the `Hard-fail OCSP revocation checks` UI setting toggle, as we no longer enable or use OCSP by default, in favor of CRLite *([See details](e599bd459e))*.
- Removed [Nimbus](https://experimenter.info/getting-started/engineers/getting-started-for-android-engineers/) from the [`engine-gecko` Android component](https://searchfox.org/firefox-main/source/mobile/android/android-components/components/browser/engine-gecko/README.md).
- [Stubbed `PlayStoreReviewPromptController`, and removed the now-unnecessary microG `Tasks` library](52791d3500).
- Updated the default Rust version [for **Gecko** and **Glean**](ec6ee31f83) to [`1.89.0`](https://doc.rust-lang.org/stable/releases.html#version-1890-2025-08-07).
- Updated Phoenix to [`2025.09.07.1`](https://codeberg.org/celenity/Phoenix/releases/tag/2025.09.07.1).
- [Other tweaks, refinements, and minor enhancements](https://gitlab.com/ironfox-oss/IronFox/-/merge_requests/80/diffs).

MR-author: celenity <celenity@celenity.dev>
Co-authored-by: Weblate <hosted@weblate.org>
Co-authored-by: LucasMZ <git@lucasmz.dev>
Co-authored-by: Akash Yadav <itsaky01@gmail.com>
Approved-by: Akash Yadav <itsaky01@gmail.com>
Merged-by: celenity <celenity@celenity.dev>
2025-09-17 13:46:08 +00:00
Akash Yadav
9eec4a94b6 fix: use pre-defined patch list in 'rebase_patches'
Signed-off-by: Akash Yadav <itsaky01@gmail.com>
2025-05-28 11:51:27 +05:30
Akash Yadav
60b8857808 fix: add functions to auto-rebase patch files
Signed-off-by: Akash Yadav <itsaky01@gmail.com>
2025-05-28 11:43:31 +05:30
Akash Yadav
b25035e20b fix: update env var names to better reflect their purpose
Signed-off-by: Akash Yadav <itsaky01@gmail.com>
2025-05-18 01:59:32 +05:30
Akash Yadav
b72ddd06d5 fix: add warning message for rebase_patch function
Signed-off-by: Akash Yadav <itsaky01@gmail.com>
2025-04-28 12:39:19 +05:30
Akash Yadav
f45f5a3c69 fix: add helper function for patch rebase
Signed-off-by: Akash Yadav <itsaky01@gmail.com>
2025-04-28 11:56:30 +05:30
Akash Yadav
70f3bff03a feat: add configuration to build IronFox site
Signed-off-by: Akash Yadav <itsaky01@gmail.com>
2025-04-13 18:18:56 +05:30
celenity
6e38e63826 feat: Stop harassing users to set us as the default browser/engage with us
Signed-off-by: celenity <celenity@celenity.dev>
2025-04-12 21:19:20 -04:00
celenity
a9324e03fc fix: Update remote-debugging.patch to ensure it's disabled for users who may have previously turned it on from the UI settings
Signed-off-by: celenity <celenity@celenity.dev>
2025-04-12 21:17:45 -04:00
celenity
f1c0f78a80 feat: Hide the UI setting for Remote Debugging - this can still be enabled from the about:config with devtools.debugger.remote-enabled, but hiding the UI setting 1: forces it to reset per-session (ensuring it's only on as long as needed, and that users don't accidentally leave it on...), and 2: prevents users from accidentally/unnecessarily enabling it in the first place
Signed-off-by: celenity <celenity@celenity.dev>
2025-04-12 15:55:18 -04:00
celenity
61bfc2b85a feat: Prevent fetching/configuring settings from Nimbus
Signed-off-by: celenity <celenity@celenity.dev>
2025-04-08 17:19:34 -04:00
celenity
a3a5645c40 feat: Enable Unified Trust Panel by default
Signed-off-by: celenity <celenity@celenity.dev>
2025-04-08 14:09:52 -04:00
celenity
3efdef4403 fix: Remove WebCompat Reporter
Signed-off-by: celenity <celenity@celenity.dev>
2025-04-07 04:59:42 -04:00
celenity
d38214a2ba feat: Disallow using the Domestic China server for Firefox Sync...
Signed-off-by: celenity <celenity@celenity.dev>
2025-04-07 04:58:58 -04:00
celenity
2c31e7e299 feat: Enable DNS over HTTPS by default with Quad9 (w/o fallback) + expose new DNS over HTTPS UI settings & add various privacy-respecting built-in providers
Signed-off-by: celenity <celenity@celenity.dev>
2025-04-02 03:12:44 -04:00
celenity
fdbb1dba20 fix: typo - enable-tab-strip.patch
Signed-off-by: celenity <celenity@celenity.dev>
2025-04-02 01:43:23 -04:00
celenity
0a416ab6b6 fix: Temporarily remove DoH UI settings, as it doesn't yet appear to be fully implemented/production ready, so let's control this with prefs (like we currently do) to prevent unexpected behavior
Signed-off-by: celenity <celenity@celenity.dev>
2025-04-01 21:06:42 -04:00
celenity
becc8eb69c fix: Ensure users can toggle certain secret settings if desired
Signed-off-by: celenity <celenity@celenity.dev>
2025-04-01 20:37:31 -04:00
celenity
06dfcd3604 feat: Disable Firefox's new "Sent from Firefox" footer/Link Sharing feature
Signed-off-by: celenity <celenity@celenity.dev>
2025-04-01 15:29:31 -04:00
celenity
0b07c648be feat: Take back control of various non-UI facing preferences from GeckoRuntimeSettings - this defers the values of these preferences to what we set them to in the phoenix/ironfox .js files, allows users to override them via the about:config without them being reset at every launch, and allows us to remove/simplify most of our patches...
Signed-off-by: celenity <celenity@celenity.dev>
2025-04-01 14:19:56 -04:00
Akash Yadav
71f259a02f fix: remove default desktop mode patch
Patch is not needed anymore, since the toggle is now publicly available in upstream Firefox.
2025-04-01 15:39:34 +05:30
Akash Yadav
9a5c8829f0 fix(scripts): add function to test compatible patches 2025-04-01 13:55:50 +05:30
celenity
d34cba474d fix: Add ublock-assets.patch to patches.sh
Signed-off-by: celenity <celenity@celenity.dev>
2025-03-31 21:29:37 -04:00
celenity
ade128d3c9 feat: Disable DoH canary requests
Signed-off-by: celenity <celenity@celenity.dev>
2025-03-30 14:38:20 -04:00
celenity
34b4d87ff4 feat: Enable access to about:config when using MOZILLA_OFFICIAL
Signed-off-by: celenity <celenity@celenity.dev>
2025-03-30 14:34:29 -04:00
celenity
2602568ef6 feat: Switch 'What's New' URL for updates from Mozilla's to our own
Signed-off-by: celenity <celenity@celenity.dev>
2025-03-19 20:23:07 -04:00
celenity
0471a946ca feat: Clear browsing history, cache, download history, and open tabs on exit by default
Signed-off-by: celenity <celenity@celenity.dev>
2025-03-18 01:06:17 -04:00
celenity
f8cb3672de Add Mullvad Leta (+ other minor tweaks/fixes) - fixes https://gitlab.com/ironfox-oss/IronFox/-/issues/45
Signed-off-by: celenity <celenity@celenity.dev>
2025-03-05 21:46:04 -05:00
celenity
caa4ed2c85 Update/fix/organize patches
Signed-off-by: celenity <celenity@celenity.dev>
2025-03-04 18:58:16 -05:00
celenity
7a50e7cff2 fix: Remove disable-shopping-experience.patch - Fakespot/Shopping integration has been removed by Mozilla https://bugzilla.mozilla.org/show_bug.cgi?id=1899365 https://bugzilla.mozilla.org/show_bug.cgi?id=1941470
Signed-off-by: celenity <celenity@celenity.dev>
2025-03-04 16:13:29 -05:00
Akash Yadav
daf69e55ee fix: update patches for v136.0 2025-03-05 02:06:06 +05:30
celenity
20c6f6106d feat: Create patches to block autoplay by default & disable sync by default (+ WIP to simplify remove-default-sites.patch & fix sanitize-on-exit.patch)
Signed-off-by: celenity <celenity@celenity.dev>
2025-02-06 23:54:32 -05:00
celenity
39540eb8e5 fix: Enforce Certificate Transparency
Signed-off-by: celenity <celenity@celenity.dev>
2025-02-05 10:28:08 +00:00