mirror of
https://github.com/arkenfox/user.js.git
synced 2026-06-28 23:32:06 +05:30
Compare commits
33 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| cc65f3c21b | |||
| 4c8f6f874e | |||
| 2e88889602 | |||
| 6a2ac2c4c4 | |||
| 274d5ad901 | |||
| 2c594e56a2 | |||
| a724883c05 | |||
| 4e94234f46 | |||
| c90135cf86 | |||
| 54956e548a | |||
| 5ca8f0c10c | |||
| e1dd797b38 | |||
| 669930fd21 | |||
| dd081db007 | |||
| 59c17aad4c | |||
| 845872ca65 | |||
| 7c4444167f | |||
| bfcb3659c1 | |||
| e69b54487c | |||
| c569822cd1 | |||
| 1f58af5cf6 | |||
| 8cd31371f2 | |||
| 1c76110c4c | |||
| d01f1e971e | |||
| ba7f0cee9a | |||
| 7007e28e4e | |||
| a05d90d612 | |||
| 0ef5f72c5f | |||
| c5087d6522 | |||
| ff92cee8f0 | |||
| 934a339e41 | |||
| ae6242bded | |||
| 9ad1ce561f |
@@ -1,5 +1,3 @@
|
||||
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: 30 June 2026
|
||||
* version: 151
|
||||
* date: 17 February 2026
|
||||
* version: 144
|
||||
* 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,16 +161,12 @@ 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).
|
||||
|
||||
FF147+ uses SBv5 which incorporates Oblivous HTTP [5] and SBv5's local list mode [6]
|
||||
doesn't even use cookies. (#Turn on browser.safebrowsing.debug to monitor this activity)
|
||||
|
||||
[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)
|
||||
@@ -394,7 +390,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 (June 2025) reports almost 99.85% of top sites have secure renegotiation [4]
|
||||
* [STATS] SSL Labs (Nov 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
|
||||
@@ -758,6 +754,10 @@ 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,11 +775,6 @@ 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
|
||||
@@ -1064,7 +1059,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); // [DEFAULT: false FF150]
|
||||
// user_pref("security.ssl3.ecdhe_ecdsa_aes_128_sha", false);
|
||||
// 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);
|
||||
@@ -1152,16 +1147,10 @@ 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 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
|
||||
[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
|
||||
***/
|
||||
user_pref("_user.js.parrot", "8000 syntax error: the parrot's crossed the Jordan");
|
||||
/* 8001: prefsCleaner: reset items useless for anti-fingerprinting ***/
|
||||
@@ -1191,8 +1180,6 @@ 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