From 765acc458898dcdc38e8b161abf638bd309f046a Mon Sep 17 00:00:00 2001 From: celenity Date: Tue, 28 Oct 2025 22:33:34 +0000 Subject: [PATCH] IronFox v144.0.2 ironfox-oss/IronFox!97 ____ ## Changes - Added [Marginalia](https://marginalia-search.com/) as a default/built-in search engine. - Updated to Firefox [`144.0.2`](https://firefox.com/firefox/android/144.0.2/releasenotes/). - Updated Phoenix to [`2025.10.26.1`](https://codeberg.org/celenity/Phoenix/releases/tag/2025.10.26.1). - [Other minor tweaks and adjustments](https://gitlab.com/ironfox-oss/IronFox/-/merge_requests/97/diffs). MR-author: celenity Co-authored-by: Weblate Co-authored-by: Akash Yadav Approved-by: Akash Yadav Merged-by: celenity --- .github/ISSUE_TEMPLATE/bug.yml | 59 ++++- .github/ISSUE_TEMPLATE/enhancement.yml | 10 + .gitlab/issue_templates/default.md | 36 ++- .gitlab/issue_templates/enhancement.md | 13 +- README.md | 16 +- docs/FAQ.md | 56 +++-- ...a-c-configure-default-search-engines.patch | 5 +- patches/a-c-liberate.patch | 4 +- .../search/src/main/assets/search/list.json | 228 +++++++++--------- .../main/assets/searchplugins/marginalia.xml | 9 + ...a-s-configure-default-search-engines.patch | 5 +- .../b71f7782-aaa7-40de-9407-9fd505059b61 | Bin 0 -> 1211 bytes ...7782-aaa7-40de-9407-9fd505059b61.meta.json | 5 + .../dumps/main/search-config-icons.json | 16 ++ .../dumps/main/search-config-v2.json | 28 +++ ...nners-in-pb-by-default-and-expose-ui.patch | 4 +- patches/fenix-configure-doh.patch | 6 +- patches/fenix-default-site-permissions.patch | 8 +- ...enix-disable-autocomplete-by-default.patch | 4 +- patches/fenix-disable-contile.patch | 6 +- patches/fenix-disable-crash-reporting.patch | 4 +- patches/fenix-disable-firefox-suggest.patch | 8 +- ...recent-search-suggestions-by-default.patch | 8 +- patches/fenix-disable-link-sharing.patch | 4 +- patches/fenix-disable-microsurveys.patch | 4 +- patches/fenix-disable-nags.patch | 20 +- patches/fenix-disable-nimbus.patch | 2 +- ...password-mgr-and-autofill-by-default.patch | 8 +- ...-disable-remote-search-configuration.patch | 4 +- ...isable-search-suggestions-by-default.patch | 6 +- ...enix-disable-sync-engines-by-default.patch | 4 +- patches/fenix-disable-telemetry.patch | 2 +- ...ending-search-suggestions-by-default.patch | 6 +- patches/fenix-enable-app-icon-selection.patch | 2 +- patches/fenix-enable-etp-strict.patch | 6 +- ...ix-enable-https-only-mode-by-default.patch | 4 +- ...twork-access-restrictions-by-default.patch | 4 +- patches/fenix-expose-secret-settings.patch | 10 +- .../fenix-force-enable-zoom-by-default.patch | 2 +- ...mote-debugging-and-reset-per-session.patch | 2 +- patches/fenix-ironfox-home.patch | 4 +- ...tings-support-accessibility-services.patch | 6 +- patches/fenix-ironfox-settings.patch | 4 +- patches/fenix-liberate.patch | 12 +- .../main/res/values-bg/ironfox_strings.xml | 5 +- .../main/res/values-cs/ironfox_strings.xml | 5 +- .../main/res/values-es/ironfox_strings.xml | 5 +- .../main/res/values-et/ironfox_strings.xml | 7 +- .../main/res/values-fr/ironfox_strings.xml | 2 +- .../main/res/values-nl/ironfox_strings.xml | 1 + .../res/values-pt-rBR/ironfox_strings.xml | 5 +- .../main/res/values-ru/ironfox_strings.xml | 3 +- .../main/res/values-tr/ironfox_strings.xml | 5 +- .../main/res/values-uk/ironfox_strings.xml | 5 +- .../src/main/res/values/ironfox_strings.xml | 176 ++++++-------- patches/fenix-remove-glean.patch | 2 +- patches/fenix-remove-tos-privacy-policy.patch | 2 +- ...nix-sanitize-data-on-exit-by-default.patch | 6 +- .../branding/ironfox-nightly/moz.build | 2 +- ...rprinting-protection-overrides-harden.json | 12 + ...protection-overrides-unbreak-timezone.json | 0 ...ng-protection-overrides-unbreak-webgl.json | 40 +++ ...printing-protection-overrides-unbreak.json | 5 + .../android/branding/ironfox/dumps/moz.build | 12 + .../mobile/android/branding/ironfox/moz.build | 2 +- patches/gecko-support-policies.patch | 8 +- patches/preferences/ironfox.js | 5 + scripts/prebuild.sh | 5 +- scripts/versions.sh | 4 +- 69 files changed, 589 insertions(+), 389 deletions(-) create mode 100644 patches/a-c-overlay/components/feature/search/src/main/assets/searchplugins/marginalia.xml create mode 100644 patches/a-s-overlay/components/remote_settings/dumps/main/attachments/search-config-icons/b71f7782-aaa7-40de-9407-9fd505059b61 create mode 100644 patches/a-s-overlay/components/remote_settings/dumps/main/attachments/search-config-icons/b71f7782-aaa7-40de-9407-9fd505059b61.meta.json rename patches/gecko-overlay/{services/settings/dumps/main => mobile/android/branding/ironfox/dumps}/ironfox-fingerprinting-protection-overrides-harden.json (98%) rename patches/gecko-overlay/{services/settings/dumps/main => mobile/android/branding/ironfox/dumps}/ironfox-fingerprinting-protection-overrides-unbreak-timezone.json (100%) rename patches/gecko-overlay/{services/settings/dumps/main => mobile/android/branding/ironfox/dumps}/ironfox-fingerprinting-protection-overrides-unbreak-webgl.json (82%) rename patches/gecko-overlay/{services/settings/dumps/main => mobile/android/branding/ironfox/dumps}/ironfox-fingerprinting-protection-overrides-unbreak.json (95%) create mode 100644 patches/gecko-overlay/mobile/android/branding/ironfox/dumps/moz.build diff --git a/.github/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml index 0240c35..0e945fd 100644 --- a/.github/ISSUE_TEMPLATE/bug.yml +++ b/.github/ISSUE_TEMPLATE/bug.yml @@ -3,14 +3,25 @@ description: For any general issues or unexpected/unintended behavior you come a title: "[BUG] PLEASE REPLACE THIS TEXT WITH A SUMMARY OF YOUR ISSUE..." labels: ["bug"] body: - - type: textarea - id: version + - type: checkboxes + id: checklist attributes: - label: What version of IronFox are you using? - description: | - An easy way to tell is by navigating to `Settings` -> `About` -> `About IronFox`. - validations: - required: true + label: Confirmation Checklist + options: + - label: I confirm that this issue occurs on the **latest release** of IronFox. You can check what the latest version is [on the `Releases` page](https://gitlab.com/ironfox-oss/IronFox/-/releases). + required: true + - label: I confirm that this issue occurs on the latest **Nightly** release of IronFox. You can find steps on how to find and install the latest Nightly release [here](https://gitlab.com/ironfox-oss/IronFox/-/blob/dev/docs/FAQ.md#how-can-i-download-nightly-builds). + required: true + - label: I confirm that this issue has **NOT** already been reported on [the GitLab issue tracker](https://gitlab.com/ironfox-oss/IronFox/-/issues) **and/or** [the Codeberg issue tracker](https://codeberg.org/ironfox-oss/IronFox/issues). + required: true + - label: I confirm that this issue is **NOT** already covered on [the `FAQ` page](https://gitlab.com/ironfox-oss/IronFox/-/blob/dev/docs/FAQ.md). + required: true + - label: I confirm that this issue is **NOT** related to a website breakage or compatibility issue that is not IronFox-specific (Such issues MUST be reported to [the Phoenix issue tracker](https://codeberg.org/celenity/Phoenix/issues/new?template=.github%2fISSUE_TEMPLATE%2fweb-compat.yml) instead). + required: true + - label: I confirm that this issue does **NOT** occur on the latest release of Mozilla Firefox. You can find the latest `APK`s [here](https://ftp.mozilla.org/pub/fenix/releases/). + required: true + - label: I confirm that this issue does **NOT** occur on the latest release of Mozilla Firefox **Nightly**. You can find the latest `APK`s [here](https://ftp.mozilla.org/pub/fenix/nightly/). + required: true - type: textarea id: android @@ -21,6 +32,31 @@ body: validations: required: true + - type: textarea + id: version + attributes: + label: What version of IronFox are you using? + description: | + An easy way to tell is by navigating to `Settings` -> `About` -> `About IronFox`. + validations: + required: true + + - type: textarea + id: first-version + attributes: + label: If you remember, what version of IronFox did you first notice the issue on? + validations: + required: false + + - type: textarea + id: addons + attributes: + label: Please share a list of your currently installed browser add-ons/extensions, as well as the versions you have installed. + description: | + You can find (and copy or screenshot) this information from the `Add-ons` section of `about:support`. + validations: + required: true + - type: textarea id: reason attributes: @@ -29,3 +65,12 @@ body: Be sure to include as many relevant details as possible! :) validations: required: true + + - type: textarea + id: reproduce + attributes: + label: Please provide detailed steps to reproduce the issue. + description: | + Please be as specific as possible. For example, don't just say that an issue occurs on "all websites", provide specific websites where you encounter the problem. + validations: + required: true diff --git a/.github/ISSUE_TEMPLATE/enhancement.yml b/.github/ISSUE_TEMPLATE/enhancement.yml index b1acd7c..2dac37f 100644 --- a/.github/ISSUE_TEMPLATE/enhancement.yml +++ b/.github/ISSUE_TEMPLATE/enhancement.yml @@ -3,6 +3,16 @@ description: Have any new features you want to see or any ideas to make IronFox title: "[ENHANCEMENT] PLEASE REPLACE THIS TEXT WITH A SUMMARY OF YOUR SUGGESTION..." labels: ["enhancement"] body: + - type: checkboxes + id: checklist + attributes: + label: Confirmation Checklist + options: + - label: I confirm that this issue occurs on the **latest release** of IronFox. You can check what the latest version is [on the `Releases` page](https://gitlab.com/ironfox-oss/IronFox/-/releases). + required: true + - label: I confirm that this issue has **NOT** already been reported on [the GitLab issue tracker](https://gitlab.com/ironfox-oss/IronFox/-/issues) **and/or** [the Codeberg issue tracker](https://codeberg.org/ironfox-oss/IronFox/issues). + required: true + - type: textarea id: reason attributes: diff --git a/.gitlab/issue_templates/default.md b/.gitlab/issue_templates/default.md index d9d528c..403a640 100644 --- a/.gitlab/issue_templates/default.md +++ b/.gitlab/issue_templates/default.md @@ -3,11 +3,11 @@ - ### Android +### Version + + +### First Version + + +### Add-ons + + ### Reason + +### Reproduce + diff --git a/.gitlab/issue_templates/enhancement.md b/.gitlab/issue_templates/enhancement.md index 300d779..58f4fe9 100644 --- a/.gitlab/issue_templates/enhancement.md +++ b/.gitlab/issue_templates/enhancement.md @@ -3,13 +3,22 @@ -___ +### Confirmation Checklist + + +- [ ] I confirm that this issue occurs on the **latest release** of IronFox. You can check what the latest version is on the `Releases` page *([https://gitlab.com/ironfox-oss/IronFox/-/releases](https://gitlab.com/ironfox-oss/IronFox/-/releases))*. +- [ ] I confirm that this issue has **NOT** already been reported on the GitLab issue tracker *([https://gitlab.com/ironfox-oss/IronFox/-/issues](https://gitlab.com/ironfox-oss/IronFox/-/issues))* **and/or** the Codeberg issue tracker *([https://codeberg.org/ironfox-oss/IronFox/issues](https://codeberg.org/ironfox-oss/IronFox/issues))*. + +### Reason diff --git a/README.md b/README.md index 19cb6e7..5a8ebdb 100644 --- a/README.md +++ b/README.md @@ -10,9 +10,6 @@
-[Get it on Accrescent](https://accrescent.app/app/org.ironfoxoss.ironfox) [Get it on F-Droid](fdroidrepos://fdroid.ironfoxoss.org/fdroid/repo?fingerprint=C5E291B5A571F9C8CD9A9799C2C94E02EC9703948893F2CA756D67B94204F904) @@ -34,6 +31,9 @@ --- +> [!IMPORTANT] +>⚠️ We are currently unable to provide updates to IronFox on **Accrescent**, [due to ongoing client and server issues that Accrescent is facing](https://infosec.exchange/@accrescent/115408303090609483). This impacts **all** apps on Accrescent, and is not just limited to IronFox. Therefore, for the time-being, we do **NOT** recommend installing IronFox from Accrescent. **See [here](https://gitlab.com/ironfox-oss/IronFox/-/issues/193) for more details**. + IronFox is a fork of [Divested Computing Group](https://divested.dev/)'s [Mull Browser](https://divestos.org/pages/our_apps#mull), based on [Mozilla Firefox](https://www.mozilla.org/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] @@ -47,13 +47,11 @@ We'd love to see you over on [Matrix](https://matrix.to/#/#ironfox:unredacted.or ## App Installation -Currently, you can install IronFox from [Accrescent](https://accrescent.app/app/org.ironfoxoss.ironfox), from your preferred F-Droid client via our [F-Droid repository](fdroidrepos://fdroid.ironfoxoss.org/fdroid/repo?fingerprint=C5E291B5A571F9C8CD9A9799C2C94E02EC9703948893F2CA756D67B94204F904), with [Obtainium](obtainium://app/%7B%22id%22%3A%22org.ironfoxoss.ironfox%22%2C%22url%22%3A%22https%3A%2F%2Fgitlab.com%2Fironfox-oss%2Fironfox%22%2C%22author%22%3A%22ironfox-oss%22%2C%22name%22%3A%22ironfox%22%2C%22preferredApkIndex%22%3A0%2C%22additionalSettings%22%3A%22%7B%5C%22fallbackToOlderReleases%5C%22%3Atrue%2C%5C%22trackOnly%5C%22%3Afalse%2C%5C%22versionExtractionRegEx%5C%22%3A%5C%22%5C%22%2C%5C%22matchGroupToUse%5C%22%3A%5C%22%5C%22%2C%5C%22versionDetection%5C%22%3Atrue%2C%5C%22releaseDateAsVersion%5C%22%3Afalse%2C%5C%22useVersionCodeAsOSVersion%5C%22%3Afalse%2C%5C%22apkFilterRegEx%5C%22%3A%5C%22%5C%22%2C%5C%22invertAPKFilter%5C%22%3Afalse%2C%5C%22autoApkFilterByArch%5C%22%3Atrue%2C%5C%22appName%5C%22%3A%5C%22IronFox%5C%22%2C%5C%22shizukuPretendToBeGooglePlay%5C%22%3Afalse%2C%5C%22allowInsecure%5C%22%3Afalse%2C%5C%22exemptFromBackgroundUpdates%5C%22%3Afalse%2C%5C%22skipUpdateNotifications%5C%22%3Afalse%2C%5C%22about%5C%22%3A%5C%22A%20privacy%20and%20security-oriented%20Firefox-based%20browser%20for%20Android.%5C%22%2C%5C%22refreshBeforeDownload%5C%22%3Afalse%7D%22%2C%22overrideSource%22%3A%22GitLab%22%7D), or directly from our [GitLab releases](https://gitlab.com/ironfox-oss/IronFox/-/releases). - -**The most secure way to install IronFox is from [Accrescent](https://accrescent.app/) - and this is the installation method we recommend most users use.** Accrescent is a new and upcoming, free and open source Android app store - with a focus on privacy & security _(See [here](https://accrescent.app/features) for a list of some of Accrescent's key features)_. It's currently used by other privacy and security-focused projects, such as [Molly](https://molly.im/), and recommended for use by [GrapheneOS](https://grapheneos.org/), among other privacy and security-focused projects and researchers. +Currently, you can install IronFox from your preferred F-Droid client via our [F-Droid repository](fdroidrepos://fdroid.ironfoxoss.org/fdroid/repo?fingerprint=C5E291B5A571F9C8CD9A9799C2C94E02EC9703948893F2CA756D67B94204F904), with [Obtainium](obtainium://app/%7B%22id%22%3A%22org.ironfoxoss.ironfox%22%2C%22url%22%3A%22https%3A%2F%2Fgitlab.com%2Fironfox-oss%2Fironfox%22%2C%22author%22%3A%22ironfox-oss%22%2C%22name%22%3A%22ironfox%22%2C%22preferredApkIndex%22%3A0%2C%22additionalSettings%22%3A%22%7B%5C%22fallbackToOlderReleases%5C%22%3Atrue%2C%5C%22trackOnly%5C%22%3Afalse%2C%5C%22versionExtractionRegEx%5C%22%3A%5C%22%5C%22%2C%5C%22matchGroupToUse%5C%22%3A%5C%22%5C%22%2C%5C%22versionDetection%5C%22%3Atrue%2C%5C%22releaseDateAsVersion%5C%22%3Afalse%2C%5C%22useVersionCodeAsOSVersion%5C%22%3Afalse%2C%5C%22apkFilterRegEx%5C%22%3A%5C%22%5C%22%2C%5C%22invertAPKFilter%5C%22%3Afalse%2C%5C%22autoApkFilterByArch%5C%22%3Atrue%2C%5C%22appName%5C%22%3A%5C%22IronFox%5C%22%2C%5C%22shizukuPretendToBeGooglePlay%5C%22%3Afalse%2C%5C%22allowInsecure%5C%22%3Afalse%2C%5C%22exemptFromBackgroundUpdates%5C%22%3Afalse%2C%5C%22skipUpdateNotifications%5C%22%3Afalse%2C%5C%22about%5C%22%3A%5C%22A%20privacy%20and%20security-oriented%20Firefox-based%20browser%20for%20Android.%5C%22%2C%5C%22refreshBeforeDownload%5C%22%3Afalse%7D%22%2C%22overrideSource%22%3A%22GitLab%22%7D), or directly from our [GitLab releases](https://gitlab.com/ironfox-oss/IronFox/-/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](https://github.com/soupslurpr/AppVerifier), which also has easy integration with Obtainium. **See [App Verification](#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](https://f-droid.org/packages/org.fdroid.basic/) as your client of choice. Due to its reduced feature set, F-Droid Basic has less attack surface; meaning it is generally more secure than the standard client. +If you are using F-Droid, we recommend [F-Droid Basic](https://f-droid.org/packages/org.fdroid.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](https://discuss.privacyguides.net/t/quad9-or-cloudflare/15744/9), and due to their high reliabity and performance, we feel this is the best option for most users. @@ -75,7 +73,7 @@ https://gitlab.com/ironfox-oss/fdroid/-/raw/main/fdroid/repo **Package ID**: `org.ironfoxoss.ironfox` -If you're using a CI/Nightly build: `org.ironfoxoss.ironfox.nightly` +**Package ID** *(Nightly)*: `org.ironfoxoss.ironfox.nightly` **SHA-256 Hash of Signing Certificate**: @@ -337,8 +335,6 @@ Finally, you can start the build process with: IronFox is translated using Weblate. Visit the [Weblate project](https://hosted.weblate.org/engage/ironfox/) to help with translations. -[![Translation status](https://hosted.weblate.org/widget/ironfox/287x66-grey.png)](https://hosted.weblate.org/engage/ironfox/) - ## Licensing The scripts are licensed under the [GNU Affero General Public License, version 3 or later](COPYING). diff --git a/docs/FAQ.md b/docs/FAQ.md index 0157806..889c9ad 100644 --- a/docs/FAQ.md +++ b/docs/FAQ.md @@ -2,7 +2,6 @@ - [Frequently Asked Questions](#frequently-asked-questions) - [How can I download IronFox?](#how-can-i-download-ironfox) - - [How *should* I download IronFox?](#how-should-i-download-ironfox) - [Why isn't IronFox available on F-Droid?](#why-isnt-ironfox-available-on-f-droid) - [How can I download Nightly builds?](#how-can-i-download-nightly-builds) - [Aren't Firefox-based browsers less secure than Chromium?](#arent-firefox-based-browsers-less-secure-than-chromium) @@ -20,21 +19,18 @@ - [Why is IronFox so slow?](#why-is-ironfox-so-slow) - [Why can't I stream certain *(DRM-protected)* content from streaming services (Ex. Amazon Prime Video, Apple TV+, Disney+, HBO Max, Hulu, Netflix, Peacock, Plex, Sling, Spotify, etc?)](#why-cant-i-stream-certain-drm-protected-content-from-streaming-services-ex-amazon-prime-video-apple-tv-disney-hbo-max-hulu-netflix-peacock-plex-sling-spotify-etc) - [Why are websites displayed in light mode?](#why-are-websites-displayed-in-light-mode) - - [Why do websites display the incorrect timezone?](#why-do-websites-display-the-incorrect-timezone) - [Why are websites always displayed in English?](#why-are-websites-always-displayed-in-english) + - [How can I allow websites to use WebGL?](#how-can-i-allow-websites-to-use-webgl) + - [If timezone spoofing is enabled, how can I allow certain websites to access my real timezone?](#if-timezone-spoofing-is-enabled-how-can-i-allow-certain-websites-to-access-my-real-timezone) - [Why do some fonts display incorrectly?](#why-do-some-fonts-display-incorrectly) - [Why can't I see emojis?](#why-cant-i-see-emojis) - [Why doesn't this website work?](#why-doesnt-this-website-work) ## How can I download IronFox? -You can currently download IronFox from [Accrescent](https://accrescent.app/app/org.ironfoxoss.ironfox), directly from [our GitLab releases](https://gitlab.com/ironfox-oss/IronFox/-/releases), or from [our F-Droid repository](https://fdroid.ironfoxoss.org/fdroid/repo/index.html). +You can currently download IronFox from [our F-Droid repository](https://fdroid.ironfoxoss.org/fdroid/repo/index.html), or directly from [our GitLab releases](https://gitlab.com/ironfox-oss/IronFox/-/releases). -## How *should* I download IronFox? - -If possible, we highly recommend downloading IronFox from [Accrescent](https://accrescent.app/app/org.ironfoxoss.ironfox). If you're unfamiliar, [Accrescent](https://accrescent.app/) is an up-and-coming free and open source app store for Android, with a focus on [privacy and security](https://accrescent.app/features). Due to Accrescent's strong privacy and security properties, it's the most secure way to download and install IronFox; As a result, it's what we recommend using if possible. - -For reference, Accrescent is also recommended by [GrapheneOS](https://grapheneos.org/), and supported by other privacy and security-focused projects, such as [Cake Wallet](https://cakewallet.com/), [Cryptomator](https://cryptomator.org/), [Molly](https://molly.im/), [IVPN](https://www.ivpn.net/en/), and [Organic Maps](https://organicmaps.app/). +While IronFox is also available on **Accrescent**, We are currently unable to provide updates there, [due to ongoing client and server issues that Accrescent is facing](https://infosec.exchange/@accrescent/115408303090609483). This impacts **all** apps on Accrescent, and is not just limited to IronFox. Therefore, for the time-being, we do **NOT** recommend installing IronFox from Accrescent. **See [here](https://gitlab.com/ironfox-oss/IronFox/-/issues/193) for more details**. ## Why isn't IronFox available on F-Droid? @@ -42,9 +38,9 @@ We currently do not support IronFox's inclusion in F-Droid's official repository We'd also recommend checking out [this article from privacy and security researchers](https://privsec.dev/posts/android/f-droid-security-issues/), [this post from the developer of WireGuard](https://gitlab.com/fdroid/fdroiddata/-/issues/3110#note_1613430404), and [this thread from GrapheneOS](https://infosec.exchange/@GrapheneOS@grapheneos.social/113900951182535101). -While we do provide our own [F-Droid repository](https://fdroid.ironfoxoss.org/fdroid/repo/index.html) for those who insist on using F-Droid, F-Droid's client isn't without its own privacy and security issues *(notably: [not properly notifying users of updates...](https://codeberg.org/celenity/Phoenix/issues/89#issuecomment-3145034))*, so other installation methods, such as [Accrescent](https://accrescent.app/app/org.ironfoxoss.ironfox), should be preferred if possible. +While we do provide our own [F-Droid repository](https://fdroid.ironfoxoss.org/fdroid/repo/index.html) for those who insist on using F-Droid, F-Droid's client isn't without its own privacy and security issues *(notably: [not properly notifying users of updates...](https://codeberg.org/celenity/Phoenix/issues/89#issuecomment-3145034))*. -For those who do insist on using F-Droid to install and update IronFox, we would recommend using [F-Droid Basic](https://f-droid.org/packages/org.fdroid.basic/) as your preferred client of choice, as it is more secure than the standard F-Droid client, due to its reduced feature-set. +For those who do use F-Droid to install and update IronFox, we would recommend using [F-Droid Basic](https://f-droid.org/packages/org.fdroid.basic/) as your preferred client of choice, as it is more secure than the standard F-Droid client, due to its reduced feature-set. ## How can I download Nightly builds? @@ -172,7 +168,7 @@ Thankfully, for Firefox, Mozilla has recently developed [Suspected Fingerprinter Due to RFP's issues, we enable **FPP** instead. Additionally, as Mozilla's default protections for FPP are currently very limited, we use our own [hardened configuration](https://gitlab.com/ironfox-oss/IronFox/-/blob/dev/patches/gecko-overlay/toolkit/components/resistfingerprinting/RFPTargetsDefault.inc) for it. Our hardened configuration is designed to match RFP, but with exceptions to avoid certain behaviors that are known to cause issues and undesired behavior for users. You can see our [`Features` page](https://gitlab.com/ironfox-oss/IronFox/-/blob/dev/docs/Features.md#fingerprinting) for more details. -We also include [a list](https://gitlab.com/ironfox-oss/IronFox/-/blob/dev/patches/gecko-overlay/services/settings/dumps/main/ironfox-fingerprinting-protection-overrides.json) of default overrides to fix breakage or harden protection on a per-site basis. If desired, you can disable our overrides, as well as overrides from Mozilla that serve a similar purpose, by setting `privacy.fingerprintingProtection.remoteOverrides.enabled` to `false` in your [`about:config`](about:config). +We also include [a list](https://gitlab.com/ironfox-oss/IronFox/-/blob/dev/patches/gecko-overlay/mobile/android/branding/ironfox/dumps/ironfox-fingerprinting-protection-overrides-unbreak.json) of default overrides to fix breakage or harden protection on a per-site basis. If desired, you can disable our default overrides with the `Enable fingerprinting protection overrides from IronFox` toggle, located under `Settings` -> `IronFox` -> `IronFox settings` -> `Privacy`. Similarly, you can disable Mozilla's default overrides that serve a similar purpose with the `Enable fingerprinting protection overrides from Mozilla` toggle, located under `Settings` -> `IronFox` -> `IronFox settings` -> `Privacy`. **Due to our use of FPP, and the reasons listed above, RFP is NOT recommended or supported**. @@ -216,15 +212,7 @@ By default, to protect against fingerprinting, IronFox sets the preferred websit **At the cost of privacy**, you can change this by navigating to `Settings` -> `IronFox` -> `IronFox settings` -> `Preferred website appearance`, and selecting `Dark` or `Follow browser theme`. -**NOTE**: The **[Dark Reader](https://addons.mozilla.org/addon/darkreader/)** add-on is known to cause severe performance issues on hardened Firefox-based browsers/configurations. Installing Dark Reader also poses privacy and security concerns, as detailed above. Dark Reader should be **AVOIDED** if possible, in favor of the `Preferred website appearance` setting. - -## Why do websites display the incorrect timezone? - -By default, to protect against fingerprinting, IronFox spoofs the system's timezone to `UTC-0`. - -**At the cost of privacy**, you can disable this protection globally by setting the value of `privacy.fingerprintingProtection.overrides` in your [`about:config`](about:config) to `-JSDateTimeUTC`. You can also disable this protection on a per-site basis by setting the value of `privacy.fingerprintingProtection.granularOverrides` in your [`about:config`](about:config) to `[{"firstPartyDomain":"example.com","overrides":"-JSDateTimeUTC"}]`, replacing `example.com` with the base domain of the website you'd like to disable timezone spoofing for. - -**Please [file an issue](https://codeberg.org/celenity/Phoenix/issues/new?template=.github%2fISSUE_TEMPLATE%2fweb-compat.yml) for websites impacted by this, so that we can track/document the issue, and potentially add the site to [our list](https://gitlab.com/ironfox-oss/IronFox/-/blob/dev/patches/gecko-overlay/services/settings/dumps/main/ironfox-fingerprinting-protection-overrides.json) of default overrides**. +**NOTE**: The **[Dark Reader](https://addons.mozilla.org/addon/darkreader/)** add-on is known to cause severe performance issues on hardened Firefox-based browsers/configurations. Installing Dark Reader also poses privacy and security concerns, as detailed above. Dark Reader should be **AVOIDED** if possible, in favor of the `Preferred website appearance` setting if necessary. ## Why are websites always displayed in English? @@ -232,23 +220,45 @@ By default, to protect against fingerprinting, IronFox spoofs the preferred loca **At the cost of privacy**, you can change this by navigating to `Settings` -> `IronFox` -> `IronFox settings` -> `Privacy`, and selecting `Request English versions of webpages`. +## How can I allow websites to use WebGL? + +By default, IronFox disables WebGL for websites, due to privacy and security concerns. + +**At the cost of privacy and security**, you can re-enable WebGL on a per-site basis by setting the value of `privacy.fingerprintingProtection.granularOverrides` at [`about:config`](about:config) to `[{"firstPartyDomain":"example.com","overrides":"-DisableWebGL"}]`, replacing `example.com` with the base domain of the website you'd like to enable WebGL for. + +If desired, **at the cost of privacy and security**, you can re-enable WebGL for *all* websites with the `Disable WebGL` toggle, located under `Settings` -> `IronFox` -> `IronFox settings` -> `Privacy and security`. + +Note that when WebGL is disabled, by default, we re-enable it for [certain websites](https://gitlab.com/ironfox-oss/IronFox/-/blob/dev/patches/gecko-overlay/mobile/android/branding/ironfox/dumps/ironfox-fingerprinting-protection-overrides-unbreak-webgl.json) to avoid breakage and unwanted/unexpected behavior. If desired, you can disable our default overrides with the `Enable WebGL overrides from IronFox` toggle, located under `Settings` -> `IronFox` -> `IronFox settings` -> `Privacy and security`. + +**Please [file an issue](https://gitlab.com/ironfox-oss/IronFox/-/issues) when you encounter breakage related to this, so that we can track/document the issue, and potentially add the site to [our list](https://gitlab.com/ironfox-oss/IronFox/-/blob/dev/patches/gecko-overlay/mobile/android/branding/ironfox/dumps/ironfox-fingerprinting-protection-overrides-unbreak-webgl.json) of default overrides**. + +## If timezone spoofing is enabled, how can I allow certain websites to access my real timezone? + +To protect against fingerprinting, IronFox offers a setting to spoof the system's timezone to `UTC-0`, located at `Settings` -> `IronFox` -> `IronFox settings` -> `Privacy` -> `Spoof timezone to UTC-0`. + +**At the cost of privacy**, when timezone spoofing is enabled, you can disable it on a per-site basis by setting the value of `privacy.fingerprintingProtection.granularOverrides` at [`about:config`](about:config) to `[{"firstPartyDomain":"example.com","overrides":"-JSDateTimeUTC"}]`, replacing `example.com` with the base domain of the website you'd like to disable timezone spoofing for. + +Note that when timezone spoofing is enabled, by default, we re-enable it for [certain websites](https://gitlab.com/ironfox-oss/IronFox/-/blob/dev/patches/gecko-overlay/mobile/android/branding/ironfox/dumps/ironfox-fingerprinting-protection-overrides-unbreak-timezone.json) to avoid breakage and unwanted/unexpected behavior. If desired, you can disable our default overrides with the `Enable timezone spoofing overrides from IronFox` toggle, located under `Settings` -> `IronFox` -> `IronFox settings` -> `Privacy`. + +**Please [file an issue](https://codeberg.org/celenity/Phoenix/issues/new?template=.github%2fISSUE_TEMPLATE%2fweb-compat.yml) when you encounter breakage related to this, so that we can track/document the issue, and potentially add the site to [our list](https://gitlab.com/ironfox-oss/IronFox/-/blob/dev/patches/gecko-overlay/mobile/android/branding/ironfox/dumps/ironfox-fingerprinting-protection-overrides-unbreak-timezone.json) of default overrides**. + ## Why do some fonts display incorrectly? By default, to protect against fingerprinting, IronFox restricts the visibility of fonts exposed to websites. Unfortunately, this is known to [cause issues with displaying certain text in Korean](https://gitlab.com/ironfox-oss/IronFox/-/issues/31). -**At the cost of privacy**, if you encounter this issue, you can disable this protection globally by setting the value of `privacy.fingerprintingProtection.overrides` in your [`about:config`](about:config) to `-FontVisibilityBaseSystem`. You can also disable this protection on a per-site basis by setting the value of `privacy.fingerprintingProtection.granularOverrides` in your [`about:config`](about:config) to `[{"firstPartyDomain":"example.com","overrides":"-FontVisibilityBaseSystem"}]`, replacing `example.com` with the base domain of the website you'd like to disable this protection for. +**At the cost of privacy**, if you encounter this issue, you can disable this protection globally by setting the value of `privacy.fingerprintingProtection.overrides` at [`about:config`](about:config) to `-FontVisibilityBaseSystem`. You can also disable this protection on a per-site basis by setting the value of `privacy.fingerprintingProtection.granularOverrides` at [`about:config`](about:config) to `[{"firstPartyDomain":"example.com","overrides":"-FontVisibilityBaseSystem"}]`, replacing `example.com` with the base domain of the website you'd like to disable this protection for. ## Why can't I see emojis? By default, to protect against fingerprinting, IronFox restricts the visibility of fonts exposed to websites. Unfortunately, this is known to break the display of emojis *(See [a testing page here](https://tmh.conlang.org/emoji-language/all-emoji.html))* for users on **Android 10** or lower. -If you encounter this issue, please upgrade to a newer version of Android as soon as possible ;)... but, for a work-around, **at the cost of privacy**, you can disable this protection globally by setting the value of `privacy.fingerprintingProtection.overrides` in your [`about:config`](about:config) to `-FontVisibilityBaseSystem,-FontVisibilityLangPack`. You can also disable this protection on a per-site basis by setting the value of `privacy.fingerprintingProtection.granularOverrides` in your [`about:config`](about:config) to `[{"firstPartyDomain":"example.com","overrides":"-FontVisibilityBaseSystem,-FontVisibilityLangPack"}]`, replacing `example.com` with the base domain of the website you'd like to disable this protection for. +If you encounter this issue, please upgrade to a newer version of Android as soon as possible ;)... but, for a work-around, **at the cost of privacy**, you can disable this protection globally by setting the value of `privacy.fingerprintingProtection.overrides` at [`about:config`](about:config) to `-FontVisibilityBaseSystem,-FontVisibilityLangPack`. You can also disable this protection on a per-site basis by setting the value of `privacy.fingerprintingProtection.granularOverrides` at [`about:config`](about:config) to `[{"firstPartyDomain":"example.com","overrides":"-FontVisibilityBaseSystem,-FontVisibilityLangPack"}]`, replacing `example.com` with the base domain of the website you'd like to disable this protection for. ## Why doesn't this website work? For background, IronFox uses configs from **[Phoenix](https://phoenix.celenity.dev)** to harden and configure Gecko's preferences and underlying behavior. While it is both the goal of IronFox *and* Phoenix to provide users with a balance between strong privacy and security, while also preventing breakage where possible and preserving compatibility with websites, you may occasionally encounter issues. -As these issues generally stem from Gecko, **unless you're confident that the issue is caused by a IronFox-specific change**, please report the issue on [Phoenix's issue tracker](https://codeberg.org/celenity/Phoenix/issues/new?template=.github%2fISSUE_TEMPLATE%2fweb-compat.yml). +As these issues generally stem from Gecko, **unless you're confident that the issue is caused by a IronFox-specific change**, please report the issue on [Phoenix's issue tracker](https://codeberg.org/celenity/Phoenix/issues/new?template=.github%2fISSUE_TEMPLATE%2fweb-compat.yml). A notable exception to this is issues caused by **WebGL** being disabled; these *are* caused by IronFox-specific changes, so should be reported with the IronFox issue tracker. **If you're confident that the change is IronFox-specific**, please report the issue on [our issue tracker](https://gitlab.com/ironfox-oss/IronFox/-/issues) instead. diff --git a/patches/a-c-configure-default-search-engines.patch b/patches/a-c-configure-default-search-engines.patch index 20d4542..73fb120 100644 --- a/patches/a-c-configure-default-search-engines.patch +++ b/patches/a-c-configure-default-search-engines.patch @@ -1,8 +1,8 @@ diff --git a/mobile/android/android-components/components/feature/search/src/main/java/mozilla/components/feature/search/storage/SearchEngineReader.kt b/mobile/android/android-components/components/feature/search/src/main/java/mozilla/components/feature/search/storage/SearchEngineReader.kt -index ae405c6a94..1e06aeeb48 100644 +index ae405c6a94..0a2eea30d7 100644 --- a/mobile/android/android-components/components/feature/search/src/main/java/mozilla/components/feature/search/storage/SearchEngineReader.kt +++ b/mobile/android/android-components/components/feature/search/src/main/java/mozilla/components/feature/search/storage/SearchEngineReader.kt -@@ -38,16 +38,17 @@ private const val MAX_SIZE = 32 +@@ -38,16 +38,18 @@ private const val MAX_SIZE = 32 // List of general search engine ids, taken from // https://searchfox.org/mozilla-central/rev/ef0aa879e94534ffd067a3748d034540a9fc10b0/toolkit/components/search/SearchUtils.sys.mjs#200 internal val GENERAL_SEARCH_ENGINE_IDS = setOf( @@ -20,6 +20,7 @@ index ae405c6a94..1e06aeeb48 100644 + "ddgnoai", + "ddghtml", + "ddglite", ++ "marginalia", + "mojeek", + "leta-brave", + "leta-google", diff --git a/patches/a-c-liberate.patch b/patches/a-c-liberate.patch index bab3d8e..7d96769 100644 --- a/patches/a-c-liberate.patch +++ b/patches/a-c-liberate.patch @@ -1,5 +1,5 @@ diff --git a/mobile/android/android-components/.buildconfig.yml b/mobile/android/android-components/.buildconfig.yml -index f9711dc715..519b728df0 100644 +index f9711dc715..b2cfa79049 100644 --- a/mobile/android/android-components/.buildconfig.yml +++ b/mobile/android/android-components/.buildconfig.yml @@ -1547,28 +1547,28 @@ projects: @@ -84,7 +84,7 @@ index f9711dc715..519b728df0 100644 +# - components:support-ktx +# - components:support-test +# - components:support-utils -+ # - components:tooling-lint ++# - components:tooling-lint components:lib-dataprotect: description: A component using AndroidKeyStore to protect user data. path: components/lib/dataprotect diff --git a/patches/a-c-overlay/components/feature/search/src/main/assets/search/list.json b/patches/a-c-overlay/components/feature/search/src/main/assets/search/list.json index 06f2723..0401827 100644 --- a/patches/a-c-overlay/components/feature/search/src/main/assets/search/list.json +++ b/patches/a-c-overlay/components/feature/search/src/main/assets/search/list.json @@ -1,9 +1,9 @@ { "default": { "searchDefault": "DuckDuckGo", - "searchOrder": ["DuckDuckGo", "DuckDuckGo (No AI)", "DuckDuckGo (HTML)", "DuckDuckGo (Lite)", "Mojeek", "Mullvad Leta (Brave)", "Mullvad Leta (Google)", "Startpage", "Startpage (EU)", "Wikipedia", "No Search"], + "searchOrder": ["DuckDuckGo", "DuckDuckGo (No AI)", "DuckDuckGo (HTML)", "DuckDuckGo (Lite)", "Marginalia", "Mojeek", "Mullvad Leta (Brave)", "Mullvad Leta (Google)", "Startpage", "Startpage (EU)", "Wikipedia", "No Search"], "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia", "no-search" ] }, "regionOverrides": { @@ -12,784 +12,784 @@ "ach": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia", "no-search" ] } }, "an": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-an", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-an", "no-search" ] } }, "ar": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-ar", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-ar", "no-search" ] } }, "as": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-as", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-as", "no-search" ] } }, "ast": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-ast", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-ast", "no-search" ] } }, "az": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-az", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-az", "no-search" ] } }, "be": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-be", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-be", "no-search" ] } }, "bg": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-bg", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-bg", "no-search" ] } }, "bn": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-bn", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-bn", "no-search" ] } }, "bn-BD": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-bn", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-bn", "no-search" ] } }, "bn-IN": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-bn", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-bn", "no-search" ] } }, "br": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-br", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-br", "no-search" ] } }, "bs": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-bs", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-bs", "no-search" ] } }, "ca": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-ca", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-ca", "no-search" ] } }, "cak": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-es", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-es", "no-search" ] } }, "cs": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-cz", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-cz", "no-search" ] } }, "cy": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-cy", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-cy", "no-search" ] } }, "da": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-da", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-da", "no-search" ] } }, "de": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-de", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-de", "no-search" ] } }, "de-AT": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-de", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-de", "no-search" ] } }, "dsb": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-dsb", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-dsb", "no-search" ] } }, "el": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-el", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-el", "no-search" ] } }, "en-AU": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia", "no-search" ] } }, "en-CA": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia", "no-search" ] } }, "en-IE": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia", "no-search" ] } }, "en-GB": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia", "no-search" ] } }, "en-US": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia", "no-search" ] } }, "en-ZA": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia", "no-search" ] } }, "eo": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-eo", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-eo", "no-search" ] } }, "es-AR": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-es", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-es", "no-search" ] } }, "es-CL": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-es", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-es", "no-search" ] } }, "es-ES": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-es", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-es", "no-search" ] } }, "es-MX": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-es", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-es", "no-search" ] } }, "et": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-et", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-et", "no-search" ] } }, "eu": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-eu", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-eu", "no-search" ] } }, "fa": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-fa", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-fa", "no-search" ] } }, "ff": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-fr", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-fr", "no-search" ] } }, "fi": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-fi", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-fi", "no-search" ] } }, "fr-BE": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-fr", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-fr", "no-search" ] } }, "fr-CA": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-fr", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-fr", "no-search" ] } }, "fr-FR": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-fr", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-fr", "no-search" ] } }, "fr": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-fr", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-fr", "no-search" ] } }, "fy-NL": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-fy-NL", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-fy-NL", "no-search" ] } }, "ga-IE": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-ga-IE", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-ga-IE", "no-search" ] } }, "gd": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-gd", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-gd", "no-search" ] } }, "gl": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-gl", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-gl", "no-search" ] } }, "gn": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-gn", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-gn", "no-search" ] } }, "gu-IN": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-gu", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-gu", "no-search" ] } }, "he": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-he", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-he", "no-search" ] } }, "hi-IN": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-hi", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-hi", "no-search" ] } }, "hr": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-hr", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-hr", "no-search" ] } }, "hsb": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-hsb", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-hsb", "no-search" ] } }, "hu": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-hu", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-hu", "no-search" ] } }, "hy-AM": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-hy-AM", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-hy-AM", "no-search" ] } }, "ia": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-ia", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-ia", "no-search" ] } }, "id": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-id", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-id", "no-search" ] } }, "is": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-is", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-is", "no-search" ] } }, "it": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-it", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-it", "no-search" ] } }, "ja": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-ja", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-ja", "no-search" ] } }, "ka": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-ka", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-ka", "no-search" ] } }, "kab": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-kab", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-kab", "no-search" ] } }, "kk": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-kk", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-kk", "no-search" ] } }, "km": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-km", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-km", "no-search" ] } }, "kn": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-kn", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-kn", "no-search" ] } }, "ko": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-ko", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-ko", "no-search" ] } }, "lij": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-lij", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-lij", "no-search" ] } }, "lo": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-lo", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-lo", "no-search" ] } }, "lt": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-lt", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-lt", "no-search" ] } }, "ltg": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-ltg", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-ltg", "no-search" ] } }, "lv": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-lv", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-lv", "no-search" ] } }, "mai": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-hi", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-hi", "no-search" ] } }, "meh": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-es", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-es", "no-search" ] } }, "mix": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-es", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-es", "no-search" ] } }, "ml": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-ml", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-ml", "no-search" ] } }, "mr": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-mr", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-mr", "no-search" ] } }, "ms": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-ms", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-ms", "no-search" ] } }, "my": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-my", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-my", "no-search" ] } }, "nb-NO": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-NO", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-NO", "no-search" ] } }, "ne-NP": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-ne", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-ne", "no-search" ] } }, "nl-NL": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-nl", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-nl", "no-search" ] } }, "nl": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-nl", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-nl", "no-search" ] } }, "nn-NO": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-NN", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-NN", "no-search" ] } }, "oc": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-oc", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-oc", "no-search" ] } }, "or": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-or", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-or", "no-search" ] } }, "pa-IN": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-pa", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-pa", "no-search" ] } }, "pl": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-pl", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-pl", "no-search" ] } }, "pt-BR": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-pt", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-pt", "no-search" ] } }, "pt-PT": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-pt", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-pt", "no-search" ] } }, "rm": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-rm", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-rm", "no-search" ] } }, "ro": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-ro", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-ro", "no-search" ] } }, "ru": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-ru", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-ru", "no-search" ] } }, "sk": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-sk", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-sk", "no-search" ] } }, "sl": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-sl", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-sl", "no-search" ] } }, "son": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-fr", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-fr", "no-search" ] } }, "sq": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-sq", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-sq", "no-search" ] } }, "sr": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-sr", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-sr", "no-search" ] } }, "sv-SE": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-sv-SE", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-sv-SE", "no-search" ] } }, "ta": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-ta", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-ta", "no-search" ] } }, "te": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-te", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-te", "no-search" ] } }, "th": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-th", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-th", "no-search" ] } }, "tl": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-tl", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-tl", "no-search" ] } }, "tr": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-tr", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-tr", "no-search" ] } }, "trs": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-es", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-es", "no-search" ] } }, "uk": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-uk", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-uk", "no-search" ] } }, "ur": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-ur", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-ur", "no-search" ] } }, "uz": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-uz", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-uz", "no-search" ] } }, "vi": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-vi", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-vi", "no-search" ] } }, "wo": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-wo", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-wo", "no-search" ] } }, "xh": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-xh", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-xh", "no-search" ] } }, "zam": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-es", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-es", "no-search" ] } }, "zh-CN": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-zh-CN", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-zh-CN", "no-search" ] } }, "zh-TW": { "default": { "visibleDefaultEngines": [ - "ddg", "ddgnoai", "ddghtml", "ddglite", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-zh-TW", "no-search" + "ddg", "ddgnoai", "ddghtml", "ddglite", "marginalia", "mojeek", "leta-brave", "leta-google", "startpage", "startpage-eu", "wikipedia-zh-TW", "no-search" ] } } diff --git a/patches/a-c-overlay/components/feature/search/src/main/assets/searchplugins/marginalia.xml b/patches/a-c-overlay/components/feature/search/src/main/assets/searchplugins/marginalia.xml new file mode 100644 index 0000000..c4e9446 --- /dev/null +++ b/patches/a-c-overlay/components/feature/search/src/main/assets/searchplugins/marginalia.xml @@ -0,0 +1,9 @@ + +Marginalia +UTF-8 +data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABhGlDQ1BJQ0MgcHJvZmlsZQAAKJF9kT1Iw0AcxV9TpSKVglYQcchQnSyIijpqFYpQIdQKrTqYXPoFTRqSFhdHwbXg4Mdi1cHFWVcHV0EQ/ABxc3NSdJES/5cUWsR4cNyPd/ced+8AoV5imtUxBmh6xUzGY2I6syoGXuFHP3oxjZDMLGNOkhLwHF/38PH1LsqzvM/9OXrUrMUAn0g8ywyzQrxBPLVZMTjvE4dZQVaJz4lHTbog8SPXFZffOOcdFnhm2Ewl54nDxGK+jZU2ZgVTI54kjqiaTvlC2mWV8xZnrVRlzXvyFwaz+soy12kOIY5FLEGCCAVVFFFCBVFadVIsJGk/5uEfdPwSuRRyFcHIsYAyNMiOH/wPfndr5SbG3aRgDOh8se2PYSCwCzRqtv19bNuNE8D/DFzpLX+5Dsx8kl5raZEjILQNXFy3NGUPuNwBBp4M2ZQdyU9TyOWA9zP6pgzQdwt0r7m9Nfdx+gCkqKvEDXBwCIzkKXvd491d7b39e6bZ3w+EonKuYzVYaAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAuIwAALiMBeKU/dgAAAAd0SU1FB+UDFRMHMjPMJ4IAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAACk0lEQVRYw+2XzW7TUBCFv5kb23FapJS+CrDooiIFsUJC/D4HCNFN1b4BrdTXYNEqsAIEiMfoM1ChpoX8+PoOi7hOQlxUkkI3PdJsfC3f8Zlzjq/l+KTHZUK5ZFw1cOkN1KovBwC899TjdOyqTKxPwvA+I8sykiS9GAaWmk1LG1FZC4u1opKKqtvy8rLt7Oxc7AiOO116XV9UXpSvqIyjoyPMzLa2tmg0knlGoAXNhjg4/P6Ng4MDLAypH6jizDDxRLlixXuIBuLIkcTXrPuzKzXn8LnNL8Jms4lZYG+/zd5+m4Z5EnLqJjg1nA4bbbXu4JxjY2OD3d1d897jnPs3Lniz964sIWAS+PLl01COFlhff8X29mv78OE9YEWdewQjSFEuTL7J04f3x/TvEAK3b68Bgc3NzXLt+YuXtrbWktHT/rKBchMJPHvwGNP+mfe02/ssLi5iZqysrJCmKXmezyLCimQQYxB53r55N7X26Mk9xC/RvGb0a4HE61B8EhdT1vkbAGhkNkE9QC4BlyvIDwASr/8misWEIFUJOPL7auvu6MGqYH7WHJiGMwEZqv93nLLy9fPHUVvJXEFUxUCE4adGcBa63f7FjsAk/8ukGPo+imrz5cAoDwLGn0cwDu8zECHLBmObz5EDAUUqNlNTQvF5Xm3dLXUQx/HFaKAkTrIz8mHkjHERCjFUumZGDWSq1OT4f52IJtHpdLh18wbqIw4X+iwM6kQ2IM4Vr0Ke5yRJgvdD3+ehRwhhHheEkkjnHGmactI5wVzgei8iCTlqDq8CBJwTvB+UaneaYGQQdCyKdTYG0nr9/LYTm/qUNhqN2UfQ6/fllEpVR5b5SraGhw7BKqyuquVoKu199Wt21cBlN/ALqO0yElqlWTEAAAAASUVORK5CYII= + + + +https://marginalia-search.com/ + diff --git a/patches/a-s-configure-default-search-engines.patch b/patches/a-s-configure-default-search-engines.patch index cbf4b8e..250b823 100644 --- a/patches/a-s-configure-default-search-engines.patch +++ b/patches/a-s-configure-default-search-engines.patch @@ -1,8 +1,8 @@ diff --git a/components/remote_settings/src/client.rs b/components/remote_settings/src/client.rs -index f3e54d3..df88777 100644 +index f3e54d3..f0d6786 100644 --- a/components/remote_settings/src/client.rs +++ b/components/remote_settings/src/client.rs -@@ -111,77 +111,11 @@ impl RemoteSettingsClient { +@@ -111,77 +111,12 @@ impl RemoteSettingsClient { "world-buffered", ], ("main", "search-config-icons") => [ @@ -79,6 +79,7 @@ index f3e54d3..df88777 100644 - "fed4f021-ff3e-942a-010e-afa43fda2136", + "7cd086c7-43f6-42fe-a240-17deeeef034b", + "28e347e4-0188-48e4-8d45-45618c985b53", ++ "b71f7782-aaa7-40de-9407-9fd505059b61", + "be7ba9bc-d68f-4ba3-ad3b-4fc0aaea5f3c", ] } diff --git a/patches/a-s-overlay/components/remote_settings/dumps/main/attachments/search-config-icons/b71f7782-aaa7-40de-9407-9fd505059b61 b/patches/a-s-overlay/components/remote_settings/dumps/main/attachments/search-config-icons/b71f7782-aaa7-40de-9407-9fd505059b61 new file mode 100644 index 0000000000000000000000000000000000000000..a1136a7f6ef20e65517dcc7f46705e46e7fff3a2 GIT binary patch literal 1211 zcmV;s1VsCZP)EX>4Tx04R}tkv&MmKpe$iQ>7x6f>sc5$WWauh>ALD6^c+H)C#RSm|Xe=O&XFG z7e~Rh;NZt%)xpJCR|i)?5c~jfb8}L3krMxx6k5c1aNLh~_a1le0HI!Dn$f_we!cF3PjK&;2=i)U3q-pGZ8*46{PKK|Hlt zF*xrNhgm^ZiO-2gO}ZfQBi9v|-#F(T7IZL1yduQB#x+>PWeLG zWtH<5XRTCa&3p0}2DAFgGS_JiA&x~XL4pVcRTNP|1yNdcQY<8CKjz^dbo>&z6mk{8 z$gzMjG{}x0{11M2Yvm@!-K1a)=zOv5k6|FN3p8rB{e5iPjT6BC3|#3gf4L6Ke3D*k zX^|r!v<+Nbw=`uBxZD8-o($QP9m!8q$mM|dGy0|s(02=TuerT7_i_3Fq^PUJ4RCM> zjN~bM-Q(R|?Y;ebrrF;Qgrah;V>MW400006VoOIv00000008+zyMF)x010qNS#tmY zE+YT{E+YYWr9XB6000McNlirueSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{00NUqL_t(o!|j*NZqrZ@g}<2_+i_Z?l)ehE=%OM8u|h)p zJ_iWVP1U{ut<=|G(JHV41c=AzGf<(Xh5Y#X4vV->LR?gmLN`6qY@tJduujTlp z$7MpfWL!0H=?&DXF9!g;_tfKb?5a$xPr~p%Bg-<9B)u30mYPjV8&O#ci?yPXimKc4 z^0Mvh>|E>!jyqj?U0+mQl&`3aqoX6t%(k|+Xf%>}MxX`FhB!F<{*8l!11t=wAE@HY zF!4mWV#Rxi2I9z(#Mi9*vnw^{@VU(|!e+CHSzvF!&E9^ShItZl>LxffoDLgpweH}Y zV`F23-Q8XD-s7D6H!gUy_pU4ri|W7gN^x8vtlzHbFf=E&-P- z$PWM#um2{B#e^VL2{`imYU}Rk!Kz?>)*P6IGXWW@|970S^7Zq_QCrDeK~%*+gyE+~ za2C4V{>6^KB>&5#82UbnYV+m5C=UY0pGPnb?=uh~%LZec&yfQGMJhH^Q$q21UTxhi zbr8q##b}@;PO>xdVdRW)5ehL>x@JZVWUAEU_LU&p`Ya6UL^dGK z6|X{`=Ojsj_e0<3p+^W|9v6g?Naq}BnsU-P!Cc^aFCqy!Y7Vag1e_DRACzi$nqXuQ zbS#Q>HU`pq{rt8QoBEVC8jaaU(Chc*luA`cmibDyhKCNpDy*)m(R.string.pref_key_show_nonsponsored_suggestions).apply { isVisible = context.settings().enableFxSuggest diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt -index 312b5b3de3..f60936b5aa 100644 +index 8e89ba9018..1eb79ee95b 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt +++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt -@@ -2390,7 +2390,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { +@@ -2392,7 +2392,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { */ var enableFxSuggest by lazyFeatureFlagPreference( key = appContext.getPreferenceKey(R.string.pref_key_enable_fxsuggest), @@ -113,7 +113,7 @@ index 312b5b3de3..f60936b5aa 100644 featureFlag = FeatureFlags.FX_SUGGEST, ) -@@ -2415,7 +2415,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { +@@ -2417,7 +2417,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { var showSponsoredSuggestions by lazyFeatureFlagPreference( key = appContext.getPreferenceKey(R.string.pref_key_show_sponsored_suggestions), default = { enableFxSuggest }, @@ -122,7 +122,7 @@ index 312b5b3de3..f60936b5aa 100644 ) /** -@@ -2425,7 +2425,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { +@@ -2427,7 +2427,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { */ var showNonSponsoredSuggestions by lazyFeatureFlagPreference( key = appContext.getPreferenceKey(R.string.pref_key_show_nonsponsored_suggestions), diff --git a/patches/fenix-disable-history-and-recent-search-suggestions-by-default.patch b/patches/fenix-disable-history-and-recent-search-suggestions-by-default.patch index d09adea..fff3bc6 100644 --- a/patches/fenix-disable-history-and-recent-search-suggestions-by-default.patch +++ b/patches/fenix-disable-history-and-recent-search-suggestions-by-default.patch @@ -1,8 +1,8 @@ diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt -index 312b5b3de3..e8c799c3ba 100644 +index 8e89ba9018..d9d8d051e6 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt +++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt -@@ -728,7 +728,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { +@@ -730,7 +730,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { val shouldShowHistorySuggestions by booleanPreference( appContext.getPreferenceKey(R.string.pref_key_search_browsing_history), @@ -11,7 +11,7 @@ index 312b5b3de3..e8c799c3ba 100644 ) val shouldShowBookmarkSuggestions by booleanPreference( -@@ -1501,7 +1501,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { +@@ -1503,7 +1503,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { @VisibleForTesting internal var recentSearchSuggestionsEnabled by booleanPreference( appContext.getPreferenceKey(R.string.pref_key_show_recent_search_suggestions), @@ -20,7 +20,7 @@ index 312b5b3de3..e8c799c3ba 100644 ) /** -@@ -2329,7 +2329,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { +@@ -2331,7 +2331,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { */ var isRecentSearchesVisible by lazyFeatureFlagPreference( key = appContext.getPreferenceKey(R.string.pref_key_enable_recent_searches), diff --git a/patches/fenix-disable-link-sharing.patch b/patches/fenix-disable-link-sharing.patch index decd33d..fb2f80c 100644 --- a/patches/fenix-disable-link-sharing.patch +++ b/patches/fenix-disable-link-sharing.patch @@ -12,10 +12,10 @@ index 4d499da8de..f184263caa 100644 } diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt -index 312b5b3de3..c22757982d 100644 +index 8e89ba9018..b6030701a8 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt +++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt -@@ -981,13 +981,13 @@ class Settings(private val appContext: Context) : PreferencesHolder { +@@ -983,13 +983,13 @@ class Settings(private val appContext: Context) : PreferencesHolder { var whatsappLinkSharingEnabled by lazyFeatureFlagPreference( key = appContext.getPreferenceKey(R.string.pref_key_link_sharing), diff --git a/patches/fenix-disable-microsurveys.patch b/patches/fenix-disable-microsurveys.patch index 05865c5..e9c9725 100644 --- a/patches/fenix-disable-microsurveys.patch +++ b/patches/fenix-disable-microsurveys.patch @@ -12,10 +12,10 @@ index c518b78ce9..333958309d 100644 onPreferenceChangeListener = SharedPreferenceUpdater() } diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt -index 312b5b3de3..69f4244126 100644 +index 8e89ba9018..55848b815d 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt +++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt -@@ -2511,7 +2511,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { +@@ -2513,7 +2513,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { var microsurveyFeatureEnabled by lazyFeatureFlagPreference( key = appContext.getPreferenceKey(R.string.pref_key_microsurvey_feature_enabled), default = { FxNimbus.features.microsurveys.value().enabled }, diff --git a/patches/fenix-disable-nags.patch b/patches/fenix-disable-nags.patch index 5e1c553..5ee78e1 100644 --- a/patches/fenix-disable-nags.patch +++ b/patches/fenix-disable-nags.patch @@ -1,5 +1,5 @@ diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt -index 312b5b3de3..f01f9f1e62 100644 +index 8e89ba9018..615dab9b92 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt +++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt @@ -373,7 +373,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { @@ -29,7 +29,7 @@ index 312b5b3de3..f01f9f1e62 100644 ) var defaultSearchEngineName by stringPreference( -@@ -909,7 +909,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { +@@ -911,7 +911,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { */ var showFirstTimeTranslation: Boolean by booleanPreference( appContext.getPreferenceKey(R.string.pref_key_show_first_time_translation), @@ -38,7 +38,7 @@ index 312b5b3de3..f01f9f1e62 100644 ) /** -@@ -1130,7 +1130,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { +@@ -1132,7 +1132,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { var reEngagementNotificationEnabled by lazyFeatureFlagPreference( key = appContext.getPreferenceKey(R.string.pref_key_re_engagement_notification_enabled), default = { FxNimbus.features.reEngagementNotification.value().enabled }, @@ -47,7 +47,7 @@ index 312b5b3de3..f01f9f1e62 100644 ) /** -@@ -1220,7 +1220,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { +@@ -1222,7 +1222,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { */ var shouldShowCookieBannersCFR by lazyFeatureFlagPreference( appContext.getPreferenceKey(R.string.pref_key_should_show_cookie_banners_action_popup), @@ -56,7 +56,7 @@ index 312b5b3de3..f01f9f1e62 100644 default = { shouldShowCookieBannerUI }, ) -@@ -1231,7 +1231,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { +@@ -1233,7 +1233,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { var hasShownTabSwipeCFR by booleanPreference( appContext.getPreferenceKey(R.string.pref_key_toolbar_has_shown_tab_swipe_cfr), @@ -65,7 +65,7 @@ index 312b5b3de3..f01f9f1e62 100644 ) val blockCookiesSelectionInCustomTrackingProtection by stringPreference( -@@ -1546,12 +1546,12 @@ class Settings(private val appContext: Context) : PreferencesHolder { +@@ -1548,12 +1548,12 @@ class Settings(private val appContext: Context) : PreferencesHolder { var userKnowsAboutPwas by booleanPreference( appContext.getPreferenceKey(R.string.pref_key_user_knows_about_pwa), @@ -80,7 +80,7 @@ index 312b5b3de3..f01f9f1e62 100644 ) val shouldShowOpenInAppCfr: Boolean -@@ -1559,17 +1559,17 @@ class Settings(private val appContext: Context) : PreferencesHolder { +@@ -1561,17 +1561,17 @@ class Settings(private val appContext: Context) : PreferencesHolder { var shouldShowAutoCloseTabsBanner by booleanPreference( appContext.getPreferenceKey(R.string.pref_key_should_show_auto_close_tabs_banner), @@ -101,7 +101,7 @@ index 312b5b3de3..f01f9f1e62 100644 ) /** -@@ -1577,7 +1577,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { +@@ -1579,7 +1579,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { */ var hasInactiveTabsAutoCloseDialogBeenDismissed by booleanPreference( appContext.getPreferenceKey(R.string.pref_key_has_inactive_tabs_auto_close_dialog_dismissed), @@ -110,7 +110,7 @@ index 312b5b3de3..f01f9f1e62 100644 ) /** -@@ -2405,7 +2405,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { +@@ -2407,7 +2407,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { */ var isFirstTimeEngagingWithSignup: Boolean by booleanPreference( appContext.getPreferenceKey(R.string.pref_key_first_time_engage_with_signup), @@ -119,7 +119,7 @@ index 312b5b3de3..f01f9f1e62 100644 ) /** -@@ -2766,7 +2766,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { +@@ -2768,7 +2768,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { FxNimbus.features.setupChecklist.value().enabled && canShowAddSearchWidgetPrompt(AppWidgetManager.getInstance(appContext)) }, diff --git a/patches/fenix-disable-nimbus.patch b/patches/fenix-disable-nimbus.patch index 89716a5..fe01cde 100644 --- a/patches/fenix-disable-nimbus.patch +++ b/patches/fenix-disable-nimbus.patch @@ -144,7 +144,7 @@ index 4d499da8de..e05cecc850 100644 getPreferenceKey(R.string.pref_key_debug_settings), )?.isVisible = showSecretDebugMenuThisSession diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt -index 312b5b3de3..b0c466ff6b 100644 +index 8e89ba9018..66530eed6e 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt +++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt @@ -402,7 +402,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { diff --git a/patches/fenix-disable-password-mgr-and-autofill-by-default.patch b/patches/fenix-disable-password-mgr-and-autofill-by-default.patch index 0cff21f..325ee3e 100644 --- a/patches/fenix-disable-password-mgr-and-autofill-by-default.patch +++ b/patches/fenix-disable-password-mgr-and-autofill-by-default.patch @@ -1,8 +1,8 @@ diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt -index 312b5b3de3..4898b57bb2 100644 +index 8e89ba9018..7b612c56cf 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt +++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt -@@ -1709,12 +1709,12 @@ class Settings(private val appContext: Context) : PreferencesHolder { +@@ -1711,12 +1711,12 @@ class Settings(private val appContext: Context) : PreferencesHolder { var shouldPromptToSaveLogins by booleanPreference( appContext.getPreferenceKey(R.string.pref_key_save_logins), @@ -17,7 +17,7 @@ index 312b5b3de3..4898b57bb2 100644 ) /** -@@ -2027,7 +2027,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { +@@ -2029,7 +2029,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { */ var shouldAutofillCreditCardDetails by booleanPreference( appContext.getPreferenceKey(R.string.pref_key_credit_cards_save_and_autofill_cards), @@ -26,7 +26,7 @@ index 312b5b3de3..4898b57bb2 100644 ) /** -@@ -2038,7 +2038,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { +@@ -2040,7 +2040,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { */ var shouldAutofillAddressDetails by booleanPreference( appContext.getPreferenceKey(R.string.pref_key_addresses_save_and_autofill_addresses), diff --git a/patches/fenix-disable-remote-search-configuration.patch b/patches/fenix-disable-remote-search-configuration.patch index f15d3a0..2900a6b 100644 --- a/patches/fenix-disable-remote-search-configuration.patch +++ b/patches/fenix-disable-remote-search-configuration.patch @@ -12,10 +12,10 @@ index c518b78ce9..18770d5015 100644 onPreferenceChangeListener = object : SharedPreferenceUpdater() { override fun onPreferenceChange(preference: Preference, newValue: Any?): Boolean { diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt -index 312b5b3de3..60e1f93abc 100644 +index 8e89ba9018..dc9cb08494 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt +++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt -@@ -2183,7 +2183,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { +@@ -2185,7 +2185,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { var useRemoteSearchConfiguration by lazyFeatureFlagPreference( key = appContext.getPreferenceKey(R.string.pref_key_use_remote_search_configuration), default = { FxNimbus.features.remoteSearchConfiguration.value().enabled }, diff --git a/patches/fenix-disable-search-suggestions-by-default.patch b/patches/fenix-disable-search-suggestions-by-default.patch index 8c8f7a6..77f407b 100644 --- a/patches/fenix-disable-search-suggestions-by-default.patch +++ b/patches/fenix-disable-search-suggestions-by-default.patch @@ -1,8 +1,8 @@ diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt -index 312b5b3de3..7f0aa7a71c 100644 +index 8e89ba9018..35bb378717 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt +++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt -@@ -1468,7 +1468,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { +@@ -1470,7 +1470,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { val shouldShowSearchSuggestions by booleanPreference( appContext.getPreferenceKey(R.string.pref_key_show_search_suggestions), @@ -11,7 +11,7 @@ index 312b5b3de3..7f0aa7a71c 100644 ) val shouldAutocompleteInAwesomebar by booleanPreference( -@@ -1512,7 +1512,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { +@@ -1514,7 +1514,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { var showSearchSuggestionsInPrivateOnboardingFinished by booleanPreference( appContext.getPreferenceKey(R.string.pref_key_show_search_suggestions_in_private_onboarding), diff --git a/patches/fenix-disable-sync-engines-by-default.patch b/patches/fenix-disable-sync-engines-by-default.patch index 79e7580..bb1a7d8 100644 --- a/patches/fenix-disable-sync-engines-by-default.patch +++ b/patches/fenix-disable-sync-engines-by-default.patch @@ -38,10 +38,10 @@ index 590285305b..3efae229ef 100644 } diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt -index 312b5b3de3..1d97ce1bb2 100644 +index 8e89ba9018..603acd2fe6 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt +++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt -@@ -1959,7 +1959,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { +@@ -1961,7 +1961,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { */ var isAddressSyncEnabled by featureFlagPreference( key = appContext.getPreferenceKey(R.string.pref_key_enable_address_sync), diff --git a/patches/fenix-disable-telemetry.patch b/patches/fenix-disable-telemetry.patch index 9836936..94028bf 100644 --- a/patches/fenix-disable-telemetry.patch +++ b/patches/fenix-disable-telemetry.patch @@ -165,7 +165,7 @@ index 29cd599a82..9999c3220b 100644 @VisibleForTesting diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt -index 312b5b3de3..af6fa12e6c 100644 +index 8e89ba9018..b28f424668 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt +++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt @@ -575,7 +575,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { diff --git a/patches/fenix-disable-trending-search-suggestions-by-default.patch b/patches/fenix-disable-trending-search-suggestions-by-default.patch index c90799c..902908a 100644 --- a/patches/fenix-disable-trending-search-suggestions-by-default.patch +++ b/patches/fenix-disable-trending-search-suggestions-by-default.patch @@ -1,8 +1,8 @@ diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt -index 312b5b3de3..1feb3a40f2 100644 +index 8e89ba9018..48d435bb45 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt +++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt -@@ -1492,7 +1492,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { +@@ -1494,7 +1494,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { @VisibleForTesting internal var trendingSearchSuggestionsEnabled by booleanPreference( appContext.getPreferenceKey(R.string.pref_key_show_trending_search_suggestions), @@ -11,7 +11,7 @@ index 312b5b3de3..1feb3a40f2 100644 ) /** -@@ -2320,7 +2320,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { +@@ -2322,7 +2322,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { */ var isTrendingSearchesVisible by lazyFeatureFlagPreference( key = appContext.getPreferenceKey(R.string.pref_key_enable_trending_searches), diff --git a/patches/fenix-enable-app-icon-selection.patch b/patches/fenix-enable-app-icon-selection.patch index 575ebb6..4d8a5b3 100644 --- a/patches/fenix-enable-app-icon-selection.patch +++ b/patches/fenix-enable-app-icon-selection.patch @@ -1,5 +1,5 @@ diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt -index 312b5b3de3..856bd5905a 100644 +index 8e89ba9018..06475c94e1 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt +++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt @@ -511,7 +511,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { diff --git a/patches/fenix-enable-etp-strict.patch b/patches/fenix-enable-etp-strict.patch index a3e09ec..9f8b942 100644 --- a/patches/fenix-enable-etp-strict.patch +++ b/patches/fenix-enable-etp-strict.patch @@ -1,8 +1,8 @@ diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt -index 312b5b3de3..f65f620019 100644 +index 8e89ba9018..c99035a3db 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt +++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt -@@ -1035,10 +1035,10 @@ class Settings(private val appContext: Context) : PreferencesHolder { +@@ -1037,10 +1037,10 @@ class Settings(private val appContext: Context) : PreferencesHolder { default = false, ) @@ -17,7 +17,7 @@ index 312b5b3de3..f65f620019 100644 var shouldEnableGlobalPrivacyControl by booleanPreference( appContext.getPreferenceKey(R.string.pref_key_privacy_enable_global_privacy_control), -@@ -1145,20 +1145,20 @@ class Settings(private val appContext: Context) : PreferencesHolder { +@@ -1147,20 +1147,20 @@ class Settings(private val appContext: Context) : PreferencesHolder { default = false, ) diff --git a/patches/fenix-enable-https-only-mode-by-default.patch b/patches/fenix-enable-https-only-mode-by-default.patch index 0d0a4a0..d468d75 100644 --- a/patches/fenix-enable-https-only-mode-by-default.patch +++ b/patches/fenix-enable-https-only-mode-by-default.patch @@ -1,8 +1,8 @@ diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt -index 312b5b3de3..3153935cb1 100644 +index 8e89ba9018..6803150177 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt +++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt -@@ -1022,7 +1022,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { +@@ -1024,7 +1024,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { var shouldUseHttpsOnly by booleanPreference( appContext.getPreferenceKey(R.string.pref_key_https_only), diff --git a/patches/fenix-enable-local-network-access-restrictions-by-default.patch b/patches/fenix-enable-local-network-access-restrictions-by-default.patch index b1f909d..f2b045a 100644 --- a/patches/fenix-enable-local-network-access-restrictions-by-default.patch +++ b/patches/fenix-enable-local-network-access-restrictions-by-default.patch @@ -12,10 +12,10 @@ index c518b78ce9..f3818c2a33 100644 onPreferenceChangeListener = object : SharedPreferenceUpdater() { override fun onPreferenceChange(preference: Preference, newValue: Any?): Boolean { diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt -index 312b5b3de3..f9208f141f 100644 +index 8e89ba9018..2cc551946c 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt +++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt -@@ -872,7 +872,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { +@@ -874,7 +874,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { var isLnaBlockingEnabled by lazyFeatureFlagPreference( key = appContext.getPreferenceKey(R.string.pref_key_enable_lna_blocking_enabled), featureFlag = true, diff --git a/patches/fenix-expose-secret-settings.patch b/patches/fenix-expose-secret-settings.patch index daa0c64..cca5229 100644 --- a/patches/fenix-expose-secret-settings.patch +++ b/patches/fenix-expose-secret-settings.patch @@ -88,10 +88,10 @@ index c518b78ce9..436cc72a02 100644 onPreferenceChangeListener = SharedPreferenceUpdater() } diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt -index 312b5b3de3..c34b7f357f 100644 +index 8e89ba9018..ac75a37644 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt +++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt -@@ -749,7 +749,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { +@@ -751,7 +751,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { */ var isShortcutSuggestionsVisible by lazyFeatureFlagPreference( key = appContext.getPreferenceKey(R.string.pref_key_enable_shortcuts_suggestions), @@ -100,7 +100,7 @@ index 312b5b3de3..c34b7f357f 100644 featureFlag = true, ) -@@ -1940,7 +1940,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { +@@ -1942,7 +1942,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { var isTabStripEnabled by booleanPreference( appContext.getPreferenceKey(R.string.pref_key_tab_strip_show), @@ -109,7 +109,7 @@ index 312b5b3de3..c34b7f357f 100644 (isTabStripEligible(appContext) || FxNimbus.features.tabStrip.value().allowOnAllDevices), ) -@@ -1990,7 +1990,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { +@@ -1992,7 +1992,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { "en-CA", "fr-CA", ) @@ -118,7 +118,7 @@ index 312b5b3de3..c34b7f357f 100644 releaseEnabledLanguages + SharedPrefsAddressesDebugLocalesRepository(context) .getAllEnabledLocales().map { it.langTag } } else { -@@ -2166,7 +2166,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { +@@ -2168,7 +2168,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { */ var toolbarRedesignEnabled by booleanPreference( appContext.getPreferenceKey(R.string.pref_key_enable_toolbar_redesign), diff --git a/patches/fenix-force-enable-zoom-by-default.patch b/patches/fenix-force-enable-zoom-by-default.patch index d225757..8b6acf2 100644 --- a/patches/fenix-force-enable-zoom-by-default.patch +++ b/patches/fenix-force-enable-zoom-by-default.patch @@ -1,5 +1,5 @@ diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt -index 312b5b3de3..f3576c99bd 100644 +index 8e89ba9018..316d87f36d 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt +++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt @@ -377,7 +377,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { diff --git a/patches/fenix-hide-remote-debugging-and-reset-per-session.patch b/patches/fenix-hide-remote-debugging-and-reset-per-session.patch index e0337af..dec2579 100644 --- a/patches/fenix-hide-remote-debugging-and-reset-per-session.patch +++ b/patches/fenix-hide-remote-debugging-and-reset-per-session.patch @@ -12,7 +12,7 @@ index 4d499da8de..df086baa43 100644 settings.preferences.edit { putBoolean(preference.key, newValue) } requireComponents.core.engine.settings.remoteDebuggingEnabled = newValue diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt -index 312b5b3de3..b9ca88c804 100644 +index 8e89ba9018..ba72fe61d3 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt +++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt @@ -568,10 +568,10 @@ class Settings(private val appContext: Context) : PreferencesHolder { diff --git a/patches/fenix-ironfox-home.patch b/patches/fenix-ironfox-home.patch index 9651127..0c71912 100644 --- a/patches/fenix-ironfox-home.patch +++ b/patches/fenix-ironfox-home.patch @@ -1,5 +1,5 @@ diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt -index 312b5b3de3..c97e01906f 100644 +index 8e89ba9018..8a20a3df8d 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt +++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt @@ -193,7 +193,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { @@ -60,7 +60,7 @@ index 312b5b3de3..c97e01906f 100644 ) val isCrashReportingEnabled: Boolean -@@ -1478,7 +1480,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { +@@ -1480,7 +1482,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { var defaultTopSitesAdded by booleanPreference( appContext.getPreferenceKey(R.string.default_top_sites_added), diff --git a/patches/fenix-ironfox-settings-support-accessibility-services.patch b/patches/fenix-ironfox-settings-support-accessibility-services.patch index c69dc38..d43a366 100644 --- a/patches/fenix-ironfox-settings-support-accessibility-services.patch +++ b/patches/fenix-ironfox-settings-support-accessibility-services.patch @@ -1,8 +1,8 @@ diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt -index 312b5b3de3..344fd1f7c7 100644 +index 8e89ba9018..cc279fb417 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt +++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt -@@ -1408,7 +1408,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { +@@ -1410,7 +1410,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { accessibilityManager?.getEnabledAccessibilityServiceList(0)?.let { activeServices -> for (service in activeServices) { if (service.capabilities.and(CAPABILITY_CAN_PERFORM_GESTURES) == 1) { @@ -11,7 +11,7 @@ index 312b5b3de3..344fd1f7c7 100644 } } } -@@ -1420,7 +1420,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { +@@ -1422,7 +1422,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { get() { val accessibilityManager = appContext.getSystemService(Context.ACCESSIBILITY_SERVICE) as? AccessibilityManager diff --git a/patches/fenix-ironfox-settings.patch b/patches/fenix-ironfox-settings.patch index 2660533..bacec6d 100644 --- a/patches/fenix-ironfox-settings.patch +++ b/patches/fenix-ironfox-settings.patch @@ -939,7 +939,7 @@ index 4d499da8de..636cefadda 100644 if (profilerStatus) { findPreference(getPreferenceKey(R.string.pref_key_start_profiler))?.title = diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt -index 312b5b3de3..091fd39c7e 100644 +index 8e89ba9018..dd6e9f862e 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt +++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt @@ -72,6 +72,7 @@ import org.mozilla.fenix.wallpapers.Wallpaper @@ -950,7 +950,7 @@ index 312b5b3de3..091fd39c7e 100644 private const val AUTOPLAY_USER_SETTING = "AUTOPLAY_USER_SETTING" -@@ -2793,4 +2794,171 @@ class Settings(private val appContext: Context) : PreferencesHolder { +@@ -2795,4 +2796,171 @@ class Settings(private val appContext: Context) : PreferencesHolder { val cleanupPreferenceKey = appContext.getString(R.string.pref_key_downloads_clean_up_files_automatically) return sharedPreferences.getBoolean(cleanupPreferenceKey, false) } diff --git a/patches/fenix-liberate.patch b/patches/fenix-liberate.patch index 6c889d1..cda42c1 100644 --- a/patches/fenix-liberate.patch +++ b/patches/fenix-liberate.patch @@ -28,10 +28,10 @@ index 1753bcbd86..6efccc5c44 100644 - components:service-pocket - components:service-sync-autofill diff --git a/mobile/android/fenix/app/build.gradle b/mobile/android/fenix/app/build.gradle -index 1f26227889..6df523c176 100644 +index 4f56be19b0..dff2f31d37 100644 --- a/mobile/android/fenix/app/build.gradle +++ b/mobile/android/fenix/app/build.gradle -@@ -613,13 +613,13 @@ dependencies { +@@ -620,13 +620,13 @@ dependencies { implementation project(':components:feature-top-sites') implementation project(':components:feature-webauthn') implementation project(':components:feature-webcompat') @@ -48,7 +48,7 @@ index 1f26227889..6df523c176 100644 implementation project(':components:service-nimbus') implementation project(':components:service-pocket') implementation project(':components:service-sync-autofill') -@@ -638,14 +638,14 @@ dependencies { +@@ -645,14 +645,14 @@ dependencies { implementation project(':components:ui-tabcounter') implementation project(':components:ui-widgets') implementation project(':components:lib-crash') @@ -66,7 +66,7 @@ index 1f26227889..6df523c176 100644 implementation libs.androidx.activity implementation libs.androidx.activity.ktx implementation libs.androidx.annotation -@@ -690,15 +690,15 @@ dependencies { +@@ -697,15 +697,15 @@ dependencies { implementation libs.androidx.viewpager2 implementation libs.androidx.work.runtime implementation libs.google.material @@ -405,7 +405,7 @@ index 4d499da8de..c10fdae6cb 100644 } diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt -index 312b5b3de3..03b1108803 100644 +index 8e89ba9018..c8b5a1e681 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt +++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt @@ -363,7 +363,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { @@ -417,7 +417,7 @@ index 312b5b3de3..03b1108803 100644 default = { FxNimbus.features.customReviewPrompt.value().enabled }, ) -@@ -2152,7 +2152,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { +@@ -2154,7 +2154,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { */ var shouldShowMarketingOnboarding by booleanPreference( appContext.getPreferenceKey(R.string.pref_key_should_show_marketing_onboarding), diff --git a/patches/fenix-overlay/app/src/main/res/values-bg/ironfox_strings.xml b/patches/fenix-overlay/app/src/main/res/values-bg/ironfox_strings.xml index 8c33ad0..f74862e 100644 --- a/patches/fenix-overlay/app/src/main/res/values-bg/ironfox_strings.xml +++ b/patches/fenix-overlay/app/src/main/res/values-bg/ironfox_strings.xml @@ -31,7 +31,7 @@ Активиране на отменяния на защитата с пръстови отпечатъци от Mozilla Отслабва защитата за пръстови отпечатъци за определени уебсайтове по подразбиране, за да намали счупването, използвайки списък от Mozilla - Промяната на тази настройка ще рестартира браузъра ви Активиране на JavaScript Just-in-time компилация (JIT) за разширения - Активира JIT за разширения, когато JIT е деактивиран глобално - Промяната на тази настройка ще рестартира браузъра ви + Когато JIT е деактивиран, той се активира отново за разширения - Промяната на тази настройка ще рестартира браузъра ви Предпочитан външен вид на уебсайта Някои уебсайтове адаптират цветовата си схема въз основа на вашите предпочитания. Изберете коя цветова схема искате да използвате за тези сайтове. Обърнете внимание, че опции, различни от „Светла“, могат да помогнат за разпознаването на пръстови отпечатъци, като направят браузъра ви да изглежда по-уникален. Следвайте темата на браузъра @@ -57,7 +57,7 @@ Настройката на UnifiedPush е променена. Излизане от приложението, за да се приложат промените… Активиране на WebAssembly (WASM) Активиране на WebGL презаписвания от IronFox - Активира WebGL за определени уебсайтове по подразбиране, когато WebGL е деактивиран глобално, за да се намали прекъсването - Промяната на тази настройка ще рестартира браузъра ви + Когато WebGL е деактивиран, WebGL се активира отново по подразбиране за определени уебсайтове, за да се намали прекъсването - Промяната на тази настройка ще рестартира браузъра ви Активиране на WebRTC Инсталирането на добавки в момента е деактивирано. Ако желаете, за сметка на сигурността, можете да го активирате, като отидете в Настройки -> IronFox -> Настройки на IronFox -> Защита -> Разрешаване на инсталирането на добавки. Разрешаване на инсталирането на добавки @@ -70,4 +70,5 @@ Инсталиране на uBlock Origin… Възникна грешка при инсталирането на uBlock Origin: %1$s Опитай отново + Деактивиране на WebGL diff --git a/patches/fenix-overlay/app/src/main/res/values-cs/ironfox_strings.xml b/patches/fenix-overlay/app/src/main/res/values-cs/ironfox_strings.xml index 840ab90..f4d36ca 100644 --- a/patches/fenix-overlay/app/src/main/res/values-cs/ironfox_strings.xml +++ b/patches/fenix-overlay/app/src/main/res/values-cs/ironfox_strings.xml @@ -63,11 +63,12 @@ Povolit přepsání ochrany proti vytváření otisku prohlížeče od organizace Mozilla Uvolní ochranu proti vytváření otisku prohlížeče na určitých stránkách pro snížení jejich nefunkčnosti, použitím seznamu od organizace Mozilla. Změna tohoto nastavení restartuje váš prohlížeč Povolit kompilaci JavaScriptu v reálném čase (JIT) pro rozšíření - Povolí JIT pro rozšíření, i když je JIT globálně zakázán. Změna tohoto nastavení restartuje váš prohlížeč + Pokud je JIT zakázán, tato funkce jej povolí pro rozšíření. Změna tohoto nastavení restartuje váš prohlížeč Zamaskovat časové pásmo na UTC-0 Pokud je povoleno, zvýší ochranu proti vytváření otisku prohlížeče Povolit přepsání maskování časového pásma z projektu IronFox Ve výchozím nastavení zakáže u některých stránek maskování časového pásma pro snížení jejich nefunkčnosti. Změna tohoto nastavení restartuje váš prohlížeč Povolit přepsání WebGL z projektu IronFox - Ve výchozím nastavení povolí WebGL na určitých stránkách, i když je globálně zakázáno, pro snížení nefunkčnosti stránek. Změna tohoto nastavení restartuje váš prohlížeč + Pokud je WebGL zakázán, tato funkce jej povolí na určitých webových stránkách pro snížení nefunkčnosti stránek. Změna tohoto nastavení restartuje váš prohlížeč + Zakázat WebGL diff --git a/patches/fenix-overlay/app/src/main/res/values-es/ironfox_strings.xml b/patches/fenix-overlay/app/src/main/res/values-es/ironfox_strings.xml index 5977d52..9f531d7 100644 --- a/patches/fenix-overlay/app/src/main/res/values-es/ironfox_strings.xml +++ b/patches/fenix-overlay/app/src/main/res/values-es/ironfox_strings.xml @@ -59,7 +59,7 @@ Habilitar Traducciones de Firefox Instalación de extensiones actualmente desactivada. Si lo deseas, a costa de seguridad, puedes habilitarla navegando a Ajustes -> IronFox -> Ajustes de IronFox -> Seguridad -> Permitir instalación de extensiones. Habilita la Compilación Just-in-Time (JIT) de JavaScript para extensiones - Habilita JIT para extensiones cuando JIT está deshabilitado globalmente - Cambiar esta configuración reiniciará el navegador + Cuando JIT está deshabilitado, JIT se habilita para extensiones - Cambiar esta configuración reiniciará el navegador Habilita las excepciones de protección contra el fingerprinting de IronFox Relaja las protecciones contra huellas digitales para ciertos sitios web de forma predeterminada, con el fin de reducir interrupciones, utilizando una lista de IronFox - Cambiar esta configuración reiniciará el navegador Habilitar las excepciones de la protección contra fingerprinting en Mozilla @@ -69,5 +69,6 @@ Habilitar excepciones de simulación de zona horaria de IronFox Desactiva las excepciones de simulación de zona horaria para ciertos sitios web por defecto, con el fin de reducir roturas – Cambiar esta configuración reiniciará el navegador Habilitar excepciones de WebGL de IronFox - Habilita excepciones de WebGL para ciertos sitios web por defecto cuando WebGL está desactivado globalmente, con el fin de reducir roturas – Cambiar esta configuración reiniciará el navegador + Cuando WebGL está deshabilitado, se vuelve a habilitar por defecto para ciertos sitios web con el fin de reducir errores – Cambiar esta configuración reiniciará el navegador + Deshabilitar WebGL diff --git a/patches/fenix-overlay/app/src/main/res/values-et/ironfox_strings.xml b/patches/fenix-overlay/app/src/main/res/values-et/ironfox_strings.xml index d49c5af..bdffff3 100644 --- a/patches/fenix-overlay/app/src/main/res/values-et/ironfox_strings.xml +++ b/patches/fenix-overlay/app/src/main/res/values-et/ironfox_strings.xml @@ -1,7 +1,7 @@ Selle seadistuse muutmine käivitab veebibrauseri uuesti - IronFox + IronFox IronFoxi seadistused Varia Privaatsus @@ -66,9 +66,10 @@ Vältimaks veebisaitide mittetoimimist, ära kasuta tuvastusvastaseid meetmeid Mozilla Foundationi koostatud loendi alusel. Eeldab brauseri uuesti käivitamist Vältimaks veebisaitide mittetoimimist, ära kasuta tuvastusvastaseid meetmeid IronFoxi tiimi koostatud loendi alusel. Eeldab brauseri uuesti käivitamist Kasuta JavaScripti dünaamilist kompileerimist (Just-in-time Compilation ehk JIT) brauseri lisamoodulite puhul - Võimaldab JavaScripti dünaamilise kompileerimise lülitada brauseri lisamoodulite jaoks sisse siis, kui ta muidu on keelatud + Kui JIT muidu on keelatud, siis see eelistus võimaldab JavaScripti dünaamilise kompileerimise lülitada brauseri lisamoodulite jaoks sisse siis. Eeldab sinu veebibrauseri uuesti käivitamist Lõdvenda ajavööndi hämamise võtteid loendi alusel, mille on koostanud IronFox Vältimaks veebisaitide mittetoimimist, ära kasuta ajavööndi hämamist IronFoxi tiimi koostatud loendi alusel. Eeldab brauseri uuesti käivitamist Lõdvenda sinu täpsema tuvastamise vastaseid meetmeid WebGL-i lubamise kontekstis, mille on koostanud IronFox - Vältimaks veebisaitide mittetoimimist, luba mõnedes saitides WebGL-i kasutamist IronFoxi koostatud loendi alusel. Muus osas jääb WebGL keelatuks. Eeldab brauseri uuesti käivitamist + Kui WebGL on lülitatud välja, siis vältimaks veebisaitide mittetoimimist, luba mõnedes valitud saitides WebGL-i kasutamist IronFoxi koostatud loendi alusel. Eeldab sinu veebibrauseri uuesti käivitamist + Lülita WebGL välja diff --git a/patches/fenix-overlay/app/src/main/res/values-fr/ironfox_strings.xml b/patches/fenix-overlay/app/src/main/res/values-fr/ironfox_strings.xml index 332aa11..61f4fd3 100644 --- a/patches/fenix-overlay/app/src/main/res/values-fr/ironfox_strings.xml +++ b/patches/fenix-overlay/app/src/main/res/values-fr/ironfox_strings.xml @@ -53,7 +53,7 @@ Bloquer les publicités, les traqueurs et les logiciels malveillants pour une navigation plus sûre et plus propre. uBlock Origin améliore votre confidentialité et votre sécurité en bloquant le contenu indésirable. IronFox utilise une configuration personnalisée de uBlock Origin avec des listes de filtres sélectionnées pour une protection et des performances optimales. Installation de uBlock Origin… - Une erreur s\'est produite lors de l\'installation de uBlock Origin : %1$s + Une erreur s\'est produite lors de l\'installation de uBlock Origin : %1$s Réessayer Activer les collections Activer traductions de Firefox diff --git a/patches/fenix-overlay/app/src/main/res/values-nl/ironfox_strings.xml b/patches/fenix-overlay/app/src/main/res/values-nl/ironfox_strings.xml index 106e79b..c201321 100644 --- a/patches/fenix-overlay/app/src/main/res/values-nl/ironfox_strings.xml +++ b/patches/fenix-overlay/app/src/main/res/values-nl/ironfox_strings.xml @@ -70,4 +70,5 @@ Aanpassingen van IronFox voor het spoofen van de tijdzone inschakelen Aanpassingen van IronFox voor WebGL inschakelen Schakelt WebGL in voor bepaalde websites om problemen te voorkomen, ook wanneer WebGL globaal is uitgeschakeld - Na wijziging zal de browser opnieuw opstarten + WebGL uitschakelen diff --git a/patches/fenix-overlay/app/src/main/res/values-pt-rBR/ironfox_strings.xml b/patches/fenix-overlay/app/src/main/res/values-pt-rBR/ironfox_strings.xml index 5779ff5..40e2b6a 100644 --- a/patches/fenix-overlay/app/src/main/res/values-pt-rBR/ironfox_strings.xml +++ b/patches/fenix-overlay/app/src/main/res/values-pt-rBR/ironfox_strings.xml @@ -65,7 +65,7 @@ Ativar coleções A instalação de extensões está desativada no momento. Se desejar, em troca de segurança, você pode ativá-la indo até às Configurações -> IronFox -> Configurações do IronFox -> Segurança -> Permitir instalação de extensões. Ativar a compilação Just-In-Time do JavaScript para extensões - Ativa o JIT para extensões quando está desativado globalmente - Ao alterar esta configuração, o seu navegador será reiniciado + Quando o JIT está desativado, reativa o JIT para as extensões - Ao alterar esta configuração, seu navegador será reiniciado Ativar substituições de proteção contra fingerprinting do IronFox Relaxa as proteções contra fingerprinting para certos sites com o fim de reduzir sua quebra, usando uma lista do IronFox - Ao alterar esta configuração, seu navegador será reiniciado Ativar substituições de proteção contra fingerprinting da Mozilla @@ -75,5 +75,6 @@ Ativar substituições de simulação de fuso horário do IronFox Desativa a simulação de fuso horário para certos sites por padrão com o fim de reduzir sua quebra - Ao alterar esta configuração, seu navegador será reiniciado Ativar substituições de WebGL do IronFox - Ativa o WebGL para alguns sites por padrão para reduzir quebra quando o WebGL é desativado globalmente - Ao alterar esta configuração, seu navegador será reiniciado + Quando o WebGL está desativado, reativa ele para alguns sites para reduzir quebra - Ao alterar esta configuração, seu navegador será reiniciado + Desativar WebGL diff --git a/patches/fenix-overlay/app/src/main/res/values-ru/ironfox_strings.xml b/patches/fenix-overlay/app/src/main/res/values-ru/ironfox_strings.xml index 5ef47bb..ec07e5f 100644 --- a/patches/fenix-overlay/app/src/main/res/values-ru/ironfox_strings.xml +++ b/patches/fenix-overlay/app/src/main/res/values-ru/ironfox_strings.xml @@ -63,11 +63,12 @@ Включить переопределения защиты от фингерпринтинга, созданные Mozilla По умолчанию смягчает защиту от фингерпринтинга на некоторых сайтах, чтобы избежать проблем с их работой, используя список исключений от Mozilla - Изменение этого параметра перезапустит браузер Включить JavaScript Just-in-time Compilation (JIT) для расширений - Разрешает использование JIT для расширений, даже если он отключён для всего остального - Изменение этой настройки перезапустит ваш браузер + Пока JIT отключён, автоматически перезапускать JIT для расширений - Изменение этой настройки перезапустит ваш браузер Подменять часовой пояс на UTC-0 При включении усиливает защиту от фингерпринтинга Включить переопределения для подмены часового пояса, созданные IronFox По умолчанию отключает подмену часового пояса на некоторых сайтах, чтобы избежать проблем с их работой - Изменение этой настройки перезапустит браузер Включить переопределения WebGL, созданные IronFox По умолчанию включает WebGL на некоторых сайтах, даже если он отключён для всего браузера, чтобы избежать проблем с их работой - Изменение этой настройки перезапустит браузер + Отключить WebGL diff --git a/patches/fenix-overlay/app/src/main/res/values-tr/ironfox_strings.xml b/patches/fenix-overlay/app/src/main/res/values-tr/ironfox_strings.xml index c284c22..86908ca 100644 --- a/patches/fenix-overlay/app/src/main/res/values-tr/ironfox_strings.xml +++ b/patches/fenix-overlay/app/src/main/res/values-tr/ironfox_strings.xml @@ -63,11 +63,12 @@ Mozilla\'dan parmak izi koruma geçersiz kılmaları etkinleştir Mozilla\'dan bir liste kullanarak bazı web sayfalarında parmak izi korumasını bozulmaları azaltmak için rahatlatır - Bu ayarı değiştirmek tarayıcınızı yeniden başlatacaktır Eklentiler için Javascript Just-in-time Dermelesini (JIT) etkinleştir - JIT genel olarak devre dışı bırakıldığında eklentiler için JIT\'i etkinleştirir. Bu ayarı değiştirmek tarayıcınızı yeniden başlatacaktır + JIT devre dışı bırakıldığında eklentileriniz için JIT\'i etkinleştirir - Bu ayarı değiştirmek tarayıcınızı yeniden başlatacaktır Zaman dilimini UTC-0\'e sahtele Etkinleştirildiğinde parmak izi korumasını güçlendirir IronFox\'tan zaman dilimi sahtelemesinin devre dışı bırakılmasını etkinleştir Zaman dilini sahtelemesini bazı webs sayfalarında bozulmaları azaltmak için devre dışı bırakır - Bu ayarı değiştirmek tarayıcınızı yeniden başlatacaktır IronFox\'tan WebGL devre dışı bırakılmasını etkinleştir - Bazı web sayfalarında bozulmaları azaltmak için genel olarak devre dışı bırakılmasına rağmen etkinleştirir - Bu ayarı değiştirmek tarayıcınızı yeniden başlatacaktır + WebGL devre dışı bırakıldığında bazı web sayfalarında bozulmaları azaltmak için etkinleştirir - Bu ayarı değiştirmek tarayıcınızı yeniden başlatacaktır + WebGL\'i devre dışı bırak diff --git a/patches/fenix-overlay/app/src/main/res/values-uk/ironfox_strings.xml b/patches/fenix-overlay/app/src/main/res/values-uk/ironfox_strings.xml index 92507b0..e963350 100644 --- a/patches/fenix-overlay/app/src/main/res/values-uk/ironfox_strings.xml +++ b/patches/fenix-overlay/app/src/main/res/values-uk/ironfox_strings.xml @@ -36,7 +36,7 @@ Ціною безпеки ви можете ввімкнути JIT для покращення продуктивності вебсайтів. Рекомендовано лише для користувачів із пристроями нижчого класу. Якщо вимкнено, продуктивність складних веб-сторінок може бути знижена. Зміна цього налаштування перезавантажить ваш браузер Увімкнути компіляцію JavaScript Just-in-Time (JIT) для розширень - Вмикає JIT для розширень, коли JIT вимкнено глобально. Зміна цього налаштування перезапустить браузер + Коли JIT вимкнено, повторно вмикає JIT для розширень. Зміна цього налаштування перезавантажить ваш браузер Відкривати PDF-файли зовні Бажаний вигляд веб-сайту Деякі веб-сайти адаптують свою колірну гаму відповідно до ваших уподобань. Виберіть колірну гаму, яку ви хочете використовувати для цих сайтів. Зверніть увагу, що інші параметри, крім «Світлий», можуть сприяти ідентифікації вашого браузера, роблячи його більш унікальним. @@ -57,7 +57,7 @@ Налаштування UnifiedPush змінено. Вихід із програми для застосування змін… Увімкнути WebAssembly (WASM) Увімкнути перевизначення WebGL від IronFox - Вмикає WebGL для певних веб-сайтів за замовчуванням, коли WebGL вимкнено глобально, щоб зменшити поломки. Зміна цього налаштування перезапустить ваш браузер + Коли WebGL вимкнено, WebGL за замовчуванням знову вмикається для певних веб-сайтів, щоб зменшити кількість поломок. Зміна цього налаштування перезавантажить ваш браузер Увімкнути WebRTC Встановлення додатків наразі вимкнено. За бажанням, за рахунок безпеки, ви можете увімкнути його, перейшовши до Налаштування -> IronFox -> Налаштування IronFox -> Безпека -> Дозволити встановлення додатків. Дозволити встановлення доповнень @@ -70,4 +70,5 @@ Встановлення uBlock Origin… Під час встановлення uBlock Origin сталася помилка: %1$s Повторити спробу + Вимкнути WebGL diff --git a/patches/fenix-overlay/app/src/main/res/values/ironfox_strings.xml b/patches/fenix-overlay/app/src/main/res/values/ironfox_strings.xml index 2f720a6..5b09c0e 100644 --- a/patches/fenix-overlay/app/src/main/res/values/ironfox_strings.xml +++ b/patches/fenix-overlay/app/src/main/res/values/ironfox_strings.xml @@ -1,140 +1,110 @@ - - + + - Changing this setting will restart your browser - + Changing this setting will restart your browser - This setting is NOT recommended or supported. Proceed with caution. - + This setting is NOT recommended or supported. Proceed with caution. IronFox - IronFox settings - Miscellaneous - Privacy - Privacy and security - Secret settings - Security - + IronFox settings + Miscellaneous + Privacy + Privacy and security + Secret settings + Security - Enable accessibility services - + Enable accessibility services - Enable collections - + Enable collections - Cross-origin referer policy - Configure the behavior of cross-origin referers - Always send cross-origin referers - Send cross-origin referers when base domains match - Disable cross-origin referers - + Cross-origin referer policy + Configure the behavior of cross-origin referers + Always send cross-origin referers + Send cross-origin referers when base domains match + Disable cross-origin referers - Enable disk cache - + Enable disk cache - Enable Encrypted Media Extensions (EME) - Enable Widevine CDM - + Enable Encrypted Media Extensions (EME) + Enable Widevine CDM - Enable Firefox Translations - + Enable Firefox Translations - Enable fingerprinting protection overrides from IronFox - Relaxes fingerprinting protections for certain websites by default to reduce breakage, using a list from IronFox - Changing this setting will restart your browser - Enable fingerprinting protection overrides from Mozilla - Relaxes fingerprinting protections for certain websites by default to reduce breakage, using a list from Mozilla - Changing this setting will restart your browser - + Enable fingerprinting protection overrides from IronFox + Relaxes fingerprinting protections for certain websites by default to reduce breakage, using a list from IronFox - Changing this setting will restart your browser + Enable fingerprinting protection overrides from Mozilla + Relaxes fingerprinting protections for certain websites by default to reduce breakage, using a list from Mozilla - Changing this setting will restart your browser - Enable IPv6 network connectivity - + Enable IPv6 network connectivity - Enable JavaScript - + Enable JavaScript - Enable JavaScript Just-in-time Compilation (JIT) - Improve JavaScript performance by enabling JIT. (Not recommended for most users) - At the cost of security, you can enable JIT to improve performance of websites. Only recommended for users with lower-end devices. - When disabled, performance may be reduced for complex webpages - Changing this setting will restart your browser - Enable JavaScript Just-in-time Compilation (JIT) for extensions - When JIT is disabled, re-enables JIT for extensions - Changing this setting will restart your browser - + Enable JavaScript Just-in-time Compilation (JIT) + Improve JavaScript performance by enabling JIT. (Not recommended for most users) + At the cost of security, you can enable JIT to improve performance of websites. Only recommended for users with lower-end devices. + When disabled, performance may be reduced for complex webpages - Changing this setting will restart your browser + Enable JavaScript Just-in-time Compilation (JIT) for extensions + When JIT is disabled, re-enables JIT for extensions - Changing this setting will restart your browser - Open PDF files externally - + Open PDF files externally - Preferred website appearance - Some websites adapt their color scheme based on your preferences. Choose which color scheme you’d like to use for those sites. Note that options other than Light can aid fingerprinting by causing your browser to appear more unique. - Follow browser theme - Light - Dark - + Preferred website appearance + Some websites adapt their color scheme based on your preferences. Choose which color scheme you’d like to use for those sites. Note that options other than Light can aid fingerprinting by causing your browser to appear more unique. + Follow browser theme + Light + Dark - Enable printing capabilities - + Enable printing capabilities - Enable Safe Browsing - Get real-time protection against dangerous websites, malware, and phishing attempts. - IronFox’s Safe Browsing functionality is currently provided by Google. IronFox will periodically update the database to ensure users are protected against the latest threats, and upon encountering a potential match, IronFox might submit a partial hash of the suspected URL to Google. Note that IronFox proxies these connections, to prevent your public IP address from being associated with these requests. - Provides real-time protection against dangerous websites, malware, and phishing attempts - Changing this setting will restart your browser - + Enable Safe Browsing + Get real-time protection against dangerous websites, malware, and phishing attempts. + IronFox’s Safe Browsing functionality is currently provided by Google. IronFox will periodically update the database to ensure users are protected against the latest threats, and upon encountering a potential match, IronFox might submit a partial hash of the suspected URL to Google. Note that IronFox proxies these connections, to prevent your public IP address from being associated with these requests. + Provides real-time protection against dangerous websites, malware, and phishing attempts - Changing this setting will restart your browser - Spoof language to en-US - Enhance your privacy by masking your device’s language settings. - Request English (en-US) versions of webpages. This helps your browser appear less unique, strengthening protection against fingerprinting techniques that identify users based on their language preferences. - Request English versions of webpages - When enabled, strengthens fingerprinting protection - + Spoof language to en-US + Enhance your privacy by masking your device’s language settings. + Request English (en-US) versions of webpages. This helps your browser appear less unique, strengthening protection against fingerprinting techniques that identify users based on their language preferences. + Request English versions of webpages + When enabled, strengthens fingerprinting protection - Spoof timezone to UTC-0 - When enabled, strengthens fingerprinting protection - Enable timezone spoofing overrides from IronFox - Disables timezone spoofing for certain websites by default to reduce breakage - Changing this setting will restart your browser - + Spoof timezone to UTC-0 + When enabled, strengthens fingerprinting protection + Enable timezone spoofing overrides from IronFox + Disables timezone spoofing for certain websites by default to reduce breakage - Changing this setting will restart your browser - Enable Scalable Vector Graphics (SVG) - + Enable Scalable Vector Graphics (SVG) - Enable UnifiedPush + Enable UnifiedPush - Use UnifiedPush + Use UnifiedPush - UnifiedPush setting modified. Quitting the application to apply changes… - + UnifiedPush setting modified. Quitting the application to apply changes… - Enable WebAssembly (WASM) - + Enable WebAssembly (WASM) - Disable WebGL - Enable WebGL overrides from IronFox - When WebGL is disabled, re-enables WebGL for certain websites by default to reduce breakage - Changing this setting will restart your browser - + Disable WebGL + Enable WebGL overrides from IronFox + When WebGL is disabled, re-enables WebGL for certain websites by default to reduce breakage - Changing this setting will restart your browser - Enable WebRTC - + Enable WebRTC - Installation of add-ons is currently disabled. If desired, at the cost of security, you can enable it by navigating to Settings -> IronFox -> IronFox settings -> Security -> Allow installation of add-ons. - Allow installation of add-ons - + Installation of add-ons is currently disabled. If desired, at the cost of security, you can enable it by navigating to Settings -> IronFox -> IronFox settings -> Security -> Allow installation of add-ons. + Allow installation of add-ons - Customize IronFox - Customize IronFox to suit your liking - + Customize IronFox + Customize IronFox to suit your liking - Secure your browsing with DNS-over-HTTPS for enhanced privacy and security. + Secure your browsing with DNS-over-HTTPS for enhanced privacy and security. - - Install uBlock Origin - Block ads, trackers, and malware for a safer, cleaner browsing experience. - uBlock Origin enhances your privacy and security by blocking unwanted content. IronFox uses a custom uBlock Origin configuration with curated filter lists for optimal protection and performance. - + Install uBlock Origin + Block ads, trackers, and malware for a safer, cleaner browsing experience. + uBlock Origin enhances your privacy and security by blocking unwanted content. IronFox uses a custom uBlock Origin configuration with curated filter lists for optimal protection and performance. - Installing uBlock Origin… - An error occurred while installing uBlock Origin: %1$s - + Installing uBlock Origin… + An error occurred while installing uBlock Origin: %1$s - Retry + Retry diff --git a/patches/fenix-remove-glean.patch b/patches/fenix-remove-glean.patch index 4d0e410..80e15e1 100644 --- a/patches/fenix-remove-glean.patch +++ b/patches/fenix-remove-glean.patch @@ -350,7 +350,7 @@ index 819b24954e..273349e0ca 100644 SupportUtils.getMozillaPageUrl(SupportUtils.MozillaPage.MANIFESTO), ) diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt -index 312b5b3de3..5045491116 100644 +index 8e89ba9018..8258dcafa1 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt +++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt @@ -38,7 +38,7 @@ import org.mozilla.experiments.nimbus.NimbusEventStore diff --git a/patches/fenix-remove-tos-privacy-policy.patch b/patches/fenix-remove-tos-privacy-policy.patch index b9924e4..a2f24b1 100644 --- a/patches/fenix-remove-tos-privacy-policy.patch +++ b/patches/fenix-remove-tos-privacy-policy.patch @@ -122,7 +122,7 @@ index 92a8a9a36d..c67e70ba65 100644 lineThreeState, ), diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt -index 312b5b3de3..3f93f28f4d 100644 +index 8e89ba9018..8c8e194672 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt +++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt @@ -590,7 +590,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { diff --git a/patches/fenix-sanitize-data-on-exit-by-default.patch b/patches/fenix-sanitize-data-on-exit-by-default.patch index 0ae9042..79dad11 100644 --- a/patches/fenix-sanitize-data-on-exit-by-default.patch +++ b/patches/fenix-sanitize-data-on-exit-by-default.patch @@ -1,8 +1,8 @@ diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt -index 312b5b3de3..67fcc75f56 100644 +index 8e89ba9018..4f67e47815 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt +++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt -@@ -1332,7 +1332,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { +@@ -1334,7 +1334,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { var shouldDeleteBrowsingDataOnQuit by booleanPreference( appContext.getPreferenceKey(R.string.pref_key_delete_browsing_data_on_quit), @@ -11,7 +11,7 @@ index 312b5b3de3..67fcc75f56 100644 ) var deleteOpenTabs by booleanPreference( -@@ -1428,8 +1428,17 @@ class Settings(private val appContext: Context) : PreferencesHolder { +@@ -1430,8 +1430,17 @@ class Settings(private val appContext: Context) : PreferencesHolder { return touchExplorationIsEnabled || switchServiceIsEnabled } diff --git a/patches/gecko-overlay/mobile/android/branding/ironfox-nightly/moz.build b/patches/gecko-overlay/mobile/android/branding/ironfox-nightly/moz.build index d3c8bbe..e9b5caf 100644 --- a/patches/gecko-overlay/mobile/android/branding/ironfox-nightly/moz.build +++ b/patches/gecko-overlay/mobile/android/branding/ironfox-nightly/moz.build @@ -4,4 +4,4 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. -DIRS += ["about", "content", "locales"] +DIRS += ["about", "content", "dumps", "locales"] diff --git a/patches/gecko-overlay/services/settings/dumps/main/ironfox-fingerprinting-protection-overrides-harden.json b/patches/gecko-overlay/mobile/android/branding/ironfox/dumps/ironfox-fingerprinting-protection-overrides-harden.json similarity index 98% rename from patches/gecko-overlay/services/settings/dumps/main/ironfox-fingerprinting-protection-overrides-harden.json rename to patches/gecko-overlay/mobile/android/branding/ironfox/dumps/ironfox-fingerprinting-protection-overrides-harden.json index 2a67f28..68aad6f 100644 --- a/patches/gecko-overlay/services/settings/dumps/main/ironfox-fingerprinting-protection-overrides-harden.json +++ b/patches/gecko-overlay/mobile/android/branding/ironfox/dumps/ironfox-fingerprinting-protection-overrides-harden.json @@ -852,6 +852,10 @@ "overrides": "+CanvasExtractionBeforeUserInputIsBlocked,+CanvasImageExtractionPrompt", "firstPartyDomain": "animepahe.ru" }, + { + "overrides": "+CanvasExtractionBeforeUserInputIsBlocked,+CanvasImageExtractionPrompt", + "firstPartyDomain": "annas-archive.org" + }, { "overrides": "+CanvasExtractionBeforeUserInputIsBlocked,+CanvasImageExtractionPrompt", "firstPartyDomain": "apple.com" @@ -896,6 +900,14 @@ "overrides": "+CanvasExtractionBeforeUserInputIsBlocked,+CanvasImageExtractionPrompt,+CSSPrefersColorScheme,+FrameRate,+JSDateTimeUTC,+JSLocale", "firstPartyDomain": "goo.gl" }, + { + "overrides": "+CanvasExtractionBeforeUserInputIsBlocked,+CanvasImageExtractionPrompt", + "firstPartyDomain": "hoyoverse.com" + }, + { + "overrides": "+CanvasExtractionBeforeUserInputIsBlocked,+CanvasImageExtractionPrompt", + "firstPartyDomain": "klippy.pro" + }, { "overrides": "+CanvasExtractionBeforeUserInputIsBlocked,+CanvasImageExtractionPrompt", "firstPartyDomain": "kroger.com" diff --git a/patches/gecko-overlay/services/settings/dumps/main/ironfox-fingerprinting-protection-overrides-unbreak-timezone.json b/patches/gecko-overlay/mobile/android/branding/ironfox/dumps/ironfox-fingerprinting-protection-overrides-unbreak-timezone.json similarity index 100% rename from patches/gecko-overlay/services/settings/dumps/main/ironfox-fingerprinting-protection-overrides-unbreak-timezone.json rename to patches/gecko-overlay/mobile/android/branding/ironfox/dumps/ironfox-fingerprinting-protection-overrides-unbreak-timezone.json diff --git a/patches/gecko-overlay/services/settings/dumps/main/ironfox-fingerprinting-protection-overrides-unbreak-webgl.json b/patches/gecko-overlay/mobile/android/branding/ironfox/dumps/ironfox-fingerprinting-protection-overrides-unbreak-webgl.json similarity index 82% rename from patches/gecko-overlay/services/settings/dumps/main/ironfox-fingerprinting-protection-overrides-unbreak-webgl.json rename to patches/gecko-overlay/mobile/android/branding/ironfox/dumps/ironfox-fingerprinting-protection-overrides-unbreak-webgl.json index 05408d1..4773a36 100644 --- a/patches/gecko-overlay/services/settings/dumps/main/ironfox-fingerprinting-protection-overrides-unbreak-webgl.json +++ b/patches/gecko-overlay/mobile/android/branding/ironfox/dumps/ironfox-fingerprinting-protection-overrides-unbreak-webgl.json @@ -12,6 +12,18 @@ "overrides": "-DisableWebGL", "firstPartyDomain": "alula.me" }, + { + "overrides": "-DisableWebGL", + "firstPartyDomain": "annas-archive.li" + }, + { + "overrides": "-DisableWebGL", + "firstPartyDomain": "annas-archive.org" + }, + { + "overrides": "-DisableWebGL", + "firstPartyDomain": "annas-archive.se" + }, { "overrides": "-DisableWebGL", "firstPartyDomain": "apple.com" @@ -36,6 +48,10 @@ "overrides": "-DisableWebGL", "firstPartyDomain": "cartes.app" }, + { + "overrides": "-DisableWebGL", + "firstPartyDomain": "comaps.at" + }, { "overrides": "-DisableWebGL", "firstPartyDomain": "coolmath4kids.com" @@ -48,6 +64,10 @@ "overrides": "-DisableWebGL", "firstPartyDomain": "crazygames.com" }, + { + "overrides": "-DisableWebGL", + "firstPartyDomain": "dndbeyond.com" + }, { "overrides": "-DisableWebGL", "firstPartyDomain": "doordash.com" @@ -84,10 +104,18 @@ "overrides": "-DisableWebGL", "firstPartyDomain": "gsi.go.jp" }, + { + "overrides": "-DisableWebGL", + "firstPartyDomain": "hoyoverse.com" + }, { "overrides": "-DisableWebGL", "firstPartyDomain": "jerseymikes.com" }, + { + "overrides": "-DisableWebGL", + "firstPartyDomain": "klippy.pro" + }, { "overrides": "-DisableWebGL", "firstPartyDomain": "krunker.io" @@ -120,6 +148,10 @@ "overrides": "-DisableWebGL", "firstPartyDomain": "panerabread.com" }, + { + "overrides": "-DisableWebGL", + "firstPartyDomain": "paxhistoria.co" + }, { "overrides": "-DisableWebGL", "firstPartyDomain": "pogospike.com" @@ -144,6 +176,10 @@ "overrides": "-DisableWebGL", "firstPartyDomain": "tojicode.com" }, + { + "overrides": "-DisableWebGL", + "firstPartyDomain": "tripo3d.ai" + }, { "overrides": "-DisableWebGL", "firstPartyDomain": "usgs.gov" @@ -172,6 +208,10 @@ "overrides": "-DisableWebGL", "firstPartyDomain": "wplace.live" }, + { + "overrides": "-DisableWebGL", + "firstPartyDomain": "x.ai" + }, { "overrides": "-DisableWebGL", "firstPartyDomain": "zennioptical.com", diff --git a/patches/gecko-overlay/services/settings/dumps/main/ironfox-fingerprinting-protection-overrides-unbreak.json b/patches/gecko-overlay/mobile/android/branding/ironfox/dumps/ironfox-fingerprinting-protection-overrides-unbreak.json similarity index 95% rename from patches/gecko-overlay/services/settings/dumps/main/ironfox-fingerprinting-protection-overrides-unbreak.json rename to patches/gecko-overlay/mobile/android/branding/ironfox/dumps/ironfox-fingerprinting-protection-overrides-unbreak.json index fe06aa5..0a95ff6 100644 --- a/patches/gecko-overlay/services/settings/dumps/main/ironfox-fingerprinting-protection-overrides-unbreak.json +++ b/patches/gecko-overlay/mobile/android/branding/ironfox/dumps/ironfox-fingerprinting-protection-overrides-unbreak.json @@ -12,6 +12,11 @@ "overrides": "-CanvasExtractionBeforeUserInputIsBlocked,-CanvasImageExtractionPrompt", "firstPartyDomain": "bsky.app" }, + { + "overrides": "-CanvasExtractionBeforeUserInputIsBlocked,-CanvasExtractionFromThirdPartiesIsBlocked,-CanvasImageExtractionPrompt", + "firstPartyDomain": "cryptpad.fr", + "thirdPartyDomain": "cryptpad.info" + }, { "overrides": "-CanvasExtractionBeforeUserInputIsBlocked,-CanvasImageExtractionPrompt", "firstPartyDomain": "discord.com" diff --git a/patches/gecko-overlay/mobile/android/branding/ironfox/dumps/moz.build b/patches/gecko-overlay/mobile/android/branding/ironfox/dumps/moz.build new file mode 100644 index 0000000..408f900 --- /dev/null +++ b/patches/gecko-overlay/mobile/android/branding/ironfox/dumps/moz.build @@ -0,0 +1,12 @@ +# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- +# vim: set filetype=python: +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +FINAL_TARGET_FILES.defaults.settings.main += [ + "ironfox-fingerprinting-protection-overrides-harden.json", + "ironfox-fingerprinting-protection-overrides-unbreak-timezone.json", + "ironfox-fingerprinting-protection-overrides-unbreak-webgl.json", + "ironfox-fingerprinting-protection-overrides-unbreak.json", +] diff --git a/patches/gecko-overlay/mobile/android/branding/ironfox/moz.build b/patches/gecko-overlay/mobile/android/branding/ironfox/moz.build index d3c8bbe..e9b5caf 100644 --- a/patches/gecko-overlay/mobile/android/branding/ironfox/moz.build +++ b/patches/gecko-overlay/mobile/android/branding/ironfox/moz.build @@ -4,4 +4,4 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. -DIRS += ["about", "content", "locales"] +DIRS += ["about", "content", "dumps", "locales"] diff --git a/patches/gecko-support-policies.patch b/patches/gecko-support-policies.patch index d824a7e..8408b9e 100644 --- a/patches/gecko-support-policies.patch +++ b/patches/gecko-support-policies.patch @@ -37,7 +37,7 @@ index 7b81c01e71..fa4dba3ed0 100644 "geckoview", ] diff --git a/toolkit/components/enterprisepolicies/EnterprisePoliciesParent.sys.mjs b/toolkit/components/enterprisepolicies/EnterprisePoliciesParent.sys.mjs -index 2bfec5537e..01554fa9ec 100644 +index 2bfec5537e18..2ce2166612d0 100644 --- a/toolkit/components/enterprisepolicies/EnterprisePoliciesParent.sys.mjs +++ b/toolkit/components/enterprisepolicies/EnterprisePoliciesParent.sys.mjs @@ -506,7 +506,7 @@ let InstallSources = null; @@ -49,7 +49,7 @@ index 2bfec5537e..01554fa9ec 100644 } get hasPolicies() { -@@ -613,6 +613,901 @@ class JSONPoliciesProvider { +@@ -613,6 +613,905 @@ class JSONPoliciesProvider { } } } @@ -157,6 +157,10 @@ index 2bfec5537e..01554fa9ec 100644 + ], + blocked_install_message: "I am Iron Man." + }, ++ "{2b71ab6f-cc0d-4ff8-b482-470f988d5c19}": { ++ installation_mode: "blocked", ++ blocked_install_message: "'Tamper monkey' https://addons.mozilla.org/addon/{2b71ab6f-cc0d-4ff8-b482-470f988d5c19} - Fake/scam/impersonation, masquerading as the well known 'Tampermonkey' extension" ++ }, + "{03fdf33c-f6b1-4992-992e-f4115ab16ee0}": { + installation_mode: "blocked", + blocked_install_message: "'BrowsingBloc' https://addons.mozilla.org/addon/{03fdf33c-f6b1-4992-992e-f4115ab16ee0} - Fake/scam/impersonation, masquerading as the well known 'Adblock' extension (which itself is also quite sketchy...)" diff --git a/patches/preferences/ironfox.js b/patches/preferences/ironfox.js index 8c4bfdf..919528d 100644 --- a/patches/preferences/ironfox.js +++ b/patches/preferences/ironfox.js @@ -40,6 +40,11 @@ pref("browser.ironfox.extensions.blocklist.enabled", true); // [DEFAULT] /// Ensure EME is always/only controlled by the UI/permission prompt pref("media.eme.require-app-approval", true, locked); // [DEFAULT] +/// Ensure ToU/pre-onboarding is disabled +// We only need this temporarily, fixed for next Phoenix release +// This was previously only referenced in browser (Firefox Desktop) code, but it's now present in toolit +pref("browser.preonboarding.enabled", false); // [HIDDEN] + /// Lock prefs controlled by UI settings // This prevents prefs from becoming out of sync with the corresponding UI toggle(s)/behavior in Fenix // Modifying these prefs directly from `about:config` also causes them to reset on the next browser launch, which users probably do not want/expect diff --git a/scripts/prebuild.sh b/scripts/prebuild.sh index 93336a1..29fd398 100755 --- a/scripts/prebuild.sh +++ b/scripts/prebuild.sh @@ -674,10 +674,6 @@ echo 'FINAL_TARGET_FILES.defaults.settings.main += [' >>services/settings/dumps/ echo ' "anti-tracking-url-decoration.json",' >>services/settings/dumps/main/moz.build echo ' "cookie-banner-rules-list.json",' >>services/settings/dumps/main/moz.build echo ' "hijack-blocklists.json",' >>services/settings/dumps/main/moz.build -echo ' "ironfox-fingerprinting-protection-overrides-harden.json",' >>services/settings/dumps/main/moz.build -echo ' "ironfox-fingerprinting-protection-overrides-unbreak-timezone.json",' >>services/settings/dumps/main/moz.build -echo ' "ironfox-fingerprinting-protection-overrides-unbreak-webgl.json",' >>services/settings/dumps/main/moz.build -echo ' "ironfox-fingerprinting-protection-overrides-unbreak.json",' >>services/settings/dumps/main/moz.build echo ' "translations-models.json",' >>services/settings/dumps/main/moz.build echo ' "translations-wasm.json",' >>services/settings/dumps/main/moz.build echo ' "url-classifier-skip-urls.json",' >>services/settings/dumps/main/moz.build @@ -1196,5 +1192,6 @@ apply_overlay "$patches/gecko-overlay/" # Copy certain assets shared between release and nightly cp -vrf "$patches/gecko-overlay/mobile/android/branding/ironfox/about" mobile/android/branding/ironfox-nightly +cp -vrf "$patches/gecko-overlay/mobile/android/branding/ironfox/dumps" mobile/android/branding/ironfox-nightly popd diff --git a/scripts/versions.sh b/scripts/versions.sh index 1b52bf2..315b925 100644 --- a/scripts/versions.sh +++ b/scripts/versions.sh @@ -2,7 +2,7 @@ # shellcheck disable=SC2034 # Sources -FIREFOX_VERSION="144.0.1" +FIREFOX_VERSION="144.0.2" IRONFOX_VERSION="${FIREFOX_VERSION}" FIREFOX_RELEASE_TAG="FIREFOX-ANDROID_${FIREFOX_VERSION//./_}_RELEASE" #FIREFOX_RELEASE_TAG="FIREFOX-ANDROID_${FIREFOX_VERSION//./_}_BUILD1" @@ -12,7 +12,7 @@ WASI_TAG="wasi-sdk-20" GLEAN_VERSION="65.0.2" GLEAN_TAG="v${GLEAN_VERSION}" GMSCORE_TAG="v0.3.10.250932" -PHOENIX_TAG="2025.10.12.1" +PHOENIX_TAG="2025.10.26.1" APPSERVICES_BRANCH="release-v144" # Tools