From 72cc4d176ea08b4373e437f9f3f44e92da547c92 Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Thu, 9 Dec 2021 11:41:18 +0000 Subject: [PATCH 001/190] 0706: network.proxy.allow_bypass, closes #1292 --- user.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/user.js b/user.js index af1d2a6..c0993af 100644 --- a/user.js +++ b/user.js @@ -1,7 +1,7 @@ /****** * name: arkenfox user.js -* date: 8 December 2021 -* version 95 +* date: 9 December 2021 +* version 96-alpha * url: https://github.com/arkenfox/user.js * license: MIT: https://github.com/arkenfox/user.js/blob/master/LICENSE.txt @@ -327,6 +327,12 @@ user_pref("network.gio.supported-protocols", ""); // [HIDDEN PREF] * [SETUP-CHROME] If you use a proxy and you trust your extensions * [1] https://blog.mozilla.org/security/2021/10/25/securing-the-proxy-api-for-firefox-add-ons/ ***/ // user_pref("network.proxy.failover_direct", false); +/* 0706: disable proxy bypass for system request failures [FF95+] + * RemoteSettings, UpdateService, Telemetry [1] + * [WARNING] If false, this will break the fallback for some security features + * [SETUP-CHROME] If you use a proxy and you understand the security impact + * [1] https://bugzilla.mozilla.org/buglist.cgi?bug_id=1732792,1733994,1733481 ***/ + // user_pref("network.proxy.allow_bypass", false); // [HIDDEN PREF] /* 0710: disable DNS-over-HTTPS (DoH) rollout [FF60+] * 0=off by default, 2=TRR (Trusted Recursive Resolver) first, 3=TRR only, 5=explicitly off * see "doh-rollout.home-region": USA Feb 2020, Canada July 2021 [3] From fe75baa79f407c2dd2368c4170265c10f0904da9 Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Thu, 9 Dec 2021 11:44:51 +0000 Subject: [PATCH 002/190] move DNT to DON'T BOTHER --- user.js | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/user.js b/user.js index c0993af..3784ca6 100644 --- a/user.js +++ b/user.js @@ -612,10 +612,6 @@ user_pref("network.http.referer.XOriginPolicy", 2); /* 1602: control the amount of cross-origin information to send [FF52+] * 0=send full URI (default), 1=scheme+host+port+path, 2=scheme+host+port ***/ user_pref("network.http.referer.XOriginTrimmingPolicy", 2); -/* 1603: enable the DNT (Do Not Track) HTTP header - * [NOTE] DNT is enforced with Enhanced Tracking Protection (2710) - * [SETTING] Privacy & Security>Enhanced Tracking Protection>Send websites a "Do Not Track" signal... ***/ - // user_pref("privacy.donottrackheader.enabled", true); /*** [SECTION 1700]: CONTAINERS Check out Temporary Containers [2], read the article [3], and visit the wiki/repo [4] @@ -1318,6 +1314,9 @@ user_pref("_user.js.parrot", "7000 syntax error: the parrot's pushing up daisies * [WHY] It can compromise security. System addons ship with prefs, use those ***/ // user_pref("extensions.systemAddon.update.enabled", false); // [FF62+] // user_pref("extensions.systemAddon.update.url", ""); // [FF44+] +/* 7015: enable the DNT (Do Not Track) HTTP header + * [WHY] DNT is enforced with Tracking Protection (2710) ***/ + // user_pref("privacy.donottrackheader.enabled", true); /*** [SECTION 8000]: DON'T BOTHER: NON-RFP [WHY] They are insufficient to help anti-fingerprinting and do more harm than good From f7bba92c71cc71455b0128fc4f4c739eae1cca16 Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Thu, 9 Dec 2021 12:28:45 +0000 Subject: [PATCH 003/190] cleanout FPI section farewell parrot --- user.js | 39 ++------------------------------------- 1 file changed, 2 insertions(+), 37 deletions(-) diff --git a/user.js b/user.js index 3784ca6..e1475cc 100644 --- a/user.js +++ b/user.js @@ -941,45 +941,10 @@ user_pref("privacy.cpd.cookies", false); * which will display a blank value, and are not guaranteed to work ***/ user_pref("privacy.sanitize.timeSpan", 0); -/*** [SECTION 4000]: FPI (FIRST PARTY ISOLATION) - 1278037 - indexedDB (FF51+) - 1277803 - favicons (FF52+) - 1264562 - OCSP cache (FF52+) - 1268726 - Shared Workers (FF52+) - 1316283 - SSL session cache (FF52+) - 1317927 - media cache (FF53+) - 1323644 - HSTS and HPKP (FF54+) - 1334690 - HTTP Alternative Services (FF54+) - 1334693 - SPDY/HTTP2 (FF55+) - 1337893 - DNS cache (FF55+) - 1344170 - blob: URI (FF55+) - 1300671 - data:, about: URLs (FF55+) - 1473247 - IP addresses (FF63+) - 1542309 - top-level domain URLs when host is in the public suffix list (FF68+) - 1506693 - pdfjs range-based requests (FF68+) - 1330467 - site permissions (FF69+) - 1534339 - IPv6 (FF73+) - 1721858 - WebSocket (FF92+) -***/ +/*** [SECTION 4000]: FPI (FIRST PARTY ISOLATION) ***/ user_pref("_user.js.parrot", "4000 syntax error: the parrot's pegged out"); -/* 4001: enable First Party Isolation [FF51+] - * [SETUP-WEB] Breaks some cross-origin logins - * [1] https://bugzilla.mozilla.org/buglist.cgi?bug_id=1260931,1299996 ***/ +/* 4001: enable First Party Isolation [FF51+] ***/ user_pref("privacy.firstparty.isolate", true); -/* 4002: enforce FPI restriction for window.opener [FF54+] - * [NOTE] Setting this to false may reduce the breakage in 4001 - * FF65+ blocks postMessage with targetOrigin "*" if originAttributes don't match. But - * to reduce breakage it ignores the 1st-party domain (FPD) originAttribute [2][3] - * The 2nd pref removes that limitation and will only allow communication if FPDs also match - * [1] https://bugzilla.mozilla.org/1319773#c22 - * [2] https://bugzilla.mozilla.org/1492607 - * [3] https://developer.mozilla.org/docs/Web/API/Window/postMessage ***/ - // user_pref("privacy.firstparty.isolate.restrict_opener_access", true); // [DEFAULT: true] - // user_pref("privacy.firstparty.isolate.block_post_message", true); -/* 4003: enable scheme with FPI [FF78+] - * [NOTE] Experimental: existing data and site permissions are incompatible - * and some site exceptions may not work e.g. HTTPS-only mode (1244) ***/ - // user_pref("privacy.firstparty.isolate.use_site", true); /*** [SECTION 4500]: RFP (RESIST FINGERPRINTING) RFP covers a wide range of ongoing fingerprinting solutions. From 97322d6e8bcf5082cfee601e480c520f0008a422 Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Thu, 9 Dec 2021 12:31:38 +0000 Subject: [PATCH 004/190] various inactive FPI prefs --- scratchpad-scripts/arkenfox-clear-removed.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scratchpad-scripts/arkenfox-clear-removed.js b/scratchpad-scripts/arkenfox-clear-removed.js index cc8d330..17e39e2 100644 --- a/scratchpad-scripts/arkenfox-clear-removed.js +++ b/scratchpad-scripts/arkenfox-clear-removed.js @@ -13,6 +13,10 @@ const aPREFS = [ /* removed in arkenfox user.js */ + /* 92+ */ + 'privacy.firstparty.isolate.block_post_message', + 'privacy.firstparty.isolate.restrict_opener_access', + 'privacy.firstparty.isolate.use_site', /* 79-91 */ 'alerts.showFavicons', 'browser.newtabpage.activity-stream.asrouter.providers.snippets', From 0634a568efeca4d837a34dae47b1a3b14c85dccd Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Thu, 9 Dec 2021 13:45:46 +0000 Subject: [PATCH 005/190] remove redundant site data prefs we've never used these - service workers are disabled (or soon to be covered by dFPI when enabled) and sanitizing is already done (or will be done via enhanced cookie cleaning) - storage API, storage access API: we sanitize on close, and sites are isolated by eTLD+1 --- user.js | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/user.js b/user.js index e1475cc..f26212d 100644 --- a/user.js +++ b/user.js @@ -856,21 +856,6 @@ user_pref("privacy.trackingprotection.enabled", true); user_pref("privacy.trackingprotection.socialtracking.enabled", true); // user_pref("privacy.trackingprotection.cryptomining.enabled", true); // [DEFAULT: true] // user_pref("privacy.trackingprotection.fingerprinting.enabled", true); // [DEFAULT: true] -/* 2740: disable service worker cache and cache storage - * [NOTE] We clear service worker cache on exit (2811) - * [1] https://w3c.github.io/ServiceWorker/#privacy ***/ - // user_pref("dom.caches.enabled", false); -/* 2750: disable Storage API [FF51+] - * The API gives sites the ability to find out how much space they can use, how much - * they are already using, and even control whether or not they need to be alerted - * before the user agent disposes of site data in order to make room for other things. - * [1] https://developer.mozilla.org/docs/Web/API/StorageManager - * [2] https://developer.mozilla.org/docs/Web/API/Storage_API - * [3] https://blog.mozilla.org/l10n/2017/03/07/firefox-l10n-report-aurora-54/ ***/ - // user_pref("dom.storageManager.enabled", false); -/* 2755: disable Storage Access API [FF65+] - * [1] https://developer.mozilla.org/docs/Web/API/Storage_Access_API ***/ - // user_pref("dom.storage_access.enabled", false); /* 2760: enable Local Storage Next Generation (LSNG) [FF65+] ***/ user_pref("dom.storage.next_gen", true); // [DEFAULT: true FF92+] From 83602baa38e70bf8a4a87837ab1cc5f5cff87bf8 Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Thu, 9 Dec 2021 13:47:57 +0000 Subject: [PATCH 006/190] misc site storage/data prefs been inactive since jesus was a baby --- scratchpad-scripts/arkenfox-clear-removed.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/scratchpad-scripts/arkenfox-clear-removed.js b/scratchpad-scripts/arkenfox-clear-removed.js index 17e39e2..b78cc94 100644 --- a/scratchpad-scripts/arkenfox-clear-removed.js +++ b/scratchpad-scripts/arkenfox-clear-removed.js @@ -14,6 +14,9 @@ const aPREFS = [ /* removed in arkenfox user.js */ /* 92+ */ + 'dom.caches.enabled', + 'dom.storageManager.enabled', + 'dom.storage_access.enabled', 'privacy.firstparty.isolate.block_post_message', 'privacy.firstparty.isolate.restrict_opener_access', 'privacy.firstparty.isolate.use_site', From 1fc43574d6cb0a229892738d7b9117a4e4f1fa2c Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Thu, 9 Dec 2021 14:00:21 +0000 Subject: [PATCH 007/190] move "cookie" permission info into 2801 --- user.js | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/user.js b/user.js index f26212d..298366f 100644 --- a/user.js +++ b/user.js @@ -54,7 +54,7 @@ 2300: WEB WORKERS 2400: DOM (DOCUMENT OBJECT MODEL) 2600: MISCELLANEOUS - 2700: PERSISTENT STORAGE + 2700: ETP (ENHANCED TRACKING PROTECTION) 2800: SHUTDOWN & SANITIZING 4000: FPI (FIRST PARTY ISOLATION) 4500: RFP (RESIST FINGERPRINTING) @@ -819,19 +819,7 @@ user_pref("extensions.postDownloadThirdPartyPrompt", false); * [1] https://bugzilla.mozilla.org/buglist.cgi?bug_id=1384330,1406795,1415644,1453988 ***/ // user_pref("extensions.webextensions.restrictedDomains", ""); -/*** [SECTION 2700]: PERSISTENT STORAGE - Data SET by websites including - cookies : profile\cookies.sqlite - localStorage : profile\webappsstore.sqlite - indexedDB : profile\storage\default - serviceWorkers : - - [NOTE] indexedDB and serviceWorkers are not available in Private Browsing Mode - [NOTE] Blocking cookies also blocks websites access to: localStorage (incl. sessionStorage), - indexedDB, sharedWorker, and serviceWorker (and therefore service worker cache and notifications) - If you set a site exception for cookies (either "Allow" or "Allow for Session") then they become - accessible to websites except shared/service workers where the cookie setting must be "Allow" -***/ +/*** [SECTION 2700]: ETP (Enhanced Tracking Protection) ***/ user_pref("_user.js.parrot", "2700 syntax error: the parrot's joined the bleedin' choir invisible!"); /* 2701: disable or isolate 3rd-party cookies and site-data [SETUP-WEB] * 0 = Accept cookies and site data @@ -864,6 +852,8 @@ user_pref("_user.js.parrot", "2800 syntax error: the parrot's bleedin' demised!" /** COOKIES + SITE DATA : ALLOWS EXCEPTIONS ***/ /* 2801: delete cookies and site data on exit * 0=keep until they expire (default), 2=keep until you close Firefox + * [NOTE] A "cookie" permission also controls localStorage/sessionStorage, idexedDB. + * sharedWorkers and serviceWorkers required an `Allow` permission * [SETTING] Privacy & Security>Cookies and Site Data>Delete cookies and site data when Firefox is closed * [SETTING] to add site exceptions: Ctrl+I>Permissions>Cookies>Allow * If using FPI the syntax must be https://example.com/^firstPartyDomain=example.com From 5d508e42422ab910dfd3155f223f0a0cab216808 Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Thu, 9 Dec 2021 14:05:47 +0000 Subject: [PATCH 008/190] move LSNG to don't touch --- user.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/user.js b/user.js index 298366f..580d006 100644 --- a/user.js +++ b/user.js @@ -844,8 +844,6 @@ user_pref("privacy.trackingprotection.enabled", true); user_pref("privacy.trackingprotection.socialtracking.enabled", true); // user_pref("privacy.trackingprotection.cryptomining.enabled", true); // [DEFAULT: true] // user_pref("privacy.trackingprotection.fingerprinting.enabled", true); // [DEFAULT: true] -/* 2760: enable Local Storage Next Generation (LSNG) [FF65+] ***/ -user_pref("dom.storage.next_gen", true); // [DEFAULT: true FF92+] /*** [SECTION 2800]: SHUTDOWN & SANITIZING ***/ user_pref("_user.js.parrot", "2800 syntax error: the parrot's bleedin' demised!"); @@ -1169,6 +1167,8 @@ user_pref("dom.targetBlankNoOpener.enabled", true); // [DEFAULT: true] * string is restored if the tab reverts back to the original page. This change prevents some cross-site attacks * [TEST] https://arkenfox.github.io/TZP/tests/windownamea.html ***/ user_pref("privacy.window.name.update.enabled", true); // [DEFAULT: true] +/* 0607: enforce Local Storage Next Generation (LSNG) [FF65+] ***/ +user_pref("dom.storage.next_gen", true); // [DEFAULT: true FF92+] /* 6050: prefsCleaner: reset previously active items removed from arkenfox FF92+ ***/ // placeholder From de28689e76f16820f4e34acb3fc850b2b47418df Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Thu, 9 Dec 2021 14:13:39 +0000 Subject: [PATCH 009/190] flip from FPI to dFPI I will tidy and expand 2700 entries later --- user.js | 52 ++++++++++++++++++++-------------------------------- 1 file changed, 20 insertions(+), 32 deletions(-) diff --git a/user.js b/user.js index 580d006..d00c8e5 100644 --- a/user.js +++ b/user.js @@ -56,7 +56,6 @@ 2600: MISCELLANEOUS 2700: ETP (ENHANCED TRACKING PROTECTION) 2800: SHUTDOWN & SANITIZING - 4000: FPI (FIRST PARTY ISOLATION) 4500: RFP (RESIST FINGERPRINTING) 5000: OPTIONAL OPSEC 5500: OPTIONAL HARDENING @@ -819,31 +818,14 @@ user_pref("extensions.postDownloadThirdPartyPrompt", false); * [1] https://bugzilla.mozilla.org/buglist.cgi?bug_id=1384330,1406795,1415644,1453988 ***/ // user_pref("extensions.webextensions.restrictedDomains", ""); -/*** [SECTION 2700]: ETP (Enhanced Tracking Protection) ***/ +/*** [SECTION 2700]: ETP (ENHANCED TRACKING PROTECTION) ***/ user_pref("_user.js.parrot", "2700 syntax error: the parrot's joined the bleedin' choir invisible!"); -/* 2701: disable or isolate 3rd-party cookies and site-data [SETUP-WEB] - * 0 = Accept cookies and site data - * 1 = (Block) All third-party cookies - * 2 = (Block) All cookies - * 3 = (Block) Cookies from unvisited websites - * 4 = (Block) Cross-site tracking cookies (default) - * 5 = (Isolate All) Cross-site cookies (TCP: Total Cookie Protection / dFPI: dynamic FPI) [1] (FF86+) - * Option 5 with FPI enabled (4001) is ignored and not shown, and option 4 used instead - * [NOTE] You can set cookie exceptions under site permissions or use an extension - * [NOTE] Enforcing category to custom ensures ETP related prefs are always honored - * [SETTING] Privacy & Security>Enhanced Tracking Protection>Custom>Cookies - * [1] https://blog.mozilla.org/security/2021/02/23/total-cookie-protection/ ***/ -user_pref("network.cookie.cookieBehavior", 1); -user_pref("browser.contentblocking.category", "custom"); -/* 2710: enable Enhanced Tracking Protection (ETP) in all windows - * [SETTING] Privacy & Security>Enhanced Tracking Protection>Custom>Tracking content +/* 2701: enable Enhanced Tracking Protection's (ETP) Strict Mode [FF86+] + * Strict Mode enables Total Cookie Protection (dFPI /dynamic FPI) + * [1] https://blog.mozilla.org/security/2021/02/23/total-cookie-protection/ * [SETTING] to add site exceptions: Urlbar>ETP Shield * [SETTING] to manage site exceptions: Options>Privacy & Security>Enhanced Tracking Protection>Manage Exceptions ***/ -user_pref("privacy.trackingprotection.enabled", true); -/* 2711: enable various ETP lists ***/ -user_pref("privacy.trackingprotection.socialtracking.enabled", true); - // user_pref("privacy.trackingprotection.cryptomining.enabled", true); // [DEFAULT: true] - // user_pref("privacy.trackingprotection.fingerprinting.enabled", true); // [DEFAULT: true] +user_pref("browser.contentblocking.category", "strict"); /*** [SECTION 2800]: SHUTDOWN & SANITIZING ***/ user_pref("_user.js.parrot", "2800 syntax error: the parrot's bleedin' demised!"); @@ -914,11 +896,6 @@ user_pref("privacy.cpd.cookies", false); * which will display a blank value, and are not guaranteed to work ***/ user_pref("privacy.sanitize.timeSpan", 0); -/*** [SECTION 4000]: FPI (FIRST PARTY ISOLATION) ***/ -user_pref("_user.js.parrot", "4000 syntax error: the parrot's pegged out"); -/* 4001: enable First Party Isolation [FF51+] ***/ -user_pref("privacy.firstparty.isolate", true); - /*** [SECTION 4500]: RFP (RESIST FINGERPRINTING) RFP covers a wide range of ongoing fingerprinting solutions. It is an all-or-nothing buy in: you cannot pick and choose what parts you want @@ -1169,6 +1146,10 @@ user_pref("dom.targetBlankNoOpener.enabled", true); // [DEFAULT: true] user_pref("privacy.window.name.update.enabled", true); // [DEFAULT: true] /* 0607: enforce Local Storage Next Generation (LSNG) [FF65+] ***/ user_pref("dom.storage.next_gen", true); // [DEFAULT: true FF92+] +/* 6008: enforce no First Party Isolation [FF51+] + * [WARNING] FPI is no longer supported and is replaced by network partitioning (FF85+) + * and dFPI (2701), and enabling FPI disables those ***/ +user_pref("privacy.firstparty.isolate", false); // [DEFAULT: false] /* 6050: prefsCleaner: reset previously active items removed from arkenfox FF92+ ***/ // placeholder @@ -1210,8 +1191,8 @@ user_pref("_user.js.parrot", "7000 syntax error: the parrot's pushing up daisies // user_pref("security.tls.version.min", 3); // [DEFAULT: 3] // user_pref("security.tls.version.max", 4); /* 7005: disable SSL session IDs [FF36+] - * [WHY] Passive fingerprinting and perf costs. These are session-only and isolated - * with network partitioning (FF85+) or when using FPI and/or containers ***/ + * [WHY] Passive fingerprinting and perf costs. These are session-only + * and isolated with network partitioning (FF85+) and/or containers ***/ // user_pref("security.ssl.disable_session_identifiers", true); // [HIDDEN PREF] /* 7006: onions * [WHY] Firefox doesn't support hidden services. Use Tor Browser ***/ @@ -1234,7 +1215,7 @@ user_pref("_user.js.parrot", "7000 syntax error: the parrot's pushing up daisies // user_pref("network.http.spdy.enabled.http2", false); // user_pref("network.http.spdy.websockets", false); // [FF65+] /* 7010: disable HTTP Alternative Services [FF37+] - * [WHY] Already isolated by network partitioning (FF85+) or FPI ***/ + * [WHY] Already isolated by network partitioning (FF85+) ***/ // user_pref("network.http.altsvc.enabled", false); // user_pref("network.http.altsvc.oe", false); // [DEFAULT: false FF94+] /* 7011: disable website control over browser right-click context menu @@ -1255,8 +1236,15 @@ user_pref("_user.js.parrot", "7000 syntax error: the parrot's pushing up daisies // user_pref("extensions.systemAddon.update.enabled", false); // [FF62+] // user_pref("extensions.systemAddon.update.url", ""); // [FF44+] /* 7015: enable the DNT (Do Not Track) HTTP header - * [WHY] DNT is enforced with Tracking Protection (2710) ***/ + * [WHY] DNT is enforced with Tracking Protection which is used in ETP Strict (2701) ***/ // user_pref("privacy.donottrackheader.enabled", true); +/* 7016: customize ETP settings + * [WHY] Just use strict which sets these at runtime (2701) ***/ + // user_pref("network.cookie.cookieBehavior", 5); + // user_pref("privacy.trackingprotection.enabled", true); + // user_pref("privacy.trackingprotection.socialtracking.enabled", true); + // user_pref("privacy.trackingprotection.cryptomining.enabled", true); // [DEFAULT: true] + // user_pref("privacy.trackingprotection.fingerprinting.enabled", true); // [DEFAULT: true] /*** [SECTION 8000]: DON'T BOTHER: NON-RFP [WHY] They are insufficient to help anti-fingerprinting and do more harm than good From 4d5abd6cc39ab67a52578c7849e1076198009925 Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Thu, 9 Dec 2021 14:18:25 +0000 Subject: [PATCH 010/190] tweak 8000 title lets not encourage non-RFP users to see this as a sign to use them --- user.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/user.js b/user.js index d00c8e5..12dfb76 100644 --- a/user.js +++ b/user.js @@ -61,7 +61,7 @@ 5500: OPTIONAL HARDENING 6000: DON'T TOUCH 7000: DON'T BOTHER - 8000: DON'T BOTHER: NON-RFP + 8000: DON'T BOTHER: FINGERPRINTING 9000: PERSONAL 9999: DEPRECATED / REMOVED / LEGACY / RENAMED @@ -1246,7 +1246,7 @@ user_pref("_user.js.parrot", "7000 syntax error: the parrot's pushing up daisies // user_pref("privacy.trackingprotection.cryptomining.enabled", true); // [DEFAULT: true] // user_pref("privacy.trackingprotection.fingerprinting.enabled", true); // [DEFAULT: true] -/*** [SECTION 8000]: DON'T BOTHER: NON-RFP +/*** [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 ***/ From 8860c90abf5c1fb0f87661c3327ae4e75992be13 Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Thu, 9 Dec 2021 14:31:41 +0000 Subject: [PATCH 011/190] make service workers inactive currently 3rd party service workers are blocked in FF95 when dFPI is enabled (which this version has should anyone update to 96-alpha) - but I get an error even on first party - https://arkenfox.github.io/TZP/tzp.html#storage - I get : service worker | test : enabled | failed: SecurityError in FF96+ service workers they are covered by dFPI - see https://bugzilla.mozilla.org/show_bug.cgi?id=1731999 --- user.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/user.js b/user.js index 12dfb76..8e93194 100644 --- a/user.js +++ b/user.js @@ -698,7 +698,7 @@ user_pref("_user.js.parrot", "2300 syntax error: the parrot's off the twig!"); * service worker notifications (2304), push notifications (disabled, 2305) and service worker * cache (2740). If you enable this pref, then check those settings as well * [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1320796#c7 ***/ -user_pref("dom.serviceWorkers.enabled", false); + // user_pref("dom.serviceWorkers.enabled", false); /* 2304: disable Web Notifications * [NOTE] Web Notifications can also use service workers (2302) and are behind a prompt (7002) * [1] https://developer.mozilla.org/docs/Web/API/Notifications_API ***/ From d5bc6715cd3d416b5c09af6be8d5a561df9de19a Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Thu, 9 Dec 2021 16:14:36 +0000 Subject: [PATCH 012/190] remove web workers section farewell parrot --- user.js | 67 ++++++++++++++++++--------------------------------------- 1 file changed, 21 insertions(+), 46 deletions(-) diff --git a/user.js b/user.js index 8e93194..aca695b 100644 --- a/user.js +++ b/user.js @@ -51,7 +51,6 @@ 1600: HEADERS / REFERERS 1700: CONTAINERS 2000: PLUGINS / MEDIA / WEBRTC - 2300: WEB WORKERS 2400: DOM (DOCUMENT OBJECT MODEL) 2600: MISCELLANEOUS 2700: ETP (ENHANCED TRACKING PROTECTION) @@ -675,46 +674,6 @@ user_pref("media.eme.enabled", false); * [1] https://support.mozilla.org/questions/1293231 ***/ user_pref("media.autoplay.blocking_policy", 2); -/*** [SECTION 2300]: WEB WORKERS - A worker is a JS "background task" running in a global context, i.e. it is different from - the current window. Workers can spawn new workers (must be the same origin & scheme), - including service and shared workers. Shared workers can be utilized by multiple scripts and - communicate between browsing contexts (windows/tabs/iframes) and can even control your cache. - - [1] Web Workers: https://developer.mozilla.org/docs/Web/API/Web_Workers_API - [2] Worker: https://developer.mozilla.org/docs/Web/API/Worker - [3] Service Worker: https://developer.mozilla.org/docs/Web/API/Service_Worker_API - [4] SharedWorker: https://developer.mozilla.org/docs/Web/API/SharedWorker - [5] ChromeWorker: https://developer.mozilla.org/docs/Web/API/ChromeWorker - [6] Notifications: https://support.mozilla.org/questions/1165867#answer-981820 -***/ -user_pref("_user.js.parrot", "2300 syntax error: the parrot's off the twig!"); -/* 2302: disable service workers [FF32, FF44-compat] - * Service workers essentially act as proxy servers that sit between web apps, and the - * browser and network, are event driven, and can control the web page/site they are associated - * with, intercepting and modifying navigation and resource requests, and caching resources. - * [NOTE] Service workers require HTTPS, have no DOM access, and are not supported in PB mode [1] - * [SETUP-WEB] Disabling service workers will break some sites. This pref is required true for - * service worker notifications (2304), push notifications (disabled, 2305) and service worker - * cache (2740). If you enable this pref, then check those settings as well - * [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1320796#c7 ***/ - // user_pref("dom.serviceWorkers.enabled", false); -/* 2304: disable Web Notifications - * [NOTE] Web Notifications can also use service workers (2302) and are behind a prompt (7002) - * [1] https://developer.mozilla.org/docs/Web/API/Notifications_API ***/ - // user_pref("dom.webnotifications.enabled", false); // [FF22+] - // user_pref("dom.webnotifications.serviceworker.enabled", false); // [FF44+] -/* 2305: disable Push Notifications [FF44+] - * Push is an API that allows websites to send you (subscribed) messages even when the site - * isn't loaded, by pushing messages to your userAgentID through Mozilla's Push Server - * [NOTE] Push requires service workers (2302) to subscribe to and display, and is behind - * a prompt (7002). Disabling service workers alone doesn't stop Firefox polling the - * Mozilla Push Server. To remove all subscriptions, reset your userAgentID. - * [1] https://support.mozilla.org/kb/push-notifications-firefox - * [2] https://developer.mozilla.org/docs/Web/API/Push_API ***/ -user_pref("dom.push.enabled", false); - // user_pref("dom.push.userAgentID", ""); - /*** [SECTION 2400]: DOM (DOCUMENT OBJECT MODEL) ***/ user_pref("_user.js.parrot", "2400 syntax error: the parrot's kicked the bucket!"); /* 2401: disable "Confirm you want to leave" dialog on page close @@ -728,6 +687,19 @@ user_pref("dom.disable_window_move_resize", true); user_pref("dom.disable_open_during_load", true); /* 2404: limit events that can cause a popup [SETUP-WEB] ***/ user_pref("dom.popup_allowed_events", "click dblclick mousedown pointerdown"); +/* 2410: disable Web Notifications + * [NOTE] Web Notifications are behind a prompt (7002) ***/ + // user_pref("dom.webnotifications.enabled", false); // [FF22+] + // user_pref("dom.webnotifications.serviceworker.enabled", false); // [FF44+] +/* 2411: disable Push Notifications [FF44+] + * Push allows websites to send you subscribed messages through Mozilla's Push Server, + * and requires service workers to subscribe to and display, and is behind a prompt (7002) + * [NOTE] Disabling service workers alone doesn't stop Firefox polling the Mozilla Push Server + * [NOTE] To remove all subscriptions, reset your userAgentID + * [1] https://support.mozilla.org/kb/push-notifications-firefox + * [2] https://developer.mozilla.org/docs/Web/API/Push_API ***/ +user_pref("dom.push.enabled", false); + // user_pref("dom.push.userAgentID", ""); /*** [SECTION 2600]: MISCELLANEOUS ***/ user_pref("_user.js.parrot", "2600 syntax error: the parrot's run down the curtain!"); @@ -821,7 +793,7 @@ user_pref("extensions.postDownloadThirdPartyPrompt", false); /*** [SECTION 2700]: ETP (ENHANCED TRACKING PROTECTION) ***/ user_pref("_user.js.parrot", "2700 syntax error: the parrot's joined the bleedin' choir invisible!"); /* 2701: enable Enhanced Tracking Protection's (ETP) Strict Mode [FF86+] - * Strict Mode enables Total Cookie Protection (dFPI /dynamic FPI) + * [NOTE] ETP Strict Mode enables Total Cookie Protection (TCP) * [1] https://blog.mozilla.org/security/2021/02/23/total-cookie-protection/ * [SETTING] to add site exceptions: Urlbar>ETP Shield * [SETTING] to manage site exceptions: Options>Privacy & Security>Enhanced Tracking Protection>Manage Exceptions ***/ @@ -833,7 +805,7 @@ user_pref("_user.js.parrot", "2800 syntax error: the parrot's bleedin' demised!" /* 2801: delete cookies and site data on exit * 0=keep until they expire (default), 2=keep until you close Firefox * [NOTE] A "cookie" permission also controls localStorage/sessionStorage, idexedDB. - * sharedWorkers and serviceWorkers required an `Allow` permission + * sharedWorkers and serviceWorkers require an `Allow` permission * [SETTING] Privacy & Security>Cookies and Site Data>Delete cookies and site data when Firefox is closed * [SETTING] to add site exceptions: Ctrl+I>Permissions>Cookies>Allow * If using FPI the syntax must be https://example.com/^firstPartyDomain=example.com @@ -1147,8 +1119,8 @@ user_pref("privacy.window.name.update.enabled", true); // [DEFAULT: true] /* 0607: enforce Local Storage Next Generation (LSNG) [FF65+] ***/ user_pref("dom.storage.next_gen", true); // [DEFAULT: true FF92+] /* 6008: enforce no First Party Isolation [FF51+] - * [WARNING] FPI is no longer supported and is replaced by network partitioning (FF85+) - * and dFPI (2701), and enabling FPI disables those ***/ + * [WARNING] Replaced with network partitioning (FF85+) and TCP (2701), + * and enabling FPI disables those. FPI is no longer maintained ***/ user_pref("privacy.firstparty.isolate", false); // [DEFAULT: false] /* 6050: prefsCleaner: reset previously active items removed from arkenfox FF92+ ***/ // placeholder @@ -1215,7 +1187,7 @@ user_pref("_user.js.parrot", "7000 syntax error: the parrot's pushing up daisies // user_pref("network.http.spdy.enabled.http2", false); // user_pref("network.http.spdy.websockets", false); // [FF65+] /* 7010: disable HTTP Alternative Services [FF37+] - * [WHY] Already isolated by network partitioning (FF85+) ***/ + * [WHY] Already isolated with network partitioning (FF85+) ***/ // user_pref("network.http.altsvc.enabled", false); // user_pref("network.http.altsvc.oe", false); // [DEFAULT: false FF94+] /* 7011: disable website control over browser right-click context menu @@ -1245,6 +1217,9 @@ user_pref("_user.js.parrot", "7000 syntax error: the parrot's pushing up daisies // user_pref("privacy.trackingprotection.socialtracking.enabled", true); // user_pref("privacy.trackingprotection.cryptomining.enabled", true); // [DEFAULT: true] // user_pref("privacy.trackingprotection.fingerprinting.enabled", true); // [DEFAULT: true] +/* 7017: disable service workers [FF32, FF44-compat] + * [WHY] Already isolated (FF96+) with TCP (2701) or blocked in 3rd parties (FF95 or lower) ***/ + // user_pref("dom.serviceWorkers.enabled", false); /*** [SECTION 8000]: DON'T BOTHER: FINGERPRINTING [WHY] They are insufficient to help anti-fingerprinting and do more harm than good From d9f49bdf1fc7950bbaeb1882ee9e0d0fef31b9f9 Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Thu, 9 Dec 2021 16:17:53 +0000 Subject: [PATCH 013/190] make 7017 clearer --- user.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/user.js b/user.js index aca695b..2c216a7 100644 --- a/user.js +++ b/user.js @@ -1218,7 +1218,7 @@ user_pref("_user.js.parrot", "7000 syntax error: the parrot's pushing up daisies // user_pref("privacy.trackingprotection.cryptomining.enabled", true); // [DEFAULT: true] // user_pref("privacy.trackingprotection.fingerprinting.enabled", true); // [DEFAULT: true] /* 7017: disable service workers [FF32, FF44-compat] - * [WHY] Already isolated (FF96+) with TCP (2701) or blocked in 3rd parties (FF95 or lower) ***/ + * [WHY] Already isolated (FF96+) with TCP (2701) or blocked with TCP in 3rd parties (FF95 or lower) ***/ // user_pref("dom.serviceWorkers.enabled", false); /*** [SECTION 8000]: DON'T BOTHER: FINGERPRINTING From ec7cb6a491feced2ab2f89880fc3c0538dbdf130 Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Thu, 9 Dec 2021 17:17:52 +0000 Subject: [PATCH 014/190] 2702: partition service workers --- user.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/user.js b/user.js index 2c216a7..63579c1 100644 --- a/user.js +++ b/user.js @@ -798,6 +798,8 @@ user_pref("_user.js.parrot", "2700 syntax error: the parrot's joined the bleedin * [SETTING] to add site exceptions: Urlbar>ETP Shield * [SETTING] to manage site exceptions: Options>Privacy & Security>Enhanced Tracking Protection>Manage Exceptions ***/ user_pref("browser.contentblocking.category", "strict"); +/* 2702: enable state partitioning of service workers [FF96+] ***/ +user_pref("privacy.partition.serviceWorkers", true); /*** [SECTION 2800]: SHUTDOWN & SANITIZING ***/ user_pref("_user.js.parrot", "2800 syntax error: the parrot's bleedin' demised!"); @@ -1218,7 +1220,8 @@ user_pref("_user.js.parrot", "7000 syntax error: the parrot's pushing up daisies // user_pref("privacy.trackingprotection.cryptomining.enabled", true); // [DEFAULT: true] // user_pref("privacy.trackingprotection.fingerprinting.enabled", true); // [DEFAULT: true] /* 7017: disable service workers [FF32, FF44-compat] - * [WHY] Already isolated (FF96+) with TCP (2701) or blocked with TCP in 3rd parties (FF95 or lower) ***/ + * [WHY] Already isolated (FF96+) with TCP (2701) behind a pref (2702) + * or blocked with TCP in 3rd parties (FF95 or lower) ***/ // user_pref("dom.serviceWorkers.enabled", false); /*** [SECTION 8000]: DON'T BOTHER: FINGERPRINTING From 13e5fe17b195ac1e6aa04e57fdca9052f2cfee0e Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Sat, 11 Dec 2021 06:56:43 +0000 Subject: [PATCH 015/190] remove rfpalts (#1288) --- updater.bat | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/updater.bat b/updater.bat index a806ca6..badd778 100644 --- a/updater.bat +++ b/updater.bat @@ -3,10 +3,10 @@ TITLE arkenfox user.js updater REM ## arkenfox user.js updater for Windows REM ## author: @claustromaniac -REM ## version: 4.14 +REM ## version: 4.15 REM ## instructions: https://github.com/arkenfox/user.js/wiki/3.3-Updater-Scripts -SET v=4.14 +SET v=4.15 VERIFY ON CD /D "%~dp0" @@ -23,7 +23,6 @@ IF /I "%~1"=="-merge" (SET _merge=1) IF /I "%~1"=="-updatebatch" (SET _updateb=1) IF /I "%~1"=="-singlebackup" (SET _singlebackup=1) IF /I "%~1"=="-esr" (SET _esr=1) -IF /I "%~1"=="-rfpalts" (SET _rfpalts=1) SHIFT GOTO parse :endparse @@ -141,10 +140,6 @@ IF EXIST user.js.new (DEL /F "user.js.new") CALL :message "Retrieving latest user.js file from github repository..." CALL :psdownload https://raw.githubusercontent.com/arkenfox/user.js/master/user.js "user.js.new" IF EXIST user.js.new ( - IF DEFINED _rfpalts ( - CALL :message "Activating RFP Alternatives section..." - CALL :activate user.js.new "[SETUP-non-RFP]" - ) IF DEFINED _esr ( CALL :message "Activating ESR section..." CALL :activate user.js.new ".x still uses all the following prefs" @@ -320,8 +315,6 @@ ECHO: Run without user input. CALL :message " -singleBackup" ECHO: Use a single backup file and overwrite it on new updates, instead of ECHO: cumulative backups. This was the default behaviour before v4.3. -CALL :message " -rfpAlts" -ECHO: Activate RFP Alternatives section CALL :message " -updateBatch" ECHO: Update the script itself on execution, before the normal routine. CALL :message "" From 1f0dc1853df76853f6559a2ddc99a4b98db76ea3 Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Sat, 11 Dec 2021 09:13:09 +0000 Subject: [PATCH 016/190] merge scratchpads into one --- scratchpad-scripts/arkenfox-clear-removed.js | 202 ++++++++++++++++++- 1 file changed, 199 insertions(+), 3 deletions(-) diff --git a/scratchpad-scripts/arkenfox-clear-removed.js b/scratchpad-scripts/arkenfox-clear-removed.js index b78cc94..d928daf 100644 --- a/scratchpad-scripts/arkenfox-clear-removed.js +++ b/scratchpad-scripts/arkenfox-clear-removed.js @@ -1,7 +1,9 @@ /*** - This will reset the preferences that have been removed completely from the arkenfox user.js. + This will reset the preferences that have been + - removed from the arkenfox user.js. + - deprecated by Mozilla but used in the arkenfox user.js in the past - Last updated: 29-August-2021 + Last updated: 11-December-2021 For instructions see: https://github.com/arkenfox/user.js/wiki/3.1-Resetting-Inactive-Prefs-[Scripts] @@ -12,7 +14,201 @@ if ('undefined' === typeof(Services)) return alert('about:config needs to be the active tab!'); const aPREFS = [ - /* removed in arkenfox user.js */ + /* DEPRECATED */ + /* FF92+ */ + 'browser.urlbar.suggest.quicksuggest', // 95 + 'layout.css.font-visibility.level', // 94 + 'security.ssl3.rsa_des_ede3_sha', // 93 + /* FF79-91 */ + 'browser.cache.offline.storage.enable', + 'browser.download.hide_plugins_without_extensions', + 'browser.library.activity-stream.enabled', + 'browser.search.geoSpecificDefaults', + 'browser.search.geoSpecificDefaults.url', + 'dom.ipc.plugins.flash.subprocess.crashreporter.enabled', + 'dom.ipc.plugins.reportCrashURL', + 'dom.w3c_pointer_events.enabled', + 'intl.charset.fallback.override', + 'network.ftp.enabled', + 'plugin.state.flash', + 'security.mixed_content.block_object_subrequest', + 'security.ssl.errorReporting.automatic', + 'security.ssl.errorReporting.enabled', + 'security.ssl.errorReporting.url', + /* 69-78 */ + 'browser.newtabpage.activity-stream.telemetry.ping.endpoint', + 'browser.tabs.remote.allowLinkedWebInFileUriProcess', + 'browser.urlbar.oneOffSearches', + 'devtools.webide.autoinstallADBExtension', + 'devtools.webide.enabled', + 'dom.indexedDB.enabled', + 'extensions.blocklist.url', + 'geo.wifi.logging.enabled', + 'geo.wifi.uri', + 'gfx.downloadable_fonts.woff2.enabled', + 'media.autoplay.allow-muted', + 'media.autoplay.enabled.user-gestures-needed', + 'offline-apps.allow_by_default', + 'plugins.click_to_play', + 'privacy.userContext.longPressBehavior', + 'toolkit.cosmeticAnimations.enabled', + 'toolkit.telemetry.hybridContent.enabled', + 'webgl.disable-extensions', + /* 61-68 */ + 'app.update.enabled', + 'browser.aboutHomeSnippets.updateUrl', + 'browser.chrome.errorReporter.enabled', + 'browser.chrome.errorReporter.submitUrl', + 'browser.chrome.favicons', + 'browser.ctrlTab.previews', + 'browser.fixup.hide_user_pass', + 'browser.newtabpage.activity-stream.asrouter.userprefs.cfr', + 'browser.newtabpage.activity-stream.disableSnippets', + 'browser.onboarding.enabled', + 'browser.search.countryCode', + 'browser.urlbar.autocomplete.enabled', + 'devtools.webide.adbAddonURL', + 'devtools.webide.autoinstallADBHelper', + 'dom.event.highrestimestamp.enabled', + 'experiments.activeExperiment', + 'experiments.enabled', + 'experiments.manifest.uri', + 'experiments.supported', + 'lightweightThemes.update.enabled', + 'media.autoplay.enabled', + 'network.allow-experiments', + 'network.cookie.lifetime.days', + 'network.jar.block-remote-files', + 'network.jar.open-unsafe-types', + 'plugin.state.java', + 'security.csp.enable_violation_events', + 'security.csp.experimentalEnabled', + 'shield.savant.enabled', + /* 60 or earlier */ + 'browser.bookmarks.showRecentlyBookmarked', + 'browser.casting.enabled', + 'browser.crashReports.unsubmittedCheck.autoSubmit', + 'browser.formautofill.enabled', + 'browser.formfill.saveHttpsForms', + 'browser.fullscreen.animate', + 'browser.history.allowPopState', + 'browser.history.allowPushState', + 'browser.history.allowReplaceState', + 'browser.newtabpage.activity-stream.enabled', + 'browser.newtabpage.directory.ping', + 'browser.newtabpage.directory.source', + 'browser.newtabpage.enhanced', + 'browser.newtabpage.introShown', + 'browser.pocket.api', + 'browser.pocket.enabled', + 'browser.pocket.oAuthConsumerKey', + 'browser.pocket.site', + 'browser.polaris.enabled', + 'browser.safebrowsing.appRepURL', + 'browser.safebrowsing.enabled', + 'browser.safebrowsing.gethashURL', + 'browser.safebrowsing.malware.reportURL', + 'browser.safebrowsing.provider.google.appRepURL', + 'browser.safebrowsing.reportErrorURL', + 'browser.safebrowsing.reportGenericURL', + 'browser.safebrowsing.reportMalwareErrorURL', + 'browser.safebrowsing.reportMalwareMistakeURL', + 'browser.safebrowsing.reportMalwareURL', + 'browser.safebrowsing.reportPhishMistakeURL', + 'browser.safebrowsing.reportURL', + 'browser.safebrowsing.updateURL', + 'browser.search.showOneOffButtons', + 'browser.selfsupport.enabled', + 'browser.selfsupport.url', + 'browser.sessionstore.privacy_level_deferred', + 'browser.tabs.animate', + 'browser.trackingprotection.gethashURL', + 'browser.trackingprotection.updateURL', + 'browser.urlbar.unifiedcomplete', + 'browser.usedOnWindows10.introURL', + 'camera.control.autofocus_moving_callback.enabled', + 'camera.control.face_detection.enabled', + 'datareporting.healthreport.about.reportUrl', + 'datareporting.healthreport.about.reportUrlUnified', + 'datareporting.healthreport.documentServerURI', + 'datareporting.healthreport.service.enabled', + 'datareporting.policy.dataSubmissionEnabled.v2', + 'devtools.webide.autoinstallFxdtAdapters', + 'dom.archivereader.enabled', + 'dom.battery.enabled', + 'dom.beforeAfterKeyboardEvent.enabled', + 'dom.disable_image_src_set', + 'dom.disable_window_open_feature.scrollbars', + 'dom.disable_window_status_change', + 'dom.enable_user_timing', + 'dom.flyweb.enabled', + 'dom.idle-observers-api.enabled', + 'dom.keyboardevent.code.enabled', + 'dom.network.enabled', + 'dom.push.udp.wakeupEnabled', + 'dom.telephony.enabled', + 'dom.vr.oculus050.enabled', + 'dom.workers.enabled', + 'dom.workers.sharedWorkers.enabled', + 'extensions.formautofill.experimental', + 'extensions.screenshots.system-disabled', + 'extensions.shield-recipe-client.api_url', + 'extensions.shield-recipe-client.enabled', + 'full-screen-api.approval-required', + 'general.useragent.locale', + 'geo.security.allowinsecure', + 'intl.locale.matchOS', + 'loop.enabled', + 'loop.facebook.appId', + 'loop.facebook.enabled', + 'loop.facebook.fallbackUrl', + 'loop.facebook.shareUrl', + 'loop.feedback.formURL', + 'loop.feedback.manualFormURL', + 'loop.logDomains', + 'loop.server', + 'media.block-play-until-visible', + 'media.eme.apiVisible', + 'media.eme.chromium-api.enabled', + 'media.getusermedia.screensharing.allow_on_old_platforms', + 'media.getusermedia.screensharing.allowed_domains', + 'media.gmp-eme-adobe.autoupdate', + 'media.gmp-eme-adobe.enabled', + 'media.gmp-eme-adobe.visible', + 'network.http.referer.userControlPolicy', + 'network.http.sendSecureXSiteReferrer', + 'network.http.spdy.enabled.http2draft', + 'network.http.spdy.enabled.v3-1', + 'network.websocket.enabled', + 'pageThumbs.enabled', + 'pfs.datasource.url', + 'plugin.scan.Acrobat', + 'plugin.scan.Quicktime', + 'plugin.scan.WindowsMediaPlayer', + 'plugins.enumerable_names', + 'plugins.update.notifyUser', + 'plugins.update.url', + 'privacy.clearOnShutdown.passwords', + 'privacy.donottrackheader.value', + 'security.mixed_content.send_hsts_priming', + 'security.mixed_content.use_hsts', + 'security.ssl3.ecdhe_ecdsa_rc4_128_sha', + 'security.ssl3.ecdhe_rsa_rc4_128_sha', + 'security.ssl3.rsa_rc4_128_md5', + 'security.ssl3.rsa_rc4_128_sha', + 'security.tls.insecure_fallback_hosts.use_static_list', + 'security.tls.unrestricted_rc4_fallback', + 'security.xpconnect.plugin.unrestricted', + 'social.directories', + 'social.enabled', + 'social.remote-install.enabled', + 'social.share.activationPanelEnabled', + 'social.shareDirectory', + 'social.toast-notifications.enabled', + 'social.whitelist', + 'toolkit.telemetry.unifiedIsOptIn', + + /* REMOVED */ /* 92+ */ 'dom.caches.enabled', 'dom.storageManager.enabled', From 4ebabbb5692a25df6a5bf43911f13d078bb44e4e Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Sat, 11 Dec 2021 09:13:51 +0000 Subject: [PATCH 017/190] Delete arkenfox-clear-deprecated.js --- .../arkenfox-clear-deprecated.js | 232 ------------------ 1 file changed, 232 deletions(-) delete mode 100644 scratchpad-scripts/arkenfox-clear-deprecated.js diff --git a/scratchpad-scripts/arkenfox-clear-deprecated.js b/scratchpad-scripts/arkenfox-clear-deprecated.js deleted file mode 100644 index 9ef8100..0000000 --- a/scratchpad-scripts/arkenfox-clear-deprecated.js +++ /dev/null @@ -1,232 +0,0 @@ -/*** - Version: up to and including FF/ESR91 - - This will reset the preferences that have been deprecated by Mozilla - and used in the arkenfox user.js - - It is in reverse order, so feel free to remove sections that do not apply - - For instructions see: - https://github.com/arkenfox/user.js/wiki/3.1-Resetting-Inactive-Prefs-[Scripts] -***/ - -(() => { - - if ('undefined' === typeof(Services)) return alert('about:config needs to be the active tab!'); - - const aPREFS = [ - /* deprecated */ - /* FF79-91 */ - 'browser.cache.offline.storage.enable', - 'browser.download.hide_plugins_without_extensions', - 'browser.library.activity-stream.enabled', - 'browser.search.geoSpecificDefaults', - 'browser.search.geoSpecificDefaults.url', - 'dom.ipc.plugins.flash.subprocess.crashreporter.enabled', - 'dom.ipc.plugins.reportCrashURL', - 'dom.w3c_pointer_events.enabled', - 'intl.charset.fallback.override', - 'network.ftp.enabled', - 'plugin.state.flash', - 'security.mixed_content.block_object_subrequest', - 'security.ssl.errorReporting.automatic', - 'security.ssl.errorReporting.enabled', - 'security.ssl.errorReporting.url', - /* 69-78 */ - 'browser.newtabpage.activity-stream.telemetry.ping.endpoint', - 'browser.tabs.remote.allowLinkedWebInFileUriProcess', - 'browser.urlbar.oneOffSearches', - 'devtools.webide.autoinstallADBExtension', - 'devtools.webide.enabled', - 'dom.indexedDB.enabled', - 'extensions.blocklist.url', - 'geo.wifi.logging.enabled', - 'geo.wifi.uri', - 'gfx.downloadable_fonts.woff2.enabled', - 'media.autoplay.allow-muted', - 'media.autoplay.enabled.user-gestures-needed', - 'offline-apps.allow_by_default', - 'plugins.click_to_play', - 'privacy.userContext.longPressBehavior', - 'toolkit.cosmeticAnimations.enabled', - 'toolkit.telemetry.hybridContent.enabled', - 'webgl.disable-extensions', - /* 61-68 */ - 'app.update.enabled', - 'browser.aboutHomeSnippets.updateUrl', - 'browser.chrome.errorReporter.enabled', - 'browser.chrome.errorReporter.submitUrl', - 'browser.chrome.favicons', - 'browser.ctrlTab.previews', - 'browser.fixup.hide_user_pass', - 'browser.newtabpage.activity-stream.asrouter.userprefs.cfr', - 'browser.newtabpage.activity-stream.disableSnippets', - 'browser.onboarding.enabled', - 'browser.search.countryCode', - 'browser.urlbar.autocomplete.enabled', - 'devtools.webide.adbAddonURL', - 'devtools.webide.autoinstallADBHelper', - 'dom.event.highrestimestamp.enabled', - 'experiments.activeExperiment', - 'experiments.enabled', - 'experiments.manifest.uri', - 'experiments.supported', - 'lightweightThemes.update.enabled', - 'media.autoplay.enabled', - 'network.allow-experiments', - 'network.cookie.lifetime.days', - 'network.jar.block-remote-files', - 'network.jar.open-unsafe-types', - 'plugin.state.java', - 'security.csp.enable_violation_events', - 'security.csp.experimentalEnabled', - 'shield.savant.enabled', - /* 60 or earlier */ - 'browser.bookmarks.showRecentlyBookmarked', - 'browser.casting.enabled', - 'browser.crashReports.unsubmittedCheck.autoSubmit', - 'browser.formautofill.enabled', - 'browser.formfill.saveHttpsForms', - 'browser.fullscreen.animate', - 'browser.history.allowPopState', - 'browser.history.allowPushState', - 'browser.history.allowReplaceState', - 'browser.newtabpage.activity-stream.enabled', - 'browser.newtabpage.directory.ping', - 'browser.newtabpage.directory.source', - 'browser.newtabpage.enhanced', - 'browser.newtabpage.introShown', - 'browser.pocket.api', - 'browser.pocket.enabled', - 'browser.pocket.oAuthConsumerKey', - 'browser.pocket.site', - 'browser.polaris.enabled', - 'browser.safebrowsing.appRepURL', - 'browser.safebrowsing.enabled', - 'browser.safebrowsing.gethashURL', - 'browser.safebrowsing.malware.reportURL', - 'browser.safebrowsing.provider.google.appRepURL', - 'browser.safebrowsing.reportErrorURL', - 'browser.safebrowsing.reportGenericURL', - 'browser.safebrowsing.reportMalwareErrorURL', - 'browser.safebrowsing.reportMalwareMistakeURL', - 'browser.safebrowsing.reportMalwareURL', - 'browser.safebrowsing.reportPhishMistakeURL', - 'browser.safebrowsing.reportURL', - 'browser.safebrowsing.updateURL', - 'browser.search.showOneOffButtons', - 'browser.selfsupport.enabled', - 'browser.selfsupport.url', - 'browser.sessionstore.privacy_level_deferred', - 'browser.tabs.animate', - 'browser.trackingprotection.gethashURL', - 'browser.trackingprotection.updateURL', - 'browser.urlbar.unifiedcomplete', - 'browser.usedOnWindows10.introURL', - 'camera.control.autofocus_moving_callback.enabled', - 'camera.control.face_detection.enabled', - 'datareporting.healthreport.about.reportUrl', - 'datareporting.healthreport.about.reportUrlUnified', - 'datareporting.healthreport.documentServerURI', - 'datareporting.healthreport.service.enabled', - 'datareporting.policy.dataSubmissionEnabled.v2', - 'devtools.webide.autoinstallFxdtAdapters', - 'dom.archivereader.enabled', - 'dom.battery.enabled', - 'dom.beforeAfterKeyboardEvent.enabled', - 'dom.disable_image_src_set', - 'dom.disable_window_open_feature.scrollbars', - 'dom.disable_window_status_change', - 'dom.enable_user_timing', - 'dom.flyweb.enabled', - 'dom.idle-observers-api.enabled', - 'dom.keyboardevent.code.enabled', - 'dom.network.enabled', - 'dom.push.udp.wakeupEnabled', - 'dom.telephony.enabled', - 'dom.vr.oculus050.enabled', - 'dom.workers.enabled', - 'dom.workers.sharedWorkers.enabled', - 'extensions.formautofill.experimental', - 'extensions.screenshots.system-disabled', - 'extensions.shield-recipe-client.api_url', - 'extensions.shield-recipe-client.enabled', - 'full-screen-api.approval-required', - 'general.useragent.locale', - 'geo.security.allowinsecure', - 'intl.locale.matchOS', - 'loop.enabled', - 'loop.facebook.appId', - 'loop.facebook.enabled', - 'loop.facebook.fallbackUrl', - 'loop.facebook.shareUrl', - 'loop.feedback.formURL', - 'loop.feedback.manualFormURL', - 'loop.logDomains', - 'loop.server', - 'media.block-play-until-visible', - 'media.eme.apiVisible', - 'media.eme.chromium-api.enabled', - 'media.getusermedia.screensharing.allow_on_old_platforms', - 'media.getusermedia.screensharing.allowed_domains', - 'media.gmp-eme-adobe.autoupdate', - 'media.gmp-eme-adobe.enabled', - 'media.gmp-eme-adobe.visible', - 'network.http.referer.userControlPolicy', - 'network.http.sendSecureXSiteReferrer', - 'network.http.spdy.enabled.http2draft', - 'network.http.spdy.enabled.v3-1', - 'network.websocket.enabled', - 'pageThumbs.enabled', - 'pfs.datasource.url', - 'plugin.scan.Acrobat', - 'plugin.scan.Quicktime', - 'plugin.scan.WindowsMediaPlayer', - 'plugins.enumerable_names', - 'plugins.update.notifyUser', - 'plugins.update.url', - 'privacy.clearOnShutdown.passwords', - 'privacy.donottrackheader.value', - 'security.mixed_content.send_hsts_priming', - 'security.mixed_content.use_hsts', - 'security.ssl3.ecdhe_ecdsa_rc4_128_sha', - 'security.ssl3.ecdhe_rsa_rc4_128_sha', - 'security.ssl3.rsa_rc4_128_md5', - 'security.ssl3.rsa_rc4_128_sha', - 'security.tls.insecure_fallback_hosts.use_static_list', - 'security.tls.unrestricted_rc4_fallback', - 'security.xpconnect.plugin.unrestricted', - 'social.directories', - 'social.enabled', - 'social.remote-install.enabled', - 'social.share.activationPanelEnabled', - 'social.shareDirectory', - 'social.toast-notifications.enabled', - 'social.whitelist', - 'toolkit.telemetry.unifiedIsOptIn', - - /* reset parrot: check your open about:config after running the script */ - '_user.js.parrot' - ]; - - console.clear(); - - let c = 0; - for (const sPname of aPREFS) { - if (Services.prefs.prefHasUserValue(sPname)) { - Services.prefs.clearUserPref(sPname); - if (!Services.prefs.prefHasUserValue(sPname)) { - console.info('reset', sPname); - c++; - } else console.warn('failed to reset', sPname); - } - } - - focus(); - - const d = (c==1) ? ' pref' : ' prefs'; - alert(c ? 'successfully reset ' + c + d + "\n\nfor details check the console" : 'nothing to reset'); - - return 'all done'; - -})(); From 93874bda436f6365832c1ecaeb691013bab516c6 Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Sat, 11 Dec 2021 09:14:59 +0000 Subject: [PATCH 018/190] rename --- .../{arkenfox-clear-removed.js => arkenfox-cleanup.js} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename scratchpad-scripts/{arkenfox-clear-removed.js => arkenfox-cleanup.js} (100%) diff --git a/scratchpad-scripts/arkenfox-clear-removed.js b/scratchpad-scripts/arkenfox-cleanup.js similarity index 100% rename from scratchpad-scripts/arkenfox-clear-removed.js rename to scratchpad-scripts/arkenfox-cleanup.js From 460951df9e54a24540181a74379a12aaffa7798e Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Sat, 11 Dec 2021 09:37:45 +0000 Subject: [PATCH 019/190] tidy, add instructions --- scratchpad-scripts/arkenfox-cleanup.js | 27 ++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/scratchpad-scripts/arkenfox-cleanup.js b/scratchpad-scripts/arkenfox-cleanup.js index d928daf..17de71a 100644 --- a/scratchpad-scripts/arkenfox-cleanup.js +++ b/scratchpad-scripts/arkenfox-cleanup.js @@ -1,12 +1,29 @@ /*** This will reset the preferences that have been - - removed from the arkenfox user.js. - - deprecated by Mozilla but used in the arkenfox user.js in the past + - removed from the arkenfox user.js + - deprecated by Mozilla but listed in the arkenfox user.js in the past Last updated: 11-December-2021 - For instructions see: - https://github.com/arkenfox/user.js/wiki/3.1-Resetting-Inactive-Prefs-[Scripts] + Instructions: + - [optional] close Firefox and backup your profile + - [optional] disable your network connection [1] + - start Firefox + - load about:config and press Ctrl+Shift+K to open the Web Console for about:config + - using about:config is important, so the script has the right permissions + - paste this script + - if you edited the list of prefs in the script, make sure the last pref does not have a trailing comma + - hit enter + - check the Info output to see which prefs were reset + - restart + - some prefs require a restart + - a restart will reapply your user.js + - [optional] re-enable your network connection + + [1] Blocking Firefox from the internet ensures it cannot act on your reset preferences in the + period before you restart it, such as app and extension auto-updating, or downloading unwanted + components (GMP etc). It depends on what you're resetting and how long before you restart. + ***/ (() => { @@ -435,6 +452,8 @@ // 'dom.ipc.plugins.sandbox-level.default', // 'dom.ipc.plugins.sandbox-level.flash', // 'security.sandbox.logging.enabled', + + /* IMPORTANT: last active pref must not have a trailing comma */ /* reset parrot: check your open about:config after running the script */ '_user.js.parrot' ]; From af109d4696a3f8142a1023974b2a3713a89b030a Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Sat, 11 Dec 2021 11:15:34 +0000 Subject: [PATCH 020/190] tweak 7016 --- user.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/user.js b/user.js index 63579c1..279dd42 100644 --- a/user.js +++ b/user.js @@ -1213,8 +1213,9 @@ user_pref("_user.js.parrot", "7000 syntax error: the parrot's pushing up daisies * [WHY] DNT is enforced with Tracking Protection which is used in ETP Strict (2701) ***/ // user_pref("privacy.donottrackheader.enabled", true); /* 7016: customize ETP settings - * [WHY] Just use strict which sets these at runtime (2701) ***/ + * [WHY] Arkenfox only supports strict which sets these at runtime (2701) ***/ // user_pref("network.cookie.cookieBehavior", 5); + // user_pref("privacy.partition.network_state.ocsp_cache", true); // user_pref("privacy.trackingprotection.enabled", true); // user_pref("privacy.trackingprotection.socialtracking.enabled", true); // user_pref("privacy.trackingprotection.cryptomining.enabled", true); // [DEFAULT: true] From 7ec13c0323f53a959eaa7f21b425b30290112e12 Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Sat, 11 Dec 2021 12:22:00 +0000 Subject: [PATCH 021/190] sharedWorkers tweak tested in FF91+. Seems as if sharedWorkers no longer requires an explicit `Allow` --- user.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/user.js b/user.js index 279dd42..3827e00 100644 --- a/user.js +++ b/user.js @@ -806,8 +806,8 @@ user_pref("_user.js.parrot", "2800 syntax error: the parrot's bleedin' demised!" /** COOKIES + SITE DATA : ALLOWS EXCEPTIONS ***/ /* 2801: delete cookies and site data on exit * 0=keep until they expire (default), 2=keep until you close Firefox - * [NOTE] A "cookie" permission also controls localStorage/sessionStorage, idexedDB. - * sharedWorkers and serviceWorkers require an `Allow` permission + * [NOTE] A "cookie" block permission also controls localStorage/sessionStorage, idexedDB, + * sharedWorkers and serviceWorkers. serviceWorkers require an `Allow` permission * [SETTING] Privacy & Security>Cookies and Site Data>Delete cookies and site data when Firefox is closed * [SETTING] to add site exceptions: Ctrl+I>Permissions>Cookies>Allow * If using FPI the syntax must be https://example.com/^firstPartyDomain=example.com From 54810e333f4b9ef442ab66eeb412efcdcfe81eda Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Sat, 11 Dec 2021 19:17:43 +0000 Subject: [PATCH 022/190] typo --- user.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/user.js b/user.js index 3827e00..23ba046 100644 --- a/user.js +++ b/user.js @@ -806,7 +806,7 @@ user_pref("_user.js.parrot", "2800 syntax error: the parrot's bleedin' demised!" /** COOKIES + SITE DATA : ALLOWS EXCEPTIONS ***/ /* 2801: delete cookies and site data on exit * 0=keep until they expire (default), 2=keep until you close Firefox - * [NOTE] A "cookie" block permission also controls localStorage/sessionStorage, idexedDB, + * [NOTE] A "cookie" block permission also controls localStorage/sessionStorage, indexedDB, * sharedWorkers and serviceWorkers. serviceWorkers require an `Allow` permission * [SETTING] Privacy & Security>Cookies and Site Data>Delete cookies and site data when Firefox is closed * [SETTING] to add site exceptions: Ctrl+I>Permissions>Cookies>Allow From 8cdb30cc0811ae3f2198aeb24c330993f5192400 Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Sun, 12 Dec 2021 00:26:12 +0000 Subject: [PATCH 023/190] make cookie pref active @SkewedZeppelin ... https://github.com/arkenfox/user.js/issues/1051#issuecomment-991806497 --- user.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/user.js b/user.js index 23ba046..99a62e8 100644 --- a/user.js +++ b/user.js @@ -798,6 +798,7 @@ user_pref("_user.js.parrot", "2700 syntax error: the parrot's joined the bleedin * [SETTING] to add site exceptions: Urlbar>ETP Shield * [SETTING] to manage site exceptions: Options>Privacy & Security>Enhanced Tracking Protection>Manage Exceptions ***/ user_pref("browser.contentblocking.category", "strict"); +user_pref("network.cookie.cookieBehavior", 5); /* 2702: enable state partitioning of service workers [FF96+] ***/ user_pref("privacy.partition.serviceWorkers", true); @@ -1214,7 +1215,6 @@ user_pref("_user.js.parrot", "7000 syntax error: the parrot's pushing up daisies // user_pref("privacy.donottrackheader.enabled", true); /* 7016: customize ETP settings * [WHY] Arkenfox only supports strict which sets these at runtime (2701) ***/ - // user_pref("network.cookie.cookieBehavior", 5); // user_pref("privacy.partition.network_state.ocsp_cache", true); // user_pref("privacy.trackingprotection.enabled", true); // user_pref("privacy.trackingprotection.socialtracking.enabled", true); From f836e553635ffe057d49c591e6256d46158ccdf0 Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Sun, 12 Dec 2021 13:31:01 +0000 Subject: [PATCH 024/190] tidy ETP stuff --- user.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/user.js b/user.js index 99a62e8..8fea2f0 100644 --- a/user.js +++ b/user.js @@ -792,13 +792,12 @@ user_pref("extensions.postDownloadThirdPartyPrompt", false); /*** [SECTION 2700]: ETP (ENHANCED TRACKING PROTECTION) ***/ user_pref("_user.js.parrot", "2700 syntax error: the parrot's joined the bleedin' choir invisible!"); -/* 2701: enable Enhanced Tracking Protection's (ETP) Strict Mode [FF86+] +/* 2701: enable ETP Strict Mode [FF86+] * [NOTE] ETP Strict Mode enables Total Cookie Protection (TCP) * [1] https://blog.mozilla.org/security/2021/02/23/total-cookie-protection/ * [SETTING] to add site exceptions: Urlbar>ETP Shield * [SETTING] to manage site exceptions: Options>Privacy & Security>Enhanced Tracking Protection>Manage Exceptions ***/ user_pref("browser.contentblocking.category", "strict"); -user_pref("network.cookie.cookieBehavior", 5); /* 2702: enable state partitioning of service workers [FF96+] ***/ user_pref("privacy.partition.serviceWorkers", true); @@ -1214,7 +1213,9 @@ user_pref("_user.js.parrot", "7000 syntax error: the parrot's pushing up daisies * [WHY] DNT is enforced with Tracking Protection which is used in ETP Strict (2701) ***/ // user_pref("privacy.donottrackheader.enabled", true); /* 7016: customize ETP settings - * [WHY] Arkenfox only supports strict which sets these at runtime (2701) ***/ + * [WHY] Arkenfox only supports strict (2701) which sets these at runtime ***/ + // user_pref("network.cookie.cookieBehavior", 5); + // user_pref("network.http.referer.disallowCrossSiteRelaxingDefault", true); // user_pref("privacy.partition.network_state.ocsp_cache", true); // user_pref("privacy.trackingprotection.enabled", true); // user_pref("privacy.trackingprotection.socialtracking.enabled", true); From c8c86262d7dc21cfc1329cfc7fafdb286149d21d Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Sun, 12 Dec 2021 13:51:25 +0000 Subject: [PATCH 025/190] enforce SmartBlock shims --- user.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/user.js b/user.js index 8fea2f0..bdaf498 100644 --- a/user.js +++ b/user.js @@ -798,7 +798,7 @@ user_pref("_user.js.parrot", "2700 syntax error: the parrot's joined the bleedin * [SETTING] to add site exceptions: Urlbar>ETP Shield * [SETTING] to manage site exceptions: Options>Privacy & Security>Enhanced Tracking Protection>Manage Exceptions ***/ user_pref("browser.contentblocking.category", "strict"); -/* 2702: enable state partitioning of service workers [FF96+] ***/ +/* 2710: enable state partitioning of service workers [FF96+] ***/ user_pref("privacy.partition.serviceWorkers", true); /*** [SECTION 2800]: SHUTDOWN & SANITIZING ***/ @@ -1124,6 +1124,10 @@ user_pref("dom.storage.next_gen", true); // [DEFAULT: true FF92+] * [WARNING] Replaced with network partitioning (FF85+) and TCP (2701), * and enabling FPI disables those. FPI is no longer maintained ***/ user_pref("privacy.firstparty.isolate", false); // [DEFAULT: false] +/* 6009: enforce SmartBlock shims [FF81+] + * In FF96+ these are listed in about:compat + * [1] https://blog.mozilla.org/security/2021/03/23/introducing-smartblock/ ***/ +user_pref("extensions.webcompat.enable_shims", true); // [DEFAULT: true] /* 6050: prefsCleaner: reset previously active items removed from arkenfox FF92+ ***/ // placeholder From 8bc25b552db5fb1d0fbe5cd248bbc15c4aa216db Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Sun, 12 Dec 2021 15:30:53 +0000 Subject: [PATCH 026/190] expand 0650 to include any removed item this should reduce any dependency on the scratchpad script --- user.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/user.js b/user.js index bdaf498..77f79c1 100644 --- a/user.js +++ b/user.js @@ -1128,8 +1128,13 @@ user_pref("privacy.firstparty.isolate", false); // [DEFAULT: false] * In FF96+ these are listed in about:compat * [1] https://blog.mozilla.org/security/2021/03/23/introducing-smartblock/ ***/ user_pref("extensions.webcompat.enable_shims", true); // [DEFAULT: true] -/* 6050: prefsCleaner: reset previously active items removed from arkenfox FF92+ ***/ - // placeholder +/* 6050: prefsCleaner: reset items removed from arkenfox FF92+ ***/ + // user_pref(""dom.caches.enabled", ""); + // user_pref(""dom.storageManager.enabled", ""); + // user_pref(""dom.storage_access.enabled", ""); + // user_pref(""privacy.firstparty.isolate.block_post_message", ""); + // user_pref(""privacy.firstparty.isolate.restrict_opener_access", ""); + // user_pref(""privacy.firstparty.isolate.use_site", ""); /*** [SECTION 7000]: DON'T BOTHER ***/ user_pref("_user.js.parrot", "7000 syntax error: the parrot's pushing up daisies!"); From 8de87de0506c7a508958920e24ff2ca0b7026c98 Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Sun, 12 Dec 2021 15:41:55 +0000 Subject: [PATCH 027/190] update 0704: GIO, closes #1050 (#1300) https://bugzilla.mozilla.org/show_bug.cgi?id=1666725 --- user.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/user.js b/user.js index 77f79c1..5560119 100644 --- a/user.js +++ b/user.js @@ -313,9 +313,9 @@ user_pref("network.proxy.socks_remote_dns", true); * [SETUP-CHROME] Can break extensions for profiles on network shares * [1] https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/26424 ***/ user_pref("network.file.disable_unc_paths", true); // [HIDDEN PREF] -/* 0704: disable GIO as a potential proxy bypass vector [FF60+] - * Gvfs/GIO has a set of supported protocols like obex, network, archive, computer, dav, cdda, - * gphoto2, trash, etc. By default only smb and sftp protocols are accepted so far (as of FF64) +/* 0704: disable GIO as a potential proxy bypass vector + * Gvfs/GIO has a set of supported protocols like obex, network, archive, computer, + * dav, cdda, gphoto2, trash, etc. By default only sftp is accepted (FF87+) * [1] https://bugzilla.mozilla.org/1433507 * [2] https://en.wikipedia.org/wiki/GVfs * [3] https://en.wikipedia.org/wiki/GIO_(software) ***/ From 78297132b421115da2820da133c24f53de3bb658 Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Sun, 12 Dec 2021 15:44:39 +0000 Subject: [PATCH 028/190] fix syntax --- user.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/user.js b/user.js index 5560119..1ae1f9c 100644 --- a/user.js +++ b/user.js @@ -1129,12 +1129,12 @@ user_pref("privacy.firstparty.isolate", false); // [DEFAULT: false] * [1] https://blog.mozilla.org/security/2021/03/23/introducing-smartblock/ ***/ user_pref("extensions.webcompat.enable_shims", true); // [DEFAULT: true] /* 6050: prefsCleaner: reset items removed from arkenfox FF92+ ***/ - // user_pref(""dom.caches.enabled", ""); - // user_pref(""dom.storageManager.enabled", ""); - // user_pref(""dom.storage_access.enabled", ""); - // user_pref(""privacy.firstparty.isolate.block_post_message", ""); - // user_pref(""privacy.firstparty.isolate.restrict_opener_access", ""); - // user_pref(""privacy.firstparty.isolate.use_site", ""); + // user_pref("dom.caches.enabled", ""); + // user_pref("dom.storageManager.enabled", ""); + // user_pref("dom.storage_access.enabled", ""); + // user_pref("privacy.firstparty.isolate.block_post_message", ""); + // user_pref("privacy.firstparty.isolate.restrict_opener_access", ""); + // user_pref("privacy.firstparty.isolate.use_site", ""); /*** [SECTION 7000]: DON'T BOTHER ***/ user_pref("_user.js.parrot", "7000 syntax error: the parrot's pushing up daisies!"); From c269ac9f7d8226fdc53da74754a0441809ac3c7b Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Mon, 13 Dec 2021 03:49:42 +0000 Subject: [PATCH 029/190] remove duplicate --- scratchpad-scripts/arkenfox-cleanup.js | 1 - 1 file changed, 1 deletion(-) diff --git a/scratchpad-scripts/arkenfox-cleanup.js b/scratchpad-scripts/arkenfox-cleanup.js index 17de71a..c209797 100644 --- a/scratchpad-scripts/arkenfox-cleanup.js +++ b/scratchpad-scripts/arkenfox-cleanup.js @@ -152,7 +152,6 @@ 'datareporting.policy.dataSubmissionEnabled.v2', 'devtools.webide.autoinstallFxdtAdapters', 'dom.archivereader.enabled', - 'dom.battery.enabled', 'dom.beforeAfterKeyboardEvent.enabled', 'dom.disable_image_src_set', 'dom.disable_window_open_feature.scrollbars', From 238f1545f4de5b873e9e717c458c200a049c73e5 Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Mon, 13 Dec 2021 14:15:25 +0000 Subject: [PATCH 030/190] =?UTF-8?q?fixup=20thanks=20#fxbrit=20have=20a=20?= =?UTF-8?q?=F0=9F=8D=A5=20fish=20cake?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- user.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/user.js b/user.js index 1ae1f9c..88af5a7 100644 --- a/user.js +++ b/user.js @@ -1231,7 +1231,7 @@ user_pref("_user.js.parrot", "7000 syntax error: the parrot's pushing up daisies // user_pref("privacy.trackingprotection.cryptomining.enabled", true); // [DEFAULT: true] // user_pref("privacy.trackingprotection.fingerprinting.enabled", true); // [DEFAULT: true] /* 7017: disable service workers [FF32, FF44-compat] - * [WHY] Already isolated (FF96+) with TCP (2701) behind a pref (2702) + * [WHY] Already isolated (FF96+) with TCP (2701) behind a pref (2710) * or blocked with TCP in 3rd parties (FF95 or lower) ***/ // user_pref("dom.serviceWorkers.enabled", false); From 7811e912f479e1b1036ab30328d89f5d1ef7422f Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Tue, 14 Dec 2021 13:25:46 +0000 Subject: [PATCH 031/190] make push notifications inactive - they require SWers which are already blocked by virtue of permissions being session only - also remove "dom.push.userAgentID" as this means prefsCleaner resets it and would wipe user's subscriptions - not adding "dom.push.userAgentID" to the cleanup script for the same reason --- user.js | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/user.js b/user.js index 88af5a7..3e150a3 100644 --- a/user.js +++ b/user.js @@ -695,11 +695,10 @@ user_pref("dom.popup_allowed_events", "click dblclick mousedown pointerdown"); * Push allows websites to send you subscribed messages through Mozilla's Push Server, * and requires service workers to subscribe to and display, and is behind a prompt (7002) * [NOTE] Disabling service workers alone doesn't stop Firefox polling the Mozilla Push Server - * [NOTE] To remove all subscriptions, reset your userAgentID + * [NOTE] To remove all subscriptions, reset "dom.push.userAgentID" * [1] https://support.mozilla.org/kb/push-notifications-firefox * [2] https://developer.mozilla.org/docs/Web/API/Push_API ***/ -user_pref("dom.push.enabled", false); - // user_pref("dom.push.userAgentID", ""); + // user_pref("dom.push.enabled", false); /*** [SECTION 2600]: MISCELLANEOUS ***/ user_pref("_user.js.parrot", "2600 syntax error: the parrot's run down the curtain!"); @@ -807,7 +806,7 @@ user_pref("_user.js.parrot", "2800 syntax error: the parrot's bleedin' demised!" /* 2801: delete cookies and site data on exit * 0=keep until they expire (default), 2=keep until you close Firefox * [NOTE] A "cookie" block permission also controls localStorage/sessionStorage, indexedDB, - * sharedWorkers and serviceWorkers. serviceWorkers require an `Allow` permission + * sharedWorkers and serviceWorkers. serviceWorkers require an "Allow" permission * [SETTING] Privacy & Security>Cookies and Site Data>Delete cookies and site data when Firefox is closed * [SETTING] to add site exceptions: Ctrl+I>Permissions>Cookies>Allow * If using FPI the syntax must be https://example.com/^firstPartyDomain=example.com From 93f0ff89c8ff54e74b1d0cc9e27a41f653c33812 Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Wed, 15 Dec 2021 00:05:03 +0000 Subject: [PATCH 032/190] move web notifcations to don't bother --- user.js | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/user.js b/user.js index 3e150a3..3e19e34 100644 --- a/user.js +++ b/user.js @@ -687,18 +687,6 @@ user_pref("dom.disable_window_move_resize", true); user_pref("dom.disable_open_during_load", true); /* 2404: limit events that can cause a popup [SETUP-WEB] ***/ user_pref("dom.popup_allowed_events", "click dblclick mousedown pointerdown"); -/* 2410: disable Web Notifications - * [NOTE] Web Notifications are behind a prompt (7002) ***/ - // user_pref("dom.webnotifications.enabled", false); // [FF22+] - // user_pref("dom.webnotifications.serviceworker.enabled", false); // [FF44+] -/* 2411: disable Push Notifications [FF44+] - * Push allows websites to send you subscribed messages through Mozilla's Push Server, - * and requires service workers to subscribe to and display, and is behind a prompt (7002) - * [NOTE] Disabling service workers alone doesn't stop Firefox polling the Mozilla Push Server - * [NOTE] To remove all subscriptions, reset "dom.push.userAgentID" - * [1] https://support.mozilla.org/kb/push-notifications-firefox - * [2] https://developer.mozilla.org/docs/Web/API/Push_API ***/ - // user_pref("dom.push.enabled", false); /*** [SECTION 2600]: MISCELLANEOUS ***/ user_pref("_user.js.parrot", "2600 syntax error: the parrot's run down the curtain!"); @@ -1179,6 +1167,7 @@ user_pref("_user.js.parrot", "7000 syntax error: the parrot's pushing up daisies /* 7006: onions * [WHY] Firefox doesn't support hidden services. Use Tor Browser ***/ // user_pref("dom.securecontext.whitelist_onions", true); // 1382359 + // user_pref("dom.securecontext.allowlist_onions", true); // [FF97+] 1382359/1744006 // user_pref("network.http.referer.hideOnionSource", true); // 1305144 /* 7007: referers * [WHY] Only cross-origin referers (1600s) need control ***/ @@ -1233,6 +1222,16 @@ user_pref("_user.js.parrot", "7000 syntax error: the parrot's pushing up daisies * [WHY] Already isolated (FF96+) with TCP (2701) behind a pref (2710) * or blocked with TCP in 3rd parties (FF95 or lower) ***/ // user_pref("dom.serviceWorkers.enabled", false); +/* 7018: disable Web Notifications + * [WHY] Web Notifications are behind a prompt (7002) + * [1] https://blog.mozilla.org/en/products/firefox/block-notification-requests/ ***/ + // user_pref("dom.webnotifications.enabled", false); // [FF22+] + // user_pref("dom.webnotifications.serviceworker.enabled", false); // [FF44+] +/* 7019: disable Push Notifications [FF44+] + * [WHY] Push requires subscription + * [NOTE] To remove all subscriptions, reset "dom.push.userAgentID" + * [1] https://support.mozilla.org/kb/push-notifications-firefox ***/ + // user_pref("dom.push.enabled", false); /*** [SECTION 8000]: DON'T BOTHER: FINGERPRINTING [WHY] They are insufficient to help anti-fingerprinting and do more harm than good From bb56056a68906ddd178f64ab0b016c8bbe9786fb Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Wed, 15 Dec 2021 19:23:03 +0000 Subject: [PATCH 033/190] explain 0-RTT --- user.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/user.js b/user.js index 3e19e34..4d70fd3 100644 --- a/user.js +++ b/user.js @@ -481,7 +481,7 @@ user_pref("_user.js.parrot", "1200 syntax error: the parrot's a stiff!"); * safe from the attack if it disables renegotiations 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. - * [STATS] SSL Labs (July 2021) reports over 99% of sites have secure renegotiation [4] + * [STATS] SSL Labs (July 2021) reports over 99% 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 @@ -490,8 +490,11 @@ user_pref("security.ssl.require_safe_negotiation", true); /* 1203: reset TLS 1.0 and 1.1 downgrades i.e. session only ***/ user_pref("security.tls.version.enable-deprecated", false); // [DEFAULT: false] /* 1206: disable TLS1.3 0-RTT (round-trip time) [FF51+] + * This data is not forward secret, as it is encrypted solely under keys derived using + * the offered PSK. There are no guarantees of non-replay between connections * [1] https://github.com/tlswg/tls13-spec/issues/1001 - * [2] https://blog.cloudflare.com/tls-1-3-overview-and-q-and-a/ ***/ + * [2] https://www.rfc-editor.org/rfc/rfc9001.html#name-replay-attacks-with-0-rtt + * [3] https://blog.cloudflare.com/tls-1-3-overview-and-q-and-a/ ***/ user_pref("security.tls.enable_0rtt_data", false); /** OCSP (Online Certificate Status Protocol) From 6675225ec4a40bdb7d38b299893cd5b472b60c3a Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Thu, 23 Dec 2021 06:36:39 +0000 Subject: [PATCH 034/190] make 0301 inactive auto-updating is not a security nor a privacy risk, by default it should be enabled and it's on end-users if they want to disable it - does not affect windows users --- user.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/user.js b/user.js index 4d70fd3..56be810 100644 --- a/user.js +++ b/user.js @@ -142,7 +142,7 @@ user_pref("_user.js.parrot", "0300 syntax error: the parrot's not pinin' for the /* 0301: disable auto-INSTALLING Firefox updates [NON-WINDOWS] * [NOTE] You will still get prompts to update, and should do so in a timely manner * [SETTING] General>Firefox Updates>Check for updates but let you choose to install them ***/ -user_pref("app.update.auto", false); + // user_pref("app.update.auto", false); /* 0302: disable auto-INSTALLING Firefox updates via a background service [FF90+] [WINDOWS] * [SETTING] General>Firefox Updates>Automatically install updates>When Firefox is not running * [1] https://support.mozilla.org/kb/enable-background-updates-firefox-windows ***/ @@ -945,7 +945,7 @@ user_pref("privacy.resistFingerprinting.letterboxing", true); // [HIDDEN PREF] // user_pref("privacy.resistFingerprinting.exemptedDomains", "*.example.invalid"); // user_pref("privacy.resistFingerprinting.testGranularityMask", 0); /* 4506: set RFP's font visibility level (1402) [FF94+] ***/ - // user_pref("layout.css.font-visibility.resistFingerprinting", 1); + // user_pref("layout.css.font-visibility.resistFingerprinting", 1); // [DEFAULT: 1] /* 4507: disable showing about:blank as soon as possible during startup [FF60+] * When default true this no longer masks the RFP chrome resizing activity * [1] https://bugzilla.mozilla.org/1448423 ***/ From d48d3ad29a095eb0bd467040c9db5482a79dc516 Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Thu, 23 Dec 2021 21:20:28 +0000 Subject: [PATCH 035/190] remove browser.eme.ui.enabled --- scratchpad-scripts/arkenfox-cleanup.js | 1 - 1 file changed, 1 deletion(-) diff --git a/scratchpad-scripts/arkenfox-cleanup.js b/scratchpad-scripts/arkenfox-cleanup.js index c209797..6aa8c31 100644 --- a/scratchpad-scripts/arkenfox-cleanup.js +++ b/scratchpad-scripts/arkenfox-cleanup.js @@ -287,7 +287,6 @@ 'browser.cache.disk.smart_size.first_run', 'browser.cache.offline.insecure.enable', 'browser.contentblocking.enabled', - 'browser.eme.ui.enabled', 'browser.laterrun.enabled', 'browser.offline-apps.notify', 'browser.rights.3.shown', From 87bd8683fa384c0e9932230c8957ac0717a0b430 Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Thu, 23 Dec 2021 21:22:41 +0000 Subject: [PATCH 036/190] 2022: add browser.eme.ui.enabled for those who want to remove DRM prompts and have no intention of enabling it --- user.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/user.js b/user.js index 56be810..3930e10 100644 --- a/user.js +++ b/user.js @@ -660,11 +660,13 @@ user_pref("media.peerconnection.ice.default_address_only", true); * [NOTE] This is covered by the EME master switch (2022) ***/ // user_pref("media.gmp-widevinecdm.enabled", false); /* 2022: disable all DRM content (EME: Encryption Media Extension) + * Optionally hide the setting which also removes the DRM prompt * [SETUP-WEB] e.g. Netflix, Amazon Prime, Hulu, HBO, Disney+, Showtime, Starz, DirectTV * [SETTING] General>DRM Content>Play DRM-controlled content * [TEST] https://bitmovin.com/demos/drm * [1] https://www.eff.org/deeplinks/2017/10/drms-dead-canary-how-we-just-lost-web-what-we-learned-it-and-what-we-need-do-next ***/ user_pref("media.eme.enabled", false); + // user_pref("browser.eme.ui.enabled", false); /* 2030: disable autoplay of HTML5 media [FF63+] * 0=Allow all, 1=Block non-muted media (default), 5=Block all * [NOTE] You can set exceptions under site permissions From d2510b014d768d867c9f83ba7cded0a1bf280b52 Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Thu, 23 Dec 2021 23:42:28 +0000 Subject: [PATCH 037/190] move updates to personal updating (app, extensions, ext cache) is not a privacy issue - if you're willing to use Firefox but not trust updating, then I have two bricks to sell you: users who wish to disable it (to check changes first etc) and update in a timely manner, then that is on them - including any prompt fatigue - same goes for extensions: the end-user installed them (and arkenfox only recommends a very select few) - the onus is on the end-user The remaining ones I will deal with later --- user.js | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/user.js b/user.js index 3930e10..3d95610 100644 --- a/user.js +++ b/user.js @@ -139,23 +139,10 @@ user_pref("javascript.use_us_english_locale", true); // [HIDDEN PREF] /*** [SECTION 0300]: QUIETER FOX ***/ user_pref("_user.js.parrot", "0300 syntax error: the parrot's not pinin' for the fjords!"); /** UPDATES ***/ -/* 0301: disable auto-INSTALLING Firefox updates [NON-WINDOWS] - * [NOTE] You will still get prompts to update, and should do so in a timely manner - * [SETTING] General>Firefox Updates>Check for updates but let you choose to install them ***/ - // user_pref("app.update.auto", false); /* 0302: disable auto-INSTALLING Firefox updates via a background service [FF90+] [WINDOWS] * [SETTING] General>Firefox Updates>Automatically install updates>When Firefox is not running * [1] https://support.mozilla.org/kb/enable-background-updates-firefox-windows ***/ user_pref("app.update.background.scheduling.enabled", false); -/* 0303: disable auto-CHECKING for extension and theme updates ***/ - // user_pref("extensions.update.enabled", false); -/* 0304: disable auto-INSTALLING extension and theme updates (after the check in 0303) - * [SETTING] about:addons>Extensions>[cog-wheel-icon]>Update Add-ons Automatically (toggle) ***/ - // user_pref("extensions.update.autoUpdateDefault", false); -/* 0305: disable extension metadata - * used when installing/updating an extension, and in daily background update checks: - * when false, extension detail tabs will have no description ***/ - // user_pref("extensions.getAddons.cache.enabled", false); /* 0306: disable search engine updates (e.g. OpenSearch) * [NOTE] This does not affect Mozilla's built-in or Web Extension search engines ***/ user_pref("browser.search.update", false); @@ -660,7 +647,7 @@ user_pref("media.peerconnection.ice.default_address_only", true); * [NOTE] This is covered by the EME master switch (2022) ***/ // user_pref("media.gmp-widevinecdm.enabled", false); /* 2022: disable all DRM content (EME: Encryption Media Extension) - * Optionally hide the setting which also removes the DRM prompt + * Optionally hide the setting which also disables the DRM prompt * [SETUP-WEB] e.g. Netflix, Amazon Prime, Hulu, HBO, Disney+, Showtime, Starz, DirectTV * [SETTING] General>DRM Content>Play DRM-controlled content * [TEST] https://bitmovin.com/demos/drm @@ -1286,6 +1273,14 @@ user_pref("browser.startup.homepage_override.mstone", "ignore"); // master switc // user_pref("browser.warnOnQuitShortcut", false); // [FF94+] // user_pref("full-screen-api.warning.delay", 0); // user_pref("full-screen-api.warning.timeout", 0); +/* UPDATES ***/ + // user_pref("app.update.auto", false); // [NON-WINDOWS] disable auto app updates + // [NOTE] You will still get prompts to update, and should do so in a timely manner + // [SETTING] General>Firefox Updates>Check for updates but let you choose to install them + // user_pref("extensions.update.enabled", false); // disable extension and theme update checks + // user_pref("extensions.update.autoUpdateDefault", false); // disable installing extension and theme updates + // [SETTING] about:addons>Extensions>[cog-wheel-icon]>Update Add-ons Automatically (toggle) + // user_pref("extensions.getAddons.cache.enabled", false); // disable extension metadata (extension detail tab) /* APPEARANCE ***/ // user_pref("browser.download.autohideButton", false); // [FF57+] // user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true); // [FF68+] allow userChrome/userContent From 7e18f8b47365d0b4155b83809830bfd10735c164 Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Fri, 24 Dec 2021 06:01:41 +0000 Subject: [PATCH 038/190] tweak 2011 - FF85+ switched to using application regional locale - go to about:support > Internationalization & Localization (almost at the very end) - look at Application > Regional Preferences - add test --- user.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/user.js b/user.js index 3d95610..4e82ff5 100644 --- a/user.js +++ b/user.js @@ -131,8 +131,9 @@ user_pref("browser.region.update.enabled", false); // [FF79+] * [SETTING] General>Language and Appearance>Language>Choose your preferred language... * [TEST] https://addons.mozilla.org/about ***/ user_pref("intl.accept_languages", "en-US, en"); -/* 0211: use US English locale regardless of the system locale +/* 0211: use en-US locale regardless of the system or region locale * [SETUP-WEB] May break some input methods e.g xim/ibus for CJK languages [1] + * [TEST] https://arkenfox.github.io/TZP/tests/formatting.html * [1] https://bugzilla.mozilla.org/buglist.cgi?bug_id=867501,1629630 ***/ user_pref("javascript.use_us_english_locale", true); // [HIDDEN PREF] From 2787da7f90b31b19d3549b61a77210b79bd1166b Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Fri, 24 Dec 2021 06:04:38 +0000 Subject: [PATCH 039/190] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1522a3e..80ceef9 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,7 @@ Also be aware that the `arkenfox user.js` is made specifically for desktop Firef - [wiki](https://github.com/arkenfox/user.js/wiki) - [stickies](https://github.com/arkenfox/user.js/issues?q=is%3Aissue+is%3Aopen+label%3A%22sticky+topic%22) - [diffs](https://github.com/arkenfox/user.js/issues?q=is%3Aissue+label%3Adiffs) + - [common questions and answers](https://github.com/arkenfox/user.js/issues?q=is%3Aissue+label%3Aanswered) ### 🟥 acknowledgments Literally thousands of sources, references and suggestions. Many thanks, and much appreciated. From 7016c2050d20d53242c30eaf0b3beca947e172f6 Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Thu, 30 Dec 2021 03:15:56 +0000 Subject: [PATCH 040/190] move TLS 1.0/1.1 downgrades to don't bother https://bugzilla.mozilla.org/show_bug.cgi?id=1745678 --- user.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/user.js b/user.js index 4e82ff5..804f901 100644 --- a/user.js +++ b/user.js @@ -475,8 +475,6 @@ user_pref("_user.js.parrot", "1200 syntax error: the parrot's a stiff!"); * [3] https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3555 * [4] https://www.ssllabs.com/ssl-pulse/ ***/ user_pref("security.ssl.require_safe_negotiation", true); -/* 1203: reset TLS 1.0 and 1.1 downgrades i.e. session only ***/ -user_pref("security.tls.version.enable-deprecated", false); // [DEFAULT: false] /* 1206: disable TLS1.3 0-RTT (round-trip time) [FF51+] * This data is not forward secret, as it is encrypted solely under keys derived using * the offered PSK. There are no guarantees of non-replay between connections @@ -1108,6 +1106,10 @@ user_pref("privacy.firstparty.isolate", false); // [DEFAULT: false] * In FF96+ these are listed in about:compat * [1] https://blog.mozilla.org/security/2021/03/23/introducing-smartblock/ ***/ user_pref("extensions.webcompat.enable_shims", true); // [DEFAULT: true] +/* 6010: enforce/reset TLS 1.0/1.1 downgrades to session only + * [NOTE] In FF97+ the TLS 1.0/1.1 downgrade UX was removed + * [TEST] https://tls-v1-1.badssl.com:1010/ ***/ +user_pref("security.tls.version.enable-deprecated", false); // [DEFAULT: false] /* 6050: prefsCleaner: reset items removed from arkenfox FF92+ ***/ // user_pref("dom.caches.enabled", ""); // user_pref("dom.storageManager.enabled", ""); @@ -1150,7 +1152,7 @@ user_pref("_user.js.parrot", "7000 syntax error: the parrot's pushing up daisies // user_pref("security.ssl3.rsa_aes_128_sha", false); // no PFS // user_pref("security.ssl3.rsa_aes_256_sha", false); // no PFS /* 7004: control TLS versions - * [WHY] Passive fingerprinting. Downgrades are still possible: behind user interaction ***/ + * [WHY] Passive fingerprinting and security ***/ // user_pref("security.tls.version.min", 3); // [DEFAULT: 3] // user_pref("security.tls.version.max", 4); /* 7005: disable SSL session IDs [FF36+] From 06b8d8bfa3a8fd63083be4aaa1afbe0d21df8814 Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Fri, 7 Jan 2022 17:29:26 +0000 Subject: [PATCH 041/190] move 0362 to don't touch --- user.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/user.js b/user.js index 804f901..a6f8472 100644 --- a/user.js +++ b/user.js @@ -219,9 +219,6 @@ user_pref("network.captive-portal-service.enabled", false); // [FF52+] /* 0361: disable Network Connectivity checks [FF65+] * [1] https://bugzilla.mozilla.org/1460537 ***/ user_pref("network.connectivity-service.enabled", false); -/* 0362: enforce disabling of Web Compatibility Reporter [FF56+] - * Web Compatibility Reporter adds a "Report Site Issue" button to send data to Mozilla ***/ -user_pref("extensions.webcompat-reporter.enabled", false); // [DEFAULT: false] /*** [SECTION 0400]: SAFE BROWSING (SB) SB has taken many steps to preserve privacy. If required, a full url is never sent @@ -1110,6 +1107,10 @@ user_pref("extensions.webcompat.enable_shims", true); // [DEFAULT: true] * [NOTE] In FF97+ the TLS 1.0/1.1 downgrade UX was removed * [TEST] https://tls-v1-1.badssl.com:1010/ ***/ user_pref("security.tls.version.enable-deprecated", false); // [DEFAULT: false] +/* 6011: enforce disabling of Web Compatibility Reporter [FF56+] + * Web Compatibility Reporter adds a "Report Site Issue" button to send data to Mozilla + * [WHY] To prevent wasting Mozilla's time with a custom setup ***/ +user_pref("extensions.webcompat-reporter.enabled", false); // [DEFAULT: false] /* 6050: prefsCleaner: reset items removed from arkenfox FF92+ ***/ // user_pref("dom.caches.enabled", ""); // user_pref("dom.storageManager.enabled", ""); From ab7380c93b244992234e33c424f4bd7579f8e53e Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Tue, 11 Jan 2022 09:21:37 +0000 Subject: [PATCH 042/190] HoM: tweak background request info --- user.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/user.js b/user.js index a6f8472..0d9bf72 100644 --- a/user.js +++ b/user.js @@ -543,8 +543,8 @@ user_pref("dom.security.https_only_mode", true); // [FF76+] /* 1245: enable HTTPS-Only mode for local resources [FF77+] ***/ // user_pref("dom.security.https_only_mode.upgrade_local", true); /* 1246: disable HTTP background requests [FF82+] - * When attempting to upgrade, if the server doesn't respond within 3 seconds, - * Firefox sends HTTP requests in order to check if the server supports HTTPS or not + * When attempting to upgrade, if the server doesn't respond within 3 seconds, Firefox sends + * a top-level HTTP request without path in order to check if the server supports HTTPS or not * This is done to avoid waiting for a timeout which takes 90 seconds * [1] https://bugzilla.mozilla.org/buglist.cgi?bug_id=1642387,1660945 ***/ user_pref("dom.security.https_only_mode_send_http_background_request", false); From 926a2d4ac8ee7971090583c1ff190b714c227bd9 Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Wed, 12 Jan 2022 05:09:17 +0000 Subject: [PATCH 043/190] v96 deprecated, #1325 also tidy the description to reflect that the setting is hidden --- user.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/user.js b/user.js index 0d9bf72..c46cf19 100644 --- a/user.js +++ b/user.js @@ -140,10 +140,6 @@ user_pref("javascript.use_us_english_locale", true); // [HIDDEN PREF] /*** [SECTION 0300]: QUIETER FOX ***/ user_pref("_user.js.parrot", "0300 syntax error: the parrot's not pinin' for the fjords!"); /** UPDATES ***/ -/* 0302: disable auto-INSTALLING Firefox updates via a background service [FF90+] [WINDOWS] - * [SETTING] General>Firefox Updates>Automatically install updates>When Firefox is not running - * [1] https://support.mozilla.org/kb/enable-background-updates-firefox-windows ***/ -user_pref("app.update.background.scheduling.enabled", false); /* 0306: disable search engine updates (e.g. OpenSearch) * [NOTE] This does not affect Mozilla's built-in or Web Extension search engines ***/ user_pref("browser.search.update", false); @@ -1339,6 +1335,12 @@ user_pref("_user.js.parrot", "9999 syntax error: the parrot's shuffled off 'is m // 0807: disable location bar contextual suggestions [FF92+] - replaced by new 0807 // [-] https://bugzilla.mozilla.org/1735976 user_pref("browser.urlbar.suggest.quicksuggest", false); +// FF96 +// 0302: disable auto-INSTALLING Firefox updates via a background service + hide the setting [FF90+] [WINDOWS] + // [SETTING] General>Firefox Updates>Automatically install updates>When Firefox is not running + // [1] https://support.mozilla.org/kb/enable-background-updates-firefox-windows + // [-] https://bugzilla.mozilla.org/1738983 +user_pref("app.update.background.scheduling.enabled", false); // ***/ /* END: internal custom pref to test for syntax errors ***/ From bc2aba3829f6bbe5e5f8739f120cc6f6f251ffba Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Wed, 12 Jan 2022 05:25:31 +0000 Subject: [PATCH 044/190] move last update pref to personal --- user.js | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/user.js b/user.js index c46cf19..a9d2a0e 100644 --- a/user.js +++ b/user.js @@ -139,11 +139,6 @@ user_pref("javascript.use_us_english_locale", true); // [HIDDEN PREF] /*** [SECTION 0300]: QUIETER FOX ***/ user_pref("_user.js.parrot", "0300 syntax error: the parrot's not pinin' for the fjords!"); -/** UPDATES ***/ -/* 0306: disable search engine updates (e.g. OpenSearch) - * [NOTE] This does not affect Mozilla's built-in or Web Extension search engines ***/ -user_pref("browser.search.update", false); - /** RECOMMENDATIONS ***/ /* 0320: disable recommendation pane in about:addons (uses Google Analytics) ***/ user_pref("extensions.getAddons.showPane", false); // [HIDDEN PREF] @@ -1275,8 +1270,10 @@ user_pref("browser.startup.homepage_override.mstone", "ignore"); // master switc // user_pref("full-screen-api.warning.timeout", 0); /* UPDATES ***/ // user_pref("app.update.auto", false); // [NON-WINDOWS] disable auto app updates - // [NOTE] You will still get prompts to update, and should do so in a timely manner - // [SETTING] General>Firefox Updates>Check for updates but let you choose to install them + // [NOTE] You will still get prompts to update, and should do so in a timely manner + // [SETTING] General>Firefox Updates>Check for updates but let you choose to install them + // user_pref("browser.search.update", false); // disable search engine updates (e.g. OpenSearch) + // [NOTE] This does not affect Mozilla's built-in or Web Extension search engines // user_pref("extensions.update.enabled", false); // disable extension and theme update checks // user_pref("extensions.update.autoUpdateDefault", false); // disable installing extension and theme updates // [SETTING] about:addons>Extensions>[cog-wheel-icon]>Update Add-ons Automatically (toggle) From 7a4676fe2dcb5bf55974b5cbc82f8353114175d3 Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Sat, 15 Jan 2022 05:25:11 +0000 Subject: [PATCH 045/190] make 1601 setup tag more explicit, closes #1326 --- user.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/user.js b/user.js index a9d2a0e..d321a4f 100644 --- a/user.js +++ b/user.js @@ -573,7 +573,6 @@ user_pref("gfx.font_rendering.opentype_svg.enabled", false); // user_pref("layout.css.font-visibility.trackingprotection", 1); /*** [SECTION 1600]: HEADERS / REFERERS - Expect some breakage e.g. banks: use an extension if you need precise control full URI: https://example.com:8888/foo/bar.html?id=1234 scheme+host+port+path: https://example.com:8888/foo/bar.html scheme+host+port: https://example.com:8888 @@ -582,7 +581,8 @@ user_pref("gfx.font_rendering.opentype_svg.enabled", false); user_pref("_user.js.parrot", "1600 syntax error: the parrot rests in peace!"); /* 1601: control when to send a cross-origin referer * 0=always (default), 1=only if base domains match, 2=only if hosts match - * [SETUP-WEB] Known to cause issues with older modems/routers and some sites e.g vimeo, icloud, instagram ***/ + * [SETUP-WEB] Breakage: older modems/routers and some sites e.g banks, vimeo, icloud, instagram + * If "2" is too strict, then override to "0" and use Smart Referer (Strict mode + add exceptions) ***/ user_pref("network.http.referer.XOriginPolicy", 2); /* 1602: control the amount of cross-origin information to send [FF52+] * 0=send full URI (default), 1=scheme+host+port+path, 2=scheme+host+port ***/ From 09d62d2302c2306f5430a397596667ff167edce7 Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Sun, 16 Jan 2022 02:31:57 +0000 Subject: [PATCH 046/190] remove 1273: "not Secure" text on insecure sites AF has been using HTTPS-Only mode since v84, the interstitial is more than ample, padlock is still marked as insecure --- user.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/user.js b/user.js index d321a4f..22e5141 100644 --- a/user.js +++ b/user.js @@ -555,8 +555,6 @@ user_pref("browser.ssl_override_behavior", 1); * i.e. it doesn't work for HSTS discrepancies (https://subdomain.preloaded-hsts.badssl.com/) * [TEST] https://expired.badssl.com/ ***/ user_pref("browser.xul.error_pages.expert_bad_cert", true); -/* 1273: display "Not Secure" text on HTTP sites ***/ -user_pref("security.insecure_connection_text.enabled", true); // [FF60+] /*** [SECTION 1400]: FONTS ***/ user_pref("_user.js.parrot", "1400 syntax error: the parrot's bereft of life!"); From b5bf2ee0171d6bf4a428f944054f778b47a7deb9 Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Sun, 16 Jan 2022 02:34:21 +0000 Subject: [PATCH 047/190] oophs, add removed item from last commit to 6050 --- user.js | 1 + 1 file changed, 1 insertion(+) diff --git a/user.js b/user.js index 22e5141..0037897 100644 --- a/user.js +++ b/user.js @@ -1107,6 +1107,7 @@ user_pref("extensions.webcompat-reporter.enabled", false); // [DEFAULT: false] // user_pref("privacy.firstparty.isolate.block_post_message", ""); // user_pref("privacy.firstparty.isolate.restrict_opener_access", ""); // user_pref("privacy.firstparty.isolate.use_site", ""); + // user_pref("security.insecure_connection_text.enabled", ""); /*** [SECTION 7000]: DON'T BOTHER ***/ user_pref("_user.js.parrot", "7000 syntax error: the parrot's pushing up daisies!"); From 83b6d64e67d663603ff9e52a5b6627d7927ba86f Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Sun, 16 Jan 2022 02:36:08 +0000 Subject: [PATCH 048/190] security.insecure_connection_text.enabled AF has been using HTTPS-Only mode since v84, the interstitial is more than ample, padlock is still marked as insecure --- scratchpad-scripts/arkenfox-cleanup.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scratchpad-scripts/arkenfox-cleanup.js b/scratchpad-scripts/arkenfox-cleanup.js index 6aa8c31..9d2ec12 100644 --- a/scratchpad-scripts/arkenfox-cleanup.js +++ b/scratchpad-scripts/arkenfox-cleanup.js @@ -3,7 +3,7 @@ - removed from the arkenfox user.js - deprecated by Mozilla but listed in the arkenfox user.js in the past - Last updated: 11-December-2021 + Last updated: 16-January-2022 Instructions: - [optional] close Firefox and backup your profile @@ -232,6 +232,7 @@ 'privacy.firstparty.isolate.block_post_message', 'privacy.firstparty.isolate.restrict_opener_access', 'privacy.firstparty.isolate.use_site', + 'security.insecure_connection_text.enabled', /* 79-91 */ 'alerts.showFavicons', 'browser.newtabpage.activity-stream.asrouter.providers.snippets', From ac0820a5dc00e04fe14fc2a74ba75e590883293c Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Fri, 21 Jan 2022 03:48:06 +0000 Subject: [PATCH 049/190] add last bits about ETP Strict/dFPI, closes #1337 --- user.js | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/user.js b/user.js index 0037897..9c60d66 100644 --- a/user.js +++ b/user.js @@ -1,7 +1,7 @@ /****** * name: arkenfox user.js -* date: 9 December 2021 -* version 96-alpha +* date: 21 January 2021 +* version 96 * url: https://github.com/arkenfox/user.js * license: MIT: https://github.com/arkenfox/user.js/blob/master/LICENSE.txt @@ -757,11 +757,18 @@ user_pref("extensions.postDownloadThirdPartyPrompt", false); /*** [SECTION 2700]: ETP (ENHANCED TRACKING PROTECTION) ***/ user_pref("_user.js.parrot", "2700 syntax error: the parrot's joined the bleedin' choir invisible!"); /* 2701: enable ETP Strict Mode [FF86+] - * [NOTE] ETP Strict Mode enables Total Cookie Protection (TCP) + * ETP Strict Mode enables Total Cookie Protection (TCP) + * [NOTE] Adding site exceptions disables all ETP protections for that site and increases the risk of + * cross-site state tracking e.g. exceptions for SiteA and SiteB means PartyC on both sites is shared * [1] https://blog.mozilla.org/security/2021/02/23/total-cookie-protection/ * [SETTING] to add site exceptions: Urlbar>ETP Shield * [SETTING] to manage site exceptions: Options>Privacy & Security>Enhanced Tracking Protection>Manage Exceptions ***/ user_pref("browser.contentblocking.category", "strict"); +/* 2702: disable ETP web compat features [FF93+] + * [SETUP-HARDEN] Includes skip lists, heuristics (SmartBlock) and automatic grants + * [1] https://blog.mozilla.org/security/2021/07/13/smartblock-v2/ + * [2] https://hg.mozilla.org/mozilla-central/rev/e5483fd469ab#l4.12 ***/ + // user_pref("privacy.antitracking.enableWebcompat", false); /* 2710: enable state partitioning of service workers [FF96+] ***/ user_pref("privacy.partition.serviceWorkers", true); From 10044fcaf77bfe19f2b90c606232f0a9e83401c9 Mon Sep 17 00:00:00 2001 From: fabrizio Date: Sat, 22 Jan 2022 01:49:48 +0000 Subject: [PATCH 050/190] typos #1342 (#1343) --- user.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/user.js b/user.js index 9c60d66..e80a95c 100644 --- a/user.js +++ b/user.js @@ -1,6 +1,6 @@ /****** * name: arkenfox user.js -* date: 21 January 2021 +* date: 21 January 2022 * version 96 * url: https://github.com/arkenfox/user.js * license: MIT: https://github.com/arkenfox/user.js/blob/master/LICENSE.txt @@ -1089,7 +1089,7 @@ user_pref("dom.targetBlankNoOpener.enabled", true); // [DEFAULT: true] * string is restored if the tab reverts back to the original page. This change prevents some cross-site attacks * [TEST] https://arkenfox.github.io/TZP/tests/windownamea.html ***/ user_pref("privacy.window.name.update.enabled", true); // [DEFAULT: true] -/* 0607: enforce Local Storage Next Generation (LSNG) [FF65+] ***/ +/* 6007: enforce Local Storage Next Generation (LSNG) [FF65+] ***/ user_pref("dom.storage.next_gen", true); // [DEFAULT: true FF92+] /* 6008: enforce no First Party Isolation [FF51+] * [WARNING] Replaced with network partitioning (FF85+) and TCP (2701), From cc7ca9d0fa3d4ca4c929ad55c218b9bf3d0daffa Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Sat, 29 Jan 2022 05:24:41 +0000 Subject: [PATCH 051/190] cleanup dead images (#1353) --- wikipiki/backup01.png | Bin 5639 -> 0 bytes wikipiki/overview01.png | Bin 19862 -> 0 bytes wikipiki/overview02.png | Bin 11179 -> 0 bytes wikipiki/overview03.png | Bin 18001 -> 0 bytes 4 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 wikipiki/backup01.png delete mode 100644 wikipiki/overview01.png delete mode 100644 wikipiki/overview02.png delete mode 100644 wikipiki/overview03.png diff --git a/wikipiki/backup01.png b/wikipiki/backup01.png deleted file mode 100644 index e10f1ea228659521464f6508b74a1369f0d4dc03..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5639 zcmc&&cTiJrm%b?Ar3XPlY7`q%Rf-_RL=C7^snQ}K-2e)qBtS3(Q4#P{K&1*u6Dbj- zcfqJs=_En~q#Jq&HGJ{6JKxTJJF~O<&Ft(y=iYhCIrq$Y-t#>7eQaW+$Hy(k4FCY& zHT^3$0f4QU_5KCqWLfOm*h>I7)Oqa+%seQC_Cq&XTw_0Jx%N~;L~Xb~=QLT1ZZBe2 zWhh;FjAGX~X{Pj0SYtrMSJHaO_m^1dlCbNG6IZ{Cg{L*2ciw%8SRKq-Y>uiKN;`7x zd{%n)_k|Y|%cohP`d?)506^n25Dr`#_!o_$4p?l}@F=&7yMQs?n~XHx+Z!+3@Yi}W zLG@`}9p8Pq_)w{sid|kAuF|0;FlwpOK00x4(g0H6(H0L_($F z;bSQi5k)&YZnGNcS*6}$gienRt8p8RdN=HXT#l81 z>=q7T%^oj7_|}&~zx7%ew5Z%l$5us{kge!*7BXOA781p+vhX@*j@tVqW?0PgvFt7Y(YDJ(5b8@3hxd<)5HJ@{%Nf`=c&@MzA*`y3QOSAC z1qU>$HyTvAflET{M**nU|Er1M9LrU2c#_){CTN_#d(5GJHFUi+Xm@yfhI_8> zO!ZP{gWvbM9^rHh(e2i=Ctrq?+x)c%Z05NF381*Lk2Rt_y7KTQsg?=G&$BY*y9#Uh zW-EOY+@c=vP&DW@7@tHlxpY+eXC~gPf$4mjB1aEJjsPF$yuBvo5G5n#_2P#1cZF6t zzO1`^#f`9gn+&SX25C=`-TnDfDYLXZl(XIR%5*e}m1I^-HqAUE)=Vj)EM`LUW?KRV zg;VQ%5o|w9wkwJ&{QaQ3!2V&pS8JGLeaJMwz(kV8sBx`s-R`Bjt^WKQNQ4l<(jv=R z>>IjtfER96qRJ1CTJ0Fye9v$KrL#P}^u$x=rs|gy&XpY^basApJ!L;%oqx~J#z6on z{&>23IOqQBebcAPC1g=42ML{;hbUK4_rw@+Za8#N-KtJ9hhrcE+fvOlzZz_XJwBS= z1bte746)x*O@o$2rWO7zx@$OUCcSmuA{FW%r-Izd(R9i|q-$t;XT3;J{G8XSHC3$q zs#pY-Y4>AJU44+-hSikz`<4fqL$14&O0|tNaYl4wNBS-Vex4umlG&9=Y7fm%wLvTX z^0SF=3saP&=#}5AlU3P9n1jLBL+T1L5d;Dz_qXUShTw z+vzgb=e{I%k80Jl-HlPO*1R)GUhe{B(Y;7U*@KUxg<3Ma23~`emOlo|Mo*3%VPCB- z!r{o<4=T4>2Tx=Qcn`O7X84IU2Fj2X?MTmbw-{oq&K0QLgYU*=J!DW(kZKCH63S~Y z&exeyp{;lkbk_72g3VN0+VH_A{OF5aebA6`$=Ez8?j!_R<{SMPsZuptHYcq%J%AYsOOL9 zrpqgjA91Yna3Gy8&SBI{24}IR(+}O4&WPML(P=Zb#t%9lJ!4Y;9MesY0=`t{CqTI1e``8xj(b=848{qDQar`A=6lj`}4^606b zx`i!wp=*gU#26aw*Ab5(tE7iT!-^5zR%&e@op#Oe`2`3XkKWwKBGD`@qdp^byLZR# zULB&J69_DFV%n>v#kXutyxbo-ee zFnlm>=V{>8My!LjZJ^x)j|ByID`On zpZqUR2=Gi5|9@pZ4n!qL@(J+Wn3n@;T4dBw`X+G7k7m*eZ3%Vcy0IGrnp-Yf` zmo)Ld`&bG}Uk_pguqb&JZ03T3Y*0zq1vVDLy_Eq^g+tlH{n^LZS$RAwB0+afE)X_X z=}eP?-o1$%#Id-=@rwALmD}pfN?fQ2lD;ojYS1#QN*?{~D$BjsmH=EO@e8vQI5a8RgY8$zuI+jxI5xN) z;X+;x6bH^_U1Fde~F7+U8f0udp1^QGGi_|oK#H{q9^Ac+uctkDMv<=B?JmRjg753GoDpP&ons&Slk@ZqV#*D(jHnoEPDI#s-+he)z8x$fu|M;( zUsZZ6)I9fQ1M``lsf+%*#bLaOtd%>_pdB0AdXAnZxJAjZgh&~6amKjew$^6u`(Y67 z@^9F}Jtmae3@#Z!&UJ7B0W7=_auLy2&jG-G7L@9#GAUmhPO<^Y5Q0!6GLh{ch>C@# z0IYM+^G|RbyamZbO6!KP1IMA@DW@48E&JX z;=P1Su0CEfV)TPb6$o3n`UEVTwI(}1%>ZF=0<+};FXepIWslo zy5#3}`L8pw77aZPay9?$DEJ^ukidQvcHtcR(QYODGuE))Ln!;!RmedC``8x<;Zg$# zXAMgn!9!+5VEU|KnahxUyT@3&TmJ1F`2`N5O@`vO=}cc{`$)r-mq?2wL7bS<(PD6} zp&A|HEvwc3V3U{uKIo5 z-~Nw(sZs?#%H?r^X0w^Xa`OE4N9%S=ryG#iPG8u@VBoTaRKhix)6}(Wro$1n{24Npjtnk6a+6929?Gm zj#rF(7U9&o?@=8dSE=mYXXb=%{kX3oQaX%l!Ts_`%6vhQ?-+cy>(jZdZCtY%Yah^j z7F|-O__AW?B@u_dUUKH;M?NEzU1*NybbfiRzu~R6Ov7AE+i#7WT&V>=tHibdX1iA- zRqAiB8Q$7DYo%|OWSd=T4)ajfCYd{1@5xrgjxDW8PiaRC{>E^z!~j_hTV>}pjl~RG z7DTRz!DhIcSL4pzJhML&HTHD^>cgDn9#M*;YVUIRh=27QW(kx`8)mU@ekTg5x&I3ST9K8n3)zyPPYOX z-D<$|^;}SS!Lg+$C`-y58awl<3!HSe9Glk4*{a&b95r0sYCD{?bplKf%+OHvAUqUS zt7jy!wA7W;I0x}o3teP=zT+Vf?xTH|lrX9*NzzHM)djUBpRcrE7Z99HCc0?;-U&J7 z#9d-n_C{XptghQg?s^PWl;a5ck+@(r!gcNoVlSnDuM=&q7hrbRn3nWJK6=;h9?8Gl z@czZm<$8A@pJTynQ%ZmZAx_OR*PZF&#Wu9q(!W8 z7<0x(K5NI_>}dwnyt(^>K%3JMw<>tFO9}~H>>IPE4R7mFQBen& zYuz2QU0m8)TD)O+HXy9%ayJM6)4 zd2O(w;PtBxl>*vNzV93?*8c4CiX}aK*I0ViEN z=WMA00DKZRhL9Z!a*Rcs>XfLIXu8u$OG+=UgAq4giHwfaqQ8s$9iS={O}8Y6owT$K ztw|X2bP0SZTlm*r9gyKg?1s0B9`&}mshq$TH0oM&^OJXj!;vOg>D9HAmD?Yo7va`z(aLBRO_&eB5FDMpevT>kk4~# z2X;Ervg%;jH3(;0{J>!#d@M!=Y_mv0ETyDI$n88e3D&8!jt=e3|9<;*5335wTFe3W z|517VxwBhpU+uJKm5JmKg_Q5*H}nyzRuw-)&(zc?W)n0BKU3m-vNVfia`JX diff --git a/wikipiki/overview01.png b/wikipiki/overview01.png deleted file mode 100644 index 2c8f3b60d732604803fe1bd7eef5ec361d5f790f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19862 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 E2f+KbJOBUy diff --git a/wikipiki/overview02.png b/wikipiki/overview02.png deleted file mode 100644 index 28638fbf1573b81b22378f15a93373b8214557ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11179 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 Date: Sun, 30 Jan 2022 03:20:59 +0000 Subject: [PATCH 052/190] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 80ceef9..b76dd2e 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ A `user.js` is a configuration file that can control hundreds of Firefox setting The `arkenfox user.js` is a **template** which aims to provide as much privacy and enhanced security as possible, and to reduce tracking and fingerprinting as much as possible - while minimizing any loss of functionality and breakage (but it will happen). -Everyone, experts included, should at least read the [implementation](https://github.com/arkenfox/user.js/wiki/1.3-Implementation) wiki page, as it contains important information regarding a few `user.js` settings. +Everyone, experts included, should at least read the [wiki](https://github.com/arkenfox/user.js/wiki), as it contains important information regarding a few `user.js` settings. Note that we do *not* recommend connecting over Tor on Firefox. Use the [Tor Browser](https://www.torproject.org/projects/torbrowser.html.en) if your [threat model](https://www.torproject.org/about/torusers.html.en) calls for it, or for accessing hidden services. From 0d9de9174ad011d94645660e2780cf1b1f79d14d Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Sun, 30 Jan 2022 03:23:06 +0000 Subject: [PATCH 053/190] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b76dd2e..38f7293 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ ### 🟪 user.js -A `user.js` is a configuration file that can control hundreds of Firefox settings. For a more technical breakdown and explanation, you can read more on the [overview](https://github.com/arkenfox/user.js/wiki/1.1-Overview) wiki page. +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) ### 🟩 the arkenfox user.js From 4c74f1bffb4242ec613168307566d593c6fb4401 Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Sun, 30 Jan 2022 08:53:08 +0000 Subject: [PATCH 054/190] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 38f7293..2f33ad9 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ The `arkenfox user.js` is a **template** which aims to provide as much privacy a Everyone, experts included, should at least read the [wiki](https://github.com/arkenfox/user.js/wiki), as it contains important information regarding a few `user.js` settings. -Note that we do *not* recommend connecting over Tor on Firefox. Use the [Tor Browser](https://www.torproject.org/projects/torbrowser.html.en) if your [threat model](https://www.torproject.org/about/torusers.html.en) calls for it, or for accessing hidden services. +Note that we do *not* recommend connecting over Tor on Firefox. Use the [Tor Browser](https://www.torproject.org/projects/torbrowser.html.en) if your [threat model](https://2019.www.torproject.org/about/torusers.html) calls for it, or for accessing hidden services. Also be aware that the `arkenfox user.js` is made specifically for desktop Firefox. Using it as-is in other Gecko-based browsers can be counterproductive, especially in the Tor Browser. From 89bee0e3612be471d427cd81540bd54db1955c9d Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Mon, 31 Jan 2022 03:08:22 +1300 Subject: [PATCH 055/190] Add files via upload --- wikipiki/rfpCanvas.png | Bin 0 -> 5559 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 wikipiki/rfpCanvas.png diff --git a/wikipiki/rfpCanvas.png b/wikipiki/rfpCanvas.png new file mode 100644 index 0000000000000000000000000000000000000000..97488cc218750d38ec88771429a35f1e323370dd GIT binary patch literal 5559 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 literal 0 HcmV?d00001 From 917e3fe1aad0be2ae93787e4cbaeb33112a6f8c1 Mon Sep 17 00:00:00 2001 From: xfzv <78810647+xfzv@users.noreply.github.com> Date: Sun, 6 Feb 2022 12:23:20 +0000 Subject: [PATCH 056/190] Update wiki link for updater options (#1364) --- updater.bat | 4 ++-- updater.sh | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/updater.bat b/updater.bat index badd778..eef06f0 100644 --- a/updater.bat +++ b/updater.bat @@ -3,8 +3,8 @@ TITLE arkenfox user.js updater REM ## arkenfox user.js updater for Windows REM ## author: @claustromaniac -REM ## version: 4.15 -REM ## instructions: https://github.com/arkenfox/user.js/wiki/3.3-Updater-Scripts +REM ## version: 4.16 +REM ## instructions: https://github.com/arkenfox/user.js/wiki/5.1-Updater-[Options]#-windows SET v=4.15 diff --git a/updater.sh b/updater.sh index a1f7070..8295720 100755 --- a/updater.sh +++ b/updater.sh @@ -2,7 +2,7 @@ ## arkenfox user.js updater for macOS and Linux -## version: 3.2 +## version: 3.3 ## Author: Pat Johnson (@overdodactyl) ## Additional contributors: @earthlng, @ema-pe, @claustromaniac @@ -62,7 +62,7 @@ show_banner() { #### #### ############################################################################" echo -e "${NC}\n" - echo -e "Documentation for this script is available here: ${CYAN}https://github.com/arkenfox/user.js/wiki/3.3-Updater-Scripts${NC}\n" + echo -e "Documentation for this script is available here: ${CYAN}https://github.com/arkenfox/user.js/wiki/5.1-Updater-[Options]#-maclinux${NC}\n" } ######################### From 562127be87ff1115f1d5c7bebd5890efd801b064 Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Sun, 6 Feb 2022 15:27:50 +0000 Subject: [PATCH 057/190] Update troubleshooting-help.md --- .../ISSUE_TEMPLATE/troubleshooting-help.md | 35 ++++++++++--------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/troubleshooting-help.md b/.github/ISSUE_TEMPLATE/troubleshooting-help.md index 955c367..5e8c1f6 100644 --- a/.github/ISSUE_TEMPLATE/troubleshooting-help.md +++ b/.github/ISSUE_TEMPLATE/troubleshooting-help.md @@ -7,23 +7,24 @@ assignees: '' --- -Before you proceed... - - Issues will be closed as invalid if you do not [troubleshoot](https://github.com/arkenfox/user.js/wiki/1.4-Troubleshooting), including - - confirming the problem is caused by the `user.js` - - searching the `[Setup` tags in the `user.js` - - Search the GitHub repository. The information you need is most likely here already. - - Note: We do not support forks + + +https://github.com/arkenfox/user.js/wiki/5.2-Troubleshooting +- [ ] _I have read the troubleshooting guide, done the checks and confirmed this is caused by arkenfox:_ + +Information + - Browser version & OS: + - Steps to Reproduce (STR): + - Expected result: + - Actual result: + - Console errors and warnings: + - Anything else you deem worth mentioning: + +--- -Clear all of this when you're ready to type. From d61da93aad93904ba3deaf20ead1f5fcde1369cd Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Sun, 6 Feb 2022 15:30:25 +0000 Subject: [PATCH 058/190] Update troubleshooting-help.md --- .github/ISSUE_TEMPLATE/troubleshooting-help.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/troubleshooting-help.md b/.github/ISSUE_TEMPLATE/troubleshooting-help.md index 5e8c1f6..a27d59e 100644 --- a/.github/ISSUE_TEMPLATE/troubleshooting-help.md +++ b/.github/ISSUE_TEMPLATE/troubleshooting-help.md @@ -15,10 +15,10 @@ We do not support forks. --> -https://github.com/arkenfox/user.js/wiki/5.2-Troubleshooting -- [ ] _I have read the troubleshooting guide, done the checks and confirmed this is caused by arkenfox:_ +🟥 https://github.com/arkenfox/user.js/wiki/5.2-Troubleshooting +- [ ] I have read the troubleshooting guide, done the checks and confirmed this is caused by arkenfox -Information +🟪 INFO - Browser version & OS: - Steps to Reproduce (STR): - Expected result: @@ -27,4 +27,3 @@ Information - Anything else you deem worth mentioning: --- - From 58e2618b9ddb436867f1701733a07ab286eb1b3f Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Wed, 9 Feb 2022 20:00:43 +0000 Subject: [PATCH 059/190] dom.securecontext.whitelist_onions replaced by dom.securecontext.allowlist_onions - https://bugzilla.mozilla.org/1744006 --- scratchpad-scripts/arkenfox-cleanup.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scratchpad-scripts/arkenfox-cleanup.js b/scratchpad-scripts/arkenfox-cleanup.js index 9d2ec12..af6193f 100644 --- a/scratchpad-scripts/arkenfox-cleanup.js +++ b/scratchpad-scripts/arkenfox-cleanup.js @@ -3,7 +3,7 @@ - removed from the arkenfox user.js - deprecated by Mozilla but listed in the arkenfox user.js in the past - Last updated: 16-January-2022 + Last updated: 9-February-2022 Instructions: - [optional] close Firefox and backup your profile @@ -34,6 +34,7 @@ /* DEPRECATED */ /* FF92+ */ 'browser.urlbar.suggest.quicksuggest', // 95 + 'dom.securecontext.whitelist_onions', // 97 'layout.css.font-visibility.level', // 94 'security.ssl3.rsa_des_ede3_sha', // 93 /* FF79-91 */ From a98b73c64e2e0b505efb6b23d34e6c5d90abe2c8 Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Mon, 14 Feb 2022 00:15:00 +1300 Subject: [PATCH 060/190] v97 (#1346) --- user.js | 64 ++++++++++++++++++++++++++++++--------------------------- 1 file changed, 34 insertions(+), 30 deletions(-) diff --git a/user.js b/user.js index e80a95c..9098913 100644 --- a/user.js +++ b/user.js @@ -1,25 +1,24 @@ /****** -* name: arkenfox user.js -* date: 21 January 2022 -* version 96 -* url: https://github.com/arkenfox/user.js +* name: arkenfox user.js +* date: 12 February 2022 +* version: 97 +* url: https://github.com/arkenfox/user.js * license: MIT: https://github.com/arkenfox/user.js/blob/master/LICENSE.txt * README: 1. Consider using Tor Browser if it meets your needs or fits your threat model * https://2019.www.torproject.org/about/torusers.html - 2. Required reading: Overview, Backing Up, Implementing, and Maintenance entries + 2. Read the entire wiki * https://github.com/arkenfox/user.js/wiki 3. If you skipped step 2, return to step 2 - 4. Make changes + 4. Make changes in a user-overrides.js * There are often trade-offs and conflicts between security vs privacy vs anti-tracking and these need to be balanced against functionality & convenience & breakage * Some site breakage and unintended consequences will happen. Everyone's experience will differ e.g. some user data is erased on exit (section 2800), change this to suit your needs * While not 100% definitive, search for "[SETUP" tags e.g. third party images/videos not loading on some sites? check 1601 - * Take the wiki link in step 2 and read the Troubleshooting entry 5. Some tag info [SETUP-SECURITY] it's one item, read it [SETUP-WEB] can cause some websites to break @@ -159,7 +158,7 @@ user_pref("datareporting.policy.dataSubmissionEnabled", false); * [SETTING] Privacy & Security>Firefox Data Collection & Use>Allow Firefox to send technical... data ***/ user_pref("datareporting.healthreport.uploadEnabled", false); /* 0332: disable telemetry - * The "unified" pref affects the behaviour of the "enabled" pref + * The "unified" pref affects the behavior of the "enabled" pref * - If "unified" is false then "enabled" controls the telemetry module * - If "unified" is true then "enabled" only controls whether to record extended data * [NOTE] "toolkit.telemetry.enabled" is now LOCKED to reflect prerelease (true) or release builds (false) [2] @@ -235,16 +234,16 @@ user_pref("_user.js.parrot", "0400 syntax error: the parrot's passed on!"); * To verify the safety of certain executable files, Firefox may submit some information about the * file, including the name, origin, size and a cryptographic hash of the contents, to the Google * Safe Browsing service which helps Firefox determine whether or not the file should be blocked - * [SETUP-SECURITY] If you do not understand this, or you want this protection, then override it ***/ + * [SETUP-SECURITY] If you do not understand this, or you want this protection, then override this ***/ user_pref("browser.safebrowsing.downloads.remote.enabled", false); -user_pref("browser.safebrowsing.downloads.remote.url", ""); + // user_pref("browser.safebrowsing.downloads.remote.url", ""); // Defense-in-depth /* 0404: disable SB checks for unwanted software * [SETTING] Privacy & Security>Security>... "Warn you about unwanted and uncommon software" ***/ // user_pref("browser.safebrowsing.downloads.remote.block_potentially_unwanted", false); // user_pref("browser.safebrowsing.downloads.remote.block_uncommon", false); /* 0405: disable "ignore this warning" on SB warnings [FF45+] * If clicked, it bypasses the block for that session. This is a means for admins to enforce SB - * [TEST] see github wiki APPENDIX A: Test Sites: Section 5 + * [TEST] see https://github.com/arkenfox/user.js/wiki/Appendix-A-Test-Sites#-mozilla * [1] https://bugzilla.mozilla.org/1226490 ***/ // user_pref("browser.safebrowsing.allowOverride", false); @@ -263,7 +262,9 @@ user_pref("network.predictor.enable-prefetch", false); // [FF48+] [DEFAULT: fals /* 0604: disable link-mouseover opening connection to linked server * [1] https://news.slashdot.org/story/15/08/14/2321202/how-to-quash-firefoxs-silent-requests ***/ user_pref("network.http.speculative-parallel-limit", 0); -/* 0605: enforce no "Hyperlink Auditing" (click tracking) +/* 0605: disable mousedown speculative connections on bookmarks and history [FF98+] ***/ +user_pref("browser.places.speculativeConnect.enabled", false); +/* 0610: enforce no "Hyperlink Auditing" (click tracking) * [1] https://www.bleepingcomputer.com/news/software/major-browsers-to-prevent-disabling-of-click-tracking-privacy-risk/ ***/ // user_pref("browser.send_pings", false); // [DEFAULT: false] @@ -306,7 +307,7 @@ user_pref("network.gio.supported-protocols", ""); // [HIDDEN PREF] * [WARNING] If false, this will break the fallback for some security features * [SETUP-CHROME] If you use a proxy and you understand the security impact * [1] https://bugzilla.mozilla.org/buglist.cgi?bug_id=1732792,1733994,1733481 ***/ - // user_pref("network.proxy.allow_bypass", false); // [HIDDEN PREF] + // user_pref("network.proxy.allow_bypass", false); // [HIDDEN PREF FF95-96] /* 0710: disable DNS-over-HTTPS (DoH) rollout [FF60+] * 0=off by default, 2=TRR (Trusted Recursive Resolver) first, 3=TRR only, 5=explicitly off * see "doh-rollout.home-region": USA Feb 2020, Canada July 2021 [3] @@ -323,8 +324,7 @@ user_pref("_user.js.parrot", "0800 syntax error: the parrot's ceased to be!"); * Examples: "secretplace,com", "secretplace/com", "secretplace com", "secret place.com" * [NOTE] This does not affect explicit user action such as using search buttons in the * dropdown, or using keyword search shortcuts you configure in options (e.g. "d" for DuckDuckGo) - * [SETUP-CHROME] If you don't, or rarely, type URLs, or you use a default search - * engine that respects privacy, then you probably don't need this ***/ + * [SETUP-CHROME] Override this if you trust and use a privacy respecting search engine ***/ user_pref("keyword.enabled", false); /* 0802: disable location bar domain guessing * domain guessing intercepts DNS "hostname not found errors" and resends a @@ -338,7 +338,7 @@ user_pref("browser.fixup.alternate.enabled", false); user_pref("browser.urlbar.trimURLs", false); /* 0804: disable live search suggestions * [NOTE] Both must be true for the location bar to work - * [SETUP-CHROME] Change these if you trust and use a privacy respecting search engine + * [SETUP-CHROME] Override these if you trust and use a privacy respecting search engine * [SETTING] Search>Provide search suggestions | Show search suggestions in address bar results ***/ user_pref("browser.search.suggest.enabled", false); user_pref("browser.urlbar.suggest.searches", false); @@ -452,11 +452,11 @@ user_pref("browser.shell.shortcutFavicons", false); user_pref("_user.js.parrot", "1200 syntax error: the parrot's a stiff!"); /** SSL (Secure Sockets Layer) / TLS (Transport Layer Security) ***/ /* 1201: require safe negotiation - * Blocks connections (SSL_ERROR_UNSAFE_NEGOTIATION) to servers that don't support RFC 5746 [2] - * as they're potentially vulnerable to a MiTM attack [3]. A server without RFC 5746 can be - * safe from the attack if it disables renegotiations 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. + * Blocks connections to servers that don't support RFC 5746 [2] as they're potentially vulnerable to a + * MiTM attack [3]. A server without RFC 5746 can be safe from the attack if it disables renegotiations + * 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 (July 2021) reports over 99% of top sites have secure renegotiation [4] * [1] https://wiki.mozilla.org/Security:Renegotiation * [2] https://datatracker.ietf.org/doc/html/rfc5746 @@ -580,7 +580,7 @@ user_pref("_user.js.parrot", "1600 syntax error: the parrot rests in peace!"); /* 1601: control when to send a cross-origin referer * 0=always (default), 1=only if base domains match, 2=only if hosts match * [SETUP-WEB] Breakage: older modems/routers and some sites e.g banks, vimeo, icloud, instagram - * If "2" is too strict, then override to "0" and use Smart Referer (Strict mode + add exceptions) ***/ + * If "2" is too strict, then override to "0" and use Smart Referer extension (Strict mode + add exceptions) ***/ user_pref("network.http.referer.XOriginPolicy", 2); /* 1602: control the amount of cross-origin information to send [FF52+] * 0=send full URI (default), 1=scheme+host+port+path, 2=scheme+host+port ***/ @@ -598,7 +598,7 @@ user_pref("_user.js.parrot", "1700 syntax error: the parrot's bit the dust!"); * [SETTING] General>Tabs>Enable Container Tabs ***/ user_pref("privacy.userContext.enabled", true); user_pref("privacy.userContext.ui.enabled", true); -/* 1702: set behaviour on "+ Tab" button to display container menu on left click [FF74+] +/* 1702: set behavior on "+ Tab" button to display container menu on left click [FF74+] * [NOTE] The menu is always shown on long press and right click * [SETTING] General>Tabs>Enable Container Tabs>Settings>Select a container for each new tab ***/ // user_pref("privacy.userContext.newTabContainerOnLeftClick.enabled", true); @@ -766,8 +766,10 @@ user_pref("_user.js.parrot", "2700 syntax error: the parrot's joined the bleedin user_pref("browser.contentblocking.category", "strict"); /* 2702: disable ETP web compat features [FF93+] * [SETUP-HARDEN] Includes skip lists, heuristics (SmartBlock) and automatic grants + * Opener Heuristics are granted for 30 days and Redirect Heuristics for 15 minutes, see [3] * [1] https://blog.mozilla.org/security/2021/07/13/smartblock-v2/ - * [2] https://hg.mozilla.org/mozilla-central/rev/e5483fd469ab#l4.12 ***/ + * [2] https://hg.mozilla.org/mozilla-central/rev/e5483fd469ab#l4.12 + * [3] https://developer.mozilla.org/en-US/docs/Web/Privacy/State_Partitioning#storage_access_heuristics ***/ // user_pref("privacy.antitracking.enableWebcompat", false); /* 2710: enable state partitioning of service workers [FF96+] ***/ user_pref("privacy.partition.serviceWorkers", true); @@ -781,7 +783,6 @@ user_pref("_user.js.parrot", "2800 syntax error: the parrot's bleedin' demised!" * sharedWorkers and serviceWorkers. serviceWorkers require an "Allow" permission * [SETTING] Privacy & Security>Cookies and Site Data>Delete cookies and site data when Firefox is closed * [SETTING] to add site exceptions: Ctrl+I>Permissions>Cookies>Allow - * If using FPI the syntax must be https://example.com/^firstPartyDomain=example.com * [SETTING] to manage site exceptions: Options>Privacy & Security>Permissions>Settings ***/ user_pref("network.cookie.lifetimePolicy", 2); /* 2802: delete cache on exit [FF96+] @@ -952,7 +953,7 @@ user_pref("browser.link.open_newwindow", 3); // [DEFAULT: 3] * [1] https://searchfox.org/mozilla-central/source/dom/tests/browser/browser_test_new_window_from_content.js ***/ user_pref("browser.link.open_newwindow.restriction", 0); /* 4520: disable WebGL (Web Graphics Library) - * [SETUP-WEB] If you need it then enable it. RFP still randomizes canvas for naive scripts ***/ + * [SETUP-WEB] If you need it then override it. RFP still randomizes canvas for naive scripts ***/ user_pref("webgl.disabled", true); /*** [SECTION 5000]: OPTIONAL OPSEC @@ -1029,8 +1030,8 @@ user_pref("_user.js.parrot", "5000 syntax error: the parrot's taken 'is last bow // user_pref("browser.download.folderList", 2); /*** [SECTION 5500]: OPTIONAL HARDENING - Not recommended. Keep in mind that these can cause breakage and performance - issues, are mostly fingerpintable, and the threat model is practically zero + Not recommended. Overriding these can cause breakage and performance issues, + they are mostly fingerprintable, and the threat model is practically nonexistent ***/ user_pref("_user.js.parrot", "5500 syntax error: this is an ex-parrot!"); /* 5501: disable MathML (Mathematical Markup Language) [FF51+] @@ -1125,7 +1126,7 @@ user_pref("_user.js.parrot", "7000 syntax error: the parrot's pushing up daisies // user_pref("geo.enabled", false); // user_pref("full-screen-api.enabled", false); // user_pref("browser.cache.offline.enable", false); - // user_pref("dom.vr.enabled", false); + // user_pref("dom.vr.enabled", false); // [DEFAULT: false FF97+] /* 7002: set default permissions * Location, Camera, Microphone, Notifications [FF58+] Virtual Reality [FF73+] * 0=always ask (default), 1=allow, 2=block @@ -1159,7 +1160,6 @@ user_pref("_user.js.parrot", "7000 syntax error: the parrot's pushing up daisies // user_pref("security.ssl.disable_session_identifiers", true); // [HIDDEN PREF] /* 7006: onions * [WHY] Firefox doesn't support hidden services. Use Tor Browser ***/ - // user_pref("dom.securecontext.whitelist_onions", true); // 1382359 // user_pref("dom.securecontext.allowlist_onions", true); // [FF97+] 1382359/1744006 // user_pref("network.http.referer.hideOnionSource", true); // 1305144 /* 7007: referers @@ -1344,6 +1344,10 @@ user_pref("browser.urlbar.suggest.quicksuggest", false); // [1] https://support.mozilla.org/kb/enable-background-updates-firefox-windows // [-] https://bugzilla.mozilla.org/1738983 user_pref("app.update.background.scheduling.enabled", false); +// FF97 +// 7006: onions - replaced by new 7006 "allowlist" + // [-] https://bugzilla.mozilla.org/1744006 + // user_pref("dom.securecontext.whitelist_onions", true); // 1382359 // ***/ /* END: internal custom pref to test for syntax errors ***/ From 41468d0d0bf287589e9ab2c012aa0eded1388610 Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Sun, 13 Feb 2022 13:11:26 +0000 Subject: [PATCH 061/190] Update troubleshooting-help.md --- .github/ISSUE_TEMPLATE/troubleshooting-help.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/troubleshooting-help.md b/.github/ISSUE_TEMPLATE/troubleshooting-help.md index a27d59e..ea7f92f 100644 --- a/.github/ISSUE_TEMPLATE/troubleshooting-help.md +++ b/.github/ISSUE_TEMPLATE/troubleshooting-help.md @@ -11,12 +11,14 @@ assignees: '' Issues will be closed as invalid if you do not troubleshoot first, or if you ignore the steps in the template. -We do not support forks. +We do not support forks or no-longer supported releases. --> + 🟥 https://github.com/arkenfox/user.js/wiki/5.2-Troubleshooting - [ ] I have read the troubleshooting guide, done the checks and confirmed this is caused by arkenfox + - _unchecked issues ~~may~~ will closed as invalid_ 🟪 INFO - Browser version & OS: From 4bd17611df133b8ab3077df495ab7197c1844eea Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Sun, 13 Feb 2022 13:11:55 +0000 Subject: [PATCH 062/190] Update troubleshooting-help.md --- .github/ISSUE_TEMPLATE/troubleshooting-help.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/troubleshooting-help.md b/.github/ISSUE_TEMPLATE/troubleshooting-help.md index ea7f92f..ee0a8c7 100644 --- a/.github/ISSUE_TEMPLATE/troubleshooting-help.md +++ b/.github/ISSUE_TEMPLATE/troubleshooting-help.md @@ -18,7 +18,7 @@ We do not support forks or no-longer supported releases. 🟥 https://github.com/arkenfox/user.js/wiki/5.2-Troubleshooting - [ ] I have read the troubleshooting guide, done the checks and confirmed this is caused by arkenfox - - _unchecked issues ~~may~~ will closed as invalid_ + - _unchecked issues ~~may~~ will be closed as invalid_ 🟪 INFO - Browser version & OS: From ba052105de3c4be2e34cf103f08b2f28c6d5b496 Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Mon, 14 Feb 2022 05:38:13 +1300 Subject: [PATCH 063/190] Add files via upload --- wikipiki/rfpCanvasException.png | Bin 0 -> 7765 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 wikipiki/rfpCanvasException.png diff --git a/wikipiki/rfpCanvasException.png b/wikipiki/rfpCanvasException.png new file mode 100644 index 0000000000000000000000000000000000000000..6889f80924c3cff60b656dd56ec70f266ebd04f1 GIT binary patch literal 7765 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 O1LUPuq-rJ1LjMP~Z54L_ literal 0 HcmV?d00001 From 382b9181dfb9d4d6ae010af526e7410383137fd5 Mon Sep 17 00:00:00 2001 From: Thorin-Oakenpants Date: Sun, 20 Feb 2022 19:00:32 +1300 Subject: [PATCH 064/190] Add files via upload --- wikipiki/uboCustom.png | Bin 0 -> 12439 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 wikipiki/uboCustom.png diff --git a/wikipiki/uboCustom.png b/wikipiki/uboCustom.png new file mode 100644 index 0000000000000000000000000000000000000000..2b8c443aa48bb8c40ea41cc80e259d4a554a5e62 GIT binary patch literal 12439 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 Date: Thu, 24 Feb 2022 00:26:15 +0000 Subject: [PATCH 065/190] Update troubleshooting-help.md --- .github/ISSUE_TEMPLATE/troubleshooting-help.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/troubleshooting-help.md b/.github/ISSUE_TEMPLATE/troubleshooting-help.md index ee0a8c7..b5c7564 100644 --- a/.github/ISSUE_TEMPLATE/troubleshooting-help.md +++ b/.github/ISSUE_TEMPLATE/troubleshooting-help.md @@ -9,7 +9,7 @@ assignees: ''