mirror of
https://github.com/arkenfox/user.js.git
synced 2026-06-28 23:32:06 +05:30
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 1a9e0bb6dc | |||
| 8fe9905c35 | |||
| bb45863be7 |
@@ -1,3 +1,5 @@
|
||||
This repo and the interative webpage linked below are the **_only official sources_** - do not trust any other sites claiming to be Arkenfox
|
||||
|
||||
### 🟪 user.js
|
||||
A `user.js` is a configuration file that can control Firefox settings - for a more technical breakdown and explanation, you can read more in the [wiki](https://github.com/arkenfox/user.js/wiki/2.1-User.js)
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/******
|
||||
* name: arkenfox user.js
|
||||
* date: 17 February 2026
|
||||
* version: 144
|
||||
* date: 30 June 2026
|
||||
* version: 151
|
||||
* urls: https://github.com/arkenfox/user.js [repo]
|
||||
* : https://arkenfox.github.io/gui/ [interactive]
|
||||
* license: MIT: https://github.com/arkenfox/user.js/blob/master/LICENSE.txt
|
||||
@@ -161,12 +161,16 @@ user_pref("network.connectivity-service.enabled", false);
|
||||
SB has taken many steps to preserve privacy. If required, a full url is never sent
|
||||
to Google, only a part-hash of the prefix, hidden with noise of other real part-hashes.
|
||||
Firefox takes measures such as stripping out identifying parameters and since SBv4 (FF57+)
|
||||
doesn't even use cookies. (#Turn on browser.safebrowsing.debug to monitor this activity)
|
||||
doesn't even use cookies. (#Turn on browser.safebrowsing.debug to monitor this activity).
|
||||
|
||||
FF147+ uses SBv5 which incorporates Oblivous HTTP [5] and SBv5's local list mode [6]
|
||||
|
||||
[1] https://feeding.cloud.geek.nz/posts/how-safe-browsing-works-in-firefox/
|
||||
[2] https://wiki.mozilla.org/Security/Safe_Browsing
|
||||
[3] https://support.mozilla.org/kb/how-does-phishing-and-malware-protection-work
|
||||
[4] https://educatedguesswork.org/posts/safe-browsing-privacy/
|
||||
[5] https://developers.google.com/safe-browsing/reference
|
||||
[6] https://developers.google.com/safe-browsing/reference/Local.List.Mode
|
||||
***/
|
||||
user_pref("_user.js.parrot", "0400 syntax error: the parrot's passed on!");
|
||||
/* 0401: disable SB (Safe Browsing)
|
||||
@@ -390,7 +394,7 @@ user_pref("_user.js.parrot", "1200 syntax error: the parrot's a stiff!");
|
||||
* but the problem is that the browser can't know that. Setting this pref to true is the only way for the
|
||||
* browser to ensure there will be no unsafe renegotiations on the channel between the browser and the server
|
||||
* [SETUP-WEB] SSL_ERROR_UNSAFE_NEGOTIATION: is it worth overriding this for that one site?
|
||||
* [STATS] SSL Labs (Nov 2025) reports almost 99.85% of top sites have secure renegotiation [4]
|
||||
* [STATS] SSL Labs (June 2025) reports almost 99.85% of top sites have secure renegotiation [4]
|
||||
* [1] https://wiki.mozilla.org/Security:Renegotiation
|
||||
* [2] https://datatracker.ietf.org/doc/html/rfc5746
|
||||
* [3] https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3555
|
||||
@@ -754,10 +758,6 @@ user_pref("_user.js.parrot", "4000 syntax error: the parrot's bereft of life!");
|
||||
Modifier events suppressed are SHIFT and both ALT keys. Chrome is not affected.
|
||||
1459089 - disable OS locale in HTTP Accept-Language headers (ANDROID) (FF62)
|
||||
1479239 - return "no-preference" with prefers-reduced-motion (FF63)
|
||||
1363508 & 1826051 & 1957658 - spoof/suppress Pointer Events, spoof maxTouchPoints (FF64, FF132, FF143, ESR140.2)
|
||||
FF64: maxTouchPoints: 0 = desktop
|
||||
FF132: maxTouchPoints: 0 = mac | 10 = windows, linux, mobile
|
||||
FF143/140.2: maxTouchPoints: 0 = mac, linux | 10 = windows | 5 = mobile
|
||||
1492766 - spoof pointerEvent.pointerid (FF65)
|
||||
1485266 - disable exposure of system colors to CSS or canvas (FF67)
|
||||
1494034 - return "light" with prefers-color-scheme (FF67)
|
||||
@@ -775,6 +775,11 @@ user_pref("_user.js.parrot", "4000 syntax error: the parrot's bereft of life!");
|
||||
1787790 - normalize system fonts (FF128)
|
||||
1835987 - spoof timezone as Atlantic/Reykjavik (previously FF55+ was UTC) (FF128)
|
||||
1656377 - spoof pointerEvents azimuthAngle and altitudeAngle (FF131)
|
||||
1826051 & 1957658 & 2021715 - spoof/suppress Pointer Events, spoof maxTouchPoints (FF132, FF143/ESR140.2, FF150)
|
||||
previously FF64+ (1363508) it always returned maxTouchPoints as 0
|
||||
FF132: 0 = mac | 10 = windows, linux, mobile
|
||||
FF143: 0 = mac, linux | 10 = windows | 5 = mobile | no longer spoof touch PointerEvents | backported to ESR140.2
|
||||
FF150: 5 = linux
|
||||
1834307 - always use smooth scrolling (FF132)
|
||||
1918202 - spoof screen orientation based on spoofed screen size and platform (FF132)
|
||||
previously FF50+ it always returned landscape-primary and an angle of 0
|
||||
@@ -1059,7 +1064,7 @@ user_pref("_user.js.parrot", "7000 syntax error: the parrot's pushing up daisies
|
||||
/* 7003: disable non-modern cipher suites [1]
|
||||
* [WHY] Passive fingerprinting. Minimal/non-existent threat of downgrade attacks
|
||||
* [1] https://browserleaks.com/ssl ***/
|
||||
// user_pref("security.ssl3.ecdhe_ecdsa_aes_128_sha", false);
|
||||
// user_pref("security.ssl3.ecdhe_ecdsa_aes_128_sha", false); // [DEFAULT: false FF150]
|
||||
// user_pref("security.ssl3.ecdhe_ecdsa_aes_256_sha", false);
|
||||
// user_pref("security.ssl3.ecdhe_rsa_aes_128_sha", false);
|
||||
// user_pref("security.ssl3.ecdhe_rsa_aes_256_sha", false);
|
||||
@@ -1147,10 +1152,16 @@ user_pref("_user.js.parrot", "7000 syntax error: the parrot's pushing up daisies
|
||||
* [WHY] Passive and active fingerprinting. Mostly redundant with Tracking Protection
|
||||
* in ETP Strict (2701) and sanitizing on close (2800s) ***/
|
||||
// user_pref("privacy.globalprivacycontrol.enabled", true);
|
||||
/* 7022: bFPP (baselineFingerprintingProtection) [FF139+]
|
||||
* [WHY] Arkenfox only supports ETP Strict (2701) which enables FPP browser-wide (normal and private
|
||||
* browsing window contexts). If FPP is enabled in the same context as bFPP, FPP takes precedence.
|
||||
// user_pref("privacy.baselineFingerprintingProtection", true);
|
||||
// user_pref("privacy.baselineFingerprintingProtection.granularOverrides", "");
|
||||
// user_pref("privacy.baselineFingerprintingProtection.overrides", "");
|
||||
|
||||
/*** [SECTION 8000]: DON'T BOTHER: FINGERPRINTING
|
||||
[WHY] They are insufficient to help anti-fingerprinting and do more harm than good
|
||||
[WARNING] DO NOT USE with RFP. RFP already covers these and they can interfere
|
||||
[WHY] They are insufficient for fingerprinting protection and do more harm than good
|
||||
[WARNING] DO NOT USE: they can interfere with built-in solutions such as RFP and FPP
|
||||
***/
|
||||
user_pref("_user.js.parrot", "8000 syntax error: the parrot's crossed the Jordan");
|
||||
/* 8001: prefsCleaner: reset items useless for anti-fingerprinting ***/
|
||||
@@ -1180,6 +1191,8 @@ user_pref("_user.js.parrot", "8000 syntax error: the parrot's crossed the Jordan
|
||||
Arkenfox does not consider Firefox telemetry to be a privacy or security concern - comments below.
|
||||
But since most arkenfox users prefer it disabled, we'll do that rather than cause overrides.
|
||||
|
||||
READ: https://ritter.vg/blog-telemetry.html
|
||||
|
||||
Opt-out
|
||||
- Telemetry is essential: a browser engine is a _very_ large complex beast costing billions to maintain
|
||||
- Opt-in telemetry _does not_ work and results in data that is unrepresentative and may be misleading
|
||||
|
||||
Reference in New Issue
Block a user