mirror of
https://github.com/ironfox-oss/IronFox.git
synced 2026-01-17 18:41:24 -05:00
ironfox-oss/IronFox!92 ____ ## Changes - [Added a separate toggle in settings to enable/disable JIT for **extensions**](48a42e213a) when JIT is otherwise disabled globally *(**Disabled** by default)*, located at `Settings` -> `IronFox` -> `IronFox settings` -> `Security` -> **`Enable JavaScript Just-in-time Compilation (JIT) for extensions`**. - [Added support for natively enabling/disabling WebGL per-site](5e1acb19a6) via FPP overrides. **It is now recommended to disable the uBlock Origin `Block WebGL` lists** *(The `Block WebGL` lists will be removed from the uBlock Origin config entirely in the near future, but we're keeping them for now to ex. give users time to update)*. See [Notes](#notes) below for details, such as how you can manually allow desired websites to use WebGL. - [Added a toggle in settings to enable or disable our default WebGL overrides](c9298799ee) *(**Enabled** by default)*, located at `Settings` -> `IronFox` -> `IronFox settings` -> `Privacy` -> **`Enable WebGL overrides from IronFox`**. When WebGL is enabled, this setting enables WebGL by default for certain websites, to reduce breakage/unexpected behavior. Note that this list is **NOT** fetched/updated remotely. - [Added a toggle in settings to enable or disable spoofing the timezone to `UTC-0`](c8cb5064e4) *(**Disabled** by default)*, located at `Settings` -> `IronFox` -> `IronFox settings` -> `Privacy` -> **`Spoof timezone to UTC-0`**. - [Added a toggle in settings to enable or disable our default timezone overrides](c8cb5064e4) *(**Enabled** by default)*, located at `Settings` -> `IronFox` -> `IronFox settings` -> `Privacy` -> **`Enable timezone spoofing overrides from IronFox`**. When timezone spoofing is enabled, this setting disables timezone spoofing by default for certain websites, to reduce breakage/unexpected behavior. Note that this list is **NOT** fetched/updated remotely. - [Added a toggle in settings to enable or disable *Mozilla's* default fingerprinting protection overrides](64e3706be8) to reduce website breakage *(**Enabled** by default)*, located at `Settings` -> `IronFox` -> `IronFox settings` -> `Privacy` -> **`Enable fingerprinting protection overrides from Mozilla`**. Note that this list **IS** fetched/updated remotely. - [Added a toggle in settings to enable or disable *our* default fingerprinting protection overrides](64e3706be8) to reduce website breakage *(**Enabled** by default)*, located at `Settings` -> `IronFox` -> `IronFox settings` -> `Privacy` -> **`Enable fingerprinting protection overrides from IronFox`**. This toggle does **not** disable fingerprinting protection overrides that we set to **harden** protection for certain websites. Note that this list is **NOT** fetched/updated remotely. - [Implemented](522770b2dc) [Phoenix's extension blocklist](https://codeberg.org/celenity/Phoenix/src/branch/pages/build/policies/blocklist.json) to block malicious/phishing/sketchy extensions. - [Locked Gecko preferences controlled by UI settings](bc9df5c52c) *(See [details](https://gitlab.com/ironfox-oss/IronFox/-/blob/dev/docs/FAQ.md#why-are-certain-preferences-locked))*. - [Prevented the JIT toggle from controlling `javascript.options.main_process_disable_jit`](8171a4da48), as this pref is not required for JIT to function, and is preferable to leave on - even when JIT is enabled, to improve security. - Updated to Firefox [`144.0`](https://firefox.com/firefox/android/144.0/releasenotes/). - Updated microG to [`v0.3.10.250932`](https://github.com/microg/GmsCore/releases/tag/v0.3.10.250932). - Updated Phoenix to [`2025.10.12.1`](https://codeberg.org/celenity/Phoenix/releases/tag/2025.10.12.1). - [Other minor tweaks, adjustments, and enhancements](https://gitlab.com/ironfox-oss/IronFox/-/merge_requests/92/diffs). ## Notes You can manually allow websites to use WebGL with the `privacy.fingerprintingProtection.granularOverrides` preference at `about:config`. For instance, if I want to allow **`example.com`** to use WebGL, I would set the value of `privacy.fingerprintingProtection.granularOverrides` to: ```sh [{"firstPartyDomain":"example.com","overrides":"-DisableWebGL"}] ``` If I *also* wanted to allow `example2.com`, I'd set the value to: ```sh [{"firstPartyDomain":"example.com","overrides":"-DisableWebGL"},{"firstPartyDomain":"example2.com","overrides":"-DisableWebGL"}] ``` **[Please report websites that require WebGL to us if possible](https://gitlab.com/ironfox-oss/IronFox/-/issues)**, so that we can investigate and potentially add them to the default WebGL overrides list. MR-author: celenity <celenity@celenity.dev> Co-authored-by: Weblate <hosted@weblate.org> Co-authored-by: Akash Yadav <itsaky01@gmail.com> Approved-by: celenity <celenity@celenity.dev> Merged-by: celenity <celenity@celenity.dev>
66 lines
2.1 KiB
Bash
Executable File
66 lines
2.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
PLATFORM_VERSION="36"
|
|
BUILDTOOLS_VERSION="36.0.0"
|
|
NDK_REVISION="28.2.13676358"
|
|
SDK_REVISION="13114758"
|
|
|
|
if [[ "${ANDROID_HOME+x}" == "" ]]; then
|
|
export ANDROID_HOME=$HOME/android-sdk
|
|
fi
|
|
|
|
if [[ "$OSTYPE" == "darwin"* ]]; then
|
|
PLATFORM=mac
|
|
else
|
|
PLATFORM=linux
|
|
fi
|
|
|
|
ANDROID_SDK_FILE=commandlinetools-${PLATFORM}-${SDK_REVISION}_latest.zip
|
|
|
|
export ANDROID_SDK_ROOT="$ANDROID_HOME"
|
|
|
|
if [ ! -d "$ANDROID_HOME" ]; then
|
|
mkdir -vp "$ANDROID_HOME"
|
|
cd "$ANDROID_HOME/.." || exit 1
|
|
rm -Rf "$(basename "$ANDROID_HOME")"
|
|
|
|
# https://developer.android.com/studio/index.html#command-tools
|
|
echo "Downloading Android SDK..."
|
|
wget --https-only --no-cache --secure-protocol=TLSv1_3 --show-progress --verbose https://dl.google.com/android/repository/${ANDROID_SDK_FILE} -O tools-$SDK_REVISION.zip
|
|
rm -Rf "$ANDROID_HOME"
|
|
mkdir -vp "$ANDROID_HOME/cmdline-tools"
|
|
unzip -q tools-$SDK_REVISION.zip -d "$ANDROID_HOME/cmdline-tools"
|
|
mv -v "$ANDROID_HOME/cmdline-tools/cmdline-tools" "$ANDROID_HOME/cmdline-tools/latest"
|
|
rm -vf tools-$SDK_REVISION.zip
|
|
fi
|
|
|
|
if [ -x "$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager" ]; then
|
|
SDK_MANAGER="$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager"
|
|
elif [ -x "$ANDROID_HOME/cmdline-tools/bin/sdkmanager" ]; then
|
|
SDK_MANAGER="$ANDROID_HOME/cmdline-tools/bin/sdkmanager"
|
|
else
|
|
echo "ERROR: no usable sdkmanager found in $ANDROID_HOME" >&2
|
|
echo "Checking other possible paths: (empty if not found)" >&2
|
|
find "$ANDROID_HOME" -type f -name sdkmanager >&2
|
|
return
|
|
fi
|
|
|
|
PATH=$PATH:$(dirname "$SDK_MANAGER")
|
|
export PATH
|
|
|
|
# Accept licenses
|
|
{ yes || true; } | sdkmanager --sdk_root="$ANDROID_HOME" --licenses
|
|
|
|
$SDK_MANAGER "build-tools;$BUILDTOOLS_VERSION" # for GeckoView
|
|
$SDK_MANAGER "platforms;android-$PLATFORM_VERSION" # for GeckoView
|
|
$SDK_MANAGER "ndk;$NDK_REVISION" # for mozbuild; application-services
|
|
|
|
export ANDROID_NDK="$ANDROID_HOME/ndk/$NDK_REVISION"
|
|
[ -d "$ANDROID_NDK" ] || {
|
|
echo "$ANDROID_NDK does not exist."
|
|
return
|
|
}
|
|
|
|
echo "INFO: Using sdkmanager ... $SDK_MANAGER"
|
|
echo "INFO: Using NDK ... $ANDROID_NDK"
|