mirror of
https://github.com/arkenfox/user.js.git
synced 2025-09-04 10:58:31 +02:00
Compare commits
63 Commits
v67.0-beta
...
v69.0-beta
Author | SHA1 | Date | |
---|---|---|---|
2c734612f6 | |||
a12dd83b1f | |||
44d9ceaf05 | |||
be9d9ac9ca | |||
66cdb72927 | |||
953b96431e | |||
4d72ad90b0 | |||
cccb5b10b4 | |||
810045eb39 | |||
b47982bb9a | |||
0691b8babe | |||
8d1c95c650 | |||
19484e1a56 | |||
755ebf88fb | |||
d26ea4f39e | |||
a0f3da208f | |||
5166811bd5 | |||
86bfdd1470 | |||
90ef9e63eb | |||
f2200fd442 | |||
aff595b6ea | |||
6618bf5f76 | |||
9aa8e27ef4 | |||
9c782fbf57 | |||
931462b30b | |||
217553b367 | |||
469bbc1ab3 | |||
11dcc54b61 | |||
d40d7dbabd | |||
b80c515e88 | |||
ed735f875c | |||
55b720faec | |||
31567c7938 | |||
8f939c91fe | |||
27bd07d496 | |||
42281a9e52 | |||
8f40c97fd1 | |||
9642452c48 | |||
8f1c3018ca | |||
f85eb9d0c2 | |||
408a992893 | |||
23c884a5f8 | |||
51089fbad9 | |||
83b4ada670 | |||
7df6c676be | |||
e338186953 | |||
fa61a7c25b | |||
dafd0894e6 | |||
06cf53d63e | |||
fc545b4d27 | |||
3c5f58b812 | |||
7d7f580bfc | |||
ca5d6b3317 | |||
9e7f9de56f | |||
8a204b5db0 | |||
690a93b71d | |||
0da3835a49 | |||
a92c4086bb | |||
9b7771fe76 | |||
2265b73521 | |||
01aae1b346 | |||
c2dbdcd4ec | |||
f53b996cfa |
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -13,3 +13,4 @@
|
|||||||
.gitattributes export-ignore
|
.gitattributes export-ignore
|
||||||
*.yml export-ignore
|
*.yml export-ignore
|
||||||
/wikipiki export-ignore
|
/wikipiki export-ignore
|
||||||
|
/.github export-ignore
|
||||||
|
18
.github/ISSUE_TEMPLATE/tools.md
vendored
Normal file
18
.github/ISSUE_TEMPLATE/tools.md
vendored
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
---
|
||||||
|
name: Tools
|
||||||
|
about: Report issues with the updaters, the troubleshooter, or any other tools.
|
||||||
|
title: ''
|
||||||
|
labels: ''
|
||||||
|
assignees: ''
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Please specify:
|
||||||
|
- the name of the file (i.e. updater.bat, updater.sh)
|
||||||
|
- steps to reproduce the issue
|
||||||
|
- actual result
|
||||||
|
- expected result
|
||||||
|
|
||||||
|
Blank out this field before typing, or start typing after the next line.
|
||||||
|
-->
|
29
.github/ISSUE_TEMPLATE/troubleshooting-help.md
vendored
Normal file
29
.github/ISSUE_TEMPLATE/troubleshooting-help.md
vendored
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
---
|
||||||
|
name: Troubleshooting help
|
||||||
|
about: Ask for help to solve problems with user.js
|
||||||
|
title: ''
|
||||||
|
labels: ''
|
||||||
|
assignees: ''
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Before you proceed...
|
||||||
|
- Keep reading this. Seriously.
|
||||||
|
- Note that we do not support forks (i.e. IceCat, Pale Moon, WaterFox, etc).
|
||||||
|
- Make sure you searched for the `[Setup` tags in the `user.js`.
|
||||||
|
- Search the GitHub repository. The information you need is most likely here already.
|
||||||
|
- Check out our [troubleshooting](https://github.com/ghacksuserjs/ghacks-user.js/wiki/1.4-Troubleshooting) wiki page, including steps to see if the problem is caused by the `user.js` or an extension.
|
||||||
|
|
||||||
|
See also:
|
||||||
|
- Extension breakage due to prefs [issue 391](https://github.com/ghacksuserjs/ghacks-user.js/issues/391)
|
||||||
|
- Prefs vs Recommended Extensions: Co-Existance+Enhancement | Conflicts [issue 350](https://github.com/ghacksuserjs/ghacks-user.js/issues/350)
|
||||||
|
- The extension CSP header modification game [issue 664](https://github.com/ghacksuserjs/ghacks-user.js/issues/664)
|
||||||
|
|
||||||
|
If you still need help, help us help you by providing relevant information:
|
||||||
|
- browser version
|
||||||
|
- Steps to Reproduce (STR)
|
||||||
|
- actual result
|
||||||
|
- expected result
|
||||||
|
- anything else you deem worth mentioning
|
||||||
|
|
||||||
|
Clear all of this when you're ready to type.
|
15
.github/ISSUE_TEMPLATE/user-js.md
vendored
Normal file
15
.github/ISSUE_TEMPLATE/user-js.md
vendored
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
---
|
||||||
|
name: user.js
|
||||||
|
about: Suggest changes to user.js
|
||||||
|
title: ''
|
||||||
|
labels: ''
|
||||||
|
assignees: ''
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
We value feedback in general, but we value feedback from informed users more. There is no need for you to be an expert to participate (most of us aren't), but we hope that you at least understand our decisions before questioning them. We discuss all changes openly, and we do not make changes lightly. So, if you don't understand why we decided to add/remove/change a certain pref, search the repo. The answer is most certainly here.
|
||||||
|
|
||||||
|
If some change we made took you by surprise (in the wrong way), remember that keeping track of changes is your responsibility. Watch the repo, read the [changelogs](https://github.com/ghacksuserjs/ghacks-user.js/issues?utf8=✓&q=is%3Aissue+label%3Achangelog), compare [releases](https://github.com/ghacksuserjs/ghacks-user.js/releases) as you update your copy of user.js, or use any other method you prefer.
|
||||||
|
|
||||||
|
Clear all of this when you're ready to type.
|
||||||
|
|
@ -1,7 +1,7 @@
|
|||||||
/***
|
/***
|
||||||
This will reset the preferences that have been removed completely from the ghacks user.js.
|
This will reset the preferences that have been removed completely from the ghacks user.js.
|
||||||
|
|
||||||
Last updated: 05-May-2019
|
Last updated: 01-September-2019
|
||||||
|
|
||||||
For instructions see:
|
For instructions see:
|
||||||
https://github.com/ghacksuserjs/ghacks-user.js/wiki/3.1-Resetting-Inactive-Prefs-[Scripts]
|
https://github.com/ghacksuserjs/ghacks-user.js/wiki/3.1-Resetting-Inactive-Prefs-[Scripts]
|
||||||
@ -193,6 +193,19 @@
|
|||||||
'services.blocklist.plugins.collection',
|
'services.blocklist.plugins.collection',
|
||||||
'services.blocklist.update_enabled',
|
'services.blocklist.update_enabled',
|
||||||
'urlclassifier.trackingTable',
|
'urlclassifier.trackingTable',
|
||||||
|
/* 68-beta */
|
||||||
|
'dom.forms.datetime',
|
||||||
|
'font.blacklist.underline_offset',
|
||||||
|
'font.name.monospace.x-unicode',
|
||||||
|
'font.name.monospace.x-western',
|
||||||
|
'font.name.sans-serif.x-unicode',
|
||||||
|
'font.name.sans-serif.x-western',
|
||||||
|
'font.name.serif.x-unicode',
|
||||||
|
'font.name.serif.x-western',
|
||||||
|
'layout.css.font-loading-api.enabled',
|
||||||
|
'toolkit.telemetry.cachedClientID',
|
||||||
|
/* 69-beta */
|
||||||
|
'plugin.sessionPermissionNow.intervalInMinutes',
|
||||||
/* reset parrot: check your open about:config after running the script */
|
/* reset parrot: check your open about:config after running the script */
|
||||||
'_user.js.parrot'
|
'_user.js.parrot'
|
||||||
]
|
]
|
||||||
|
51
updater.bat
51
updater.bat
@ -3,10 +3,10 @@ TITLE ghacks user.js updater
|
|||||||
|
|
||||||
REM ## ghacks-user.js updater for Windows
|
REM ## ghacks-user.js updater for Windows
|
||||||
REM ## author: @claustromaniac
|
REM ## author: @claustromaniac
|
||||||
REM ## version: 4.6
|
REM ## version: 4.10
|
||||||
REM ## instructions: https://github.com/ghacksuserjs/ghacks-user.js/wiki/3.3-Updater-Scripts
|
REM ## instructions: https://github.com/ghacksuserjs/ghacks-user.js/wiki/3.3-Updater-Scripts
|
||||||
|
|
||||||
SET v=4.7
|
SET v=4.10
|
||||||
|
|
||||||
VERIFY ON
|
VERIFY ON
|
||||||
CD /D "%~dp0"
|
CD /D "%~dp0"
|
||||||
@ -22,6 +22,8 @@ IF /I "%~1"=="-multioverrides" (SET _multi=1)
|
|||||||
IF /I "%~1"=="-merge" (SET _merge=1)
|
IF /I "%~1"=="-merge" (SET _merge=1)
|
||||||
IF /I "%~1"=="-updatebatch" (SET _updateb=1)
|
IF /I "%~1"=="-updatebatch" (SET _updateb=1)
|
||||||
IF /I "%~1"=="-singlebackup" (SET _singlebackup=1)
|
IF /I "%~1"=="-singlebackup" (SET _singlebackup=1)
|
||||||
|
IF /I "%~1"=="-esr" (SET _esr=1)
|
||||||
|
IF /I "%~1"=="-rfpalts" (SET _rfpalts=1)
|
||||||
SHIFT
|
SHIFT
|
||||||
GOTO parse
|
GOTO parse
|
||||||
:endparse
|
:endparse
|
||||||
@ -82,7 +84,7 @@ ECHO:
|
|||||||
ECHO: ########################################
|
ECHO: ########################################
|
||||||
ECHO: #### user.js Updater for Windows ####
|
ECHO: #### user.js Updater for Windows ####
|
||||||
ECHO: #### by claustromaniac ####
|
ECHO: #### by claustromaniac ####
|
||||||
ECHO: #### v!v! ####
|
ECHO: #### v!v! ####
|
||||||
ECHO: ########################################
|
ECHO: ########################################
|
||||||
ECHO:
|
ECHO:
|
||||||
SET /A "_line=0"
|
SET /A "_line=0"
|
||||||
@ -131,6 +133,14 @@ CALL :message "Retrieving latest user.js file from github repository..."
|
|||||||
PowerShell -Command "(New-Object Net.WebClient).DownloadFile('https://raw.githubusercontent.com/ghacksuserjs/ghacks-user.js/master/user.js', 'user.js.new')"
|
PowerShell -Command "(New-Object Net.WebClient).DownloadFile('https://raw.githubusercontent.com/ghacksuserjs/ghacks-user.js/master/user.js', 'user.js.new')"
|
||||||
) >nul 2>&1
|
) >nul 2>&1
|
||||||
IF EXIST 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"
|
||||||
|
)
|
||||||
IF DEFINED _multi (
|
IF DEFINED _multi (
|
||||||
FORFILES /P user.js-overrides /M *.js >nul 2>&1
|
FORFILES /P user.js-overrides /M *.js >nul 2>&1
|
||||||
IF NOT ERRORLEVEL 1 (
|
IF NOT ERRORLEVEL 1 (
|
||||||
@ -196,7 +206,7 @@ IF NOT DEFINED _log (
|
|||||||
)
|
)
|
||||||
EXIT /B
|
EXIT /B
|
||||||
|
|
||||||
REM ########### Message Function ###########
|
::::::::::::::: Message :::::::::::::::
|
||||||
:message
|
:message
|
||||||
SETLOCAL DisableDelayedExpansion
|
SETLOCAL DisableDelayedExpansion
|
||||||
IF NOT "2"=="%_log%" (ECHO:)
|
IF NOT "2"=="%_log%" (ECHO:)
|
||||||
@ -205,7 +215,28 @@ IF NOT "2"=="%_log%" (ECHO:)
|
|||||||
ENDLOCAL
|
ENDLOCAL
|
||||||
GOTO :EOF
|
GOTO :EOF
|
||||||
|
|
||||||
REM ############ Merge function ############
|
::::::::::::::: Activate Section :::::::::::::::
|
||||||
|
:activate
|
||||||
|
:: arg1 = file
|
||||||
|
:: arg2 = line substring
|
||||||
|
SETLOCAL DisableDelayedExpansion
|
||||||
|
(
|
||||||
|
FOR /F "tokens=1,* delims=:" %%G IN ('FINDSTR /N "^" "%~1"') DO (
|
||||||
|
SET "_temp=%%H"
|
||||||
|
SETLOCAL EnableDelayedExpansion
|
||||||
|
IF "!_temp:%~2=!"=="!_temp!" (
|
||||||
|
ENDLOCAL & ECHO:%%H
|
||||||
|
) ELSE (
|
||||||
|
ECHO://!_temp:~2!
|
||||||
|
ENDLOCAL
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)>updatertempfile
|
||||||
|
MOVE /Y updatertempfile "%~1" >nul
|
||||||
|
ENDLOCAL
|
||||||
|
GOTO :EOF
|
||||||
|
|
||||||
|
::::::::::::::: Merge :::::::::::::::
|
||||||
:merge
|
:merge
|
||||||
SETLOCAL DisableDelayedExpansion
|
SETLOCAL DisableDelayedExpansion
|
||||||
FOR /F tokens^=2^,^*^ delims^=^'^" %%G IN ('FINDSTR /R /C:"^user_pref[ ]*\([ ]*[\"'].*[\"'][ ]*,.*\)[ ]*;" "%~1"') DO (SET "[%%G]=%%H")
|
FOR /F tokens^=2^,^*^ delims^=^'^" %%G IN ('FINDSTR /R /C:"^user_pref[ ]*\([ ]*[\"'].*[\"'][ ]*,.*\)[ ]*;" "%~1"') DO (SET "[%%G]=%%H")
|
||||||
@ -244,11 +275,13 @@ MOVE /Y updatertempfile "%~1" >nul
|
|||||||
ENDLOCAL
|
ENDLOCAL
|
||||||
GOTO :EOF
|
GOTO :EOF
|
||||||
|
|
||||||
REM ############### Help ##################
|
::::::::::::::: Help :::::::::::::::
|
||||||
:showhelp
|
:showhelp
|
||||||
MODE 80,46
|
MODE 80,54
|
||||||
CLS
|
CLS
|
||||||
CALL :message "Available arguments (case-insensitive):"
|
CALL :message "Available arguments (case-insensitive):"
|
||||||
|
CALL :message " -esr"
|
||||||
|
ECHO: Activate ESR related preferences
|
||||||
CALL :message " -log"
|
CALL :message " -log"
|
||||||
ECHO: Write the console output to a logfile (user.js-update-log.txt)
|
ECHO: Write the console output to a logfile (user.js-update-log.txt)
|
||||||
CALL :message " -logP"
|
CALL :message " -logP"
|
||||||
@ -272,7 +305,9 @@ ECHO: Run without user input.
|
|||||||
CALL :message " -singleBackup"
|
CALL :message " -singleBackup"
|
||||||
ECHO: Use a single backup file and overwrite it on new updates, instead of
|
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.
|
ECHO: cumulative backups. This was the default behaviour before v4.3.
|
||||||
CALL :message " -updatebatch"
|
CALL :message " -rfpAlts"
|
||||||
|
ECHO: Activate RFP Alternatives section
|
||||||
|
CALL :message " -updateBatch"
|
||||||
ECHO: Update the script itself on execution, before the normal routine.
|
ECHO: Update the script itself on execution, before the normal routine.
|
||||||
CALL :message ""
|
CALL :message ""
|
||||||
PAUSE
|
PAUSE
|
||||||
|
171
user.js
171
user.js
@ -1,8 +1,8 @@
|
|||||||
/******
|
/******
|
||||||
* name: ghacks user.js
|
* name: ghacks user.js
|
||||||
* date: 28 May 2019
|
* date: 4 September 2019
|
||||||
* version 67-beta: Barbie Pants
|
* version 69-beta: Pants One More Time
|
||||||
* "I'm a Barbie pants in a Barbie world. Life in plastic, it's fantastic"
|
* "When I'm not with pants I lose my mind. Give me a sign. Hit me, pants, one more time."
|
||||||
* authors: v52+ github | v51- www.ghacks.net
|
* authors: v52+ github | v51- www.ghacks.net
|
||||||
* url: https://github.com/ghacksuserjs/ghacks-user.js
|
* url: https://github.com/ghacksuserjs/ghacks-user.js
|
||||||
* license: MIT: https://github.com/ghacksuserjs/ghacks-user.js/blob/master/LICENSE.txt
|
* license: MIT: https://github.com/ghacksuserjs/ghacks-user.js/blob/master/LICENSE.txt
|
||||||
@ -112,10 +112,8 @@ user_pref("browser.newtabpage.activity-stream.telemetry.ping.endpoint", "");
|
|||||||
/* 0105b: disable Activity Stream Snippets
|
/* 0105b: disable Activity Stream Snippets
|
||||||
* Runs code received from a server (aka Remote Code Execution) and sends information back to a metrics server
|
* Runs code received from a server (aka Remote Code Execution) and sends information back to a metrics server
|
||||||
* [1] https://abouthome-snippets-service.readthedocs.io/ ***/
|
* [1] https://abouthome-snippets-service.readthedocs.io/ ***/
|
||||||
user_pref("browser.aboutHomeSnippets.updateUrl", "");
|
|
||||||
user_pref("browser.newtabpage.activity-stream.asrouter.providers.snippets", "");
|
|
||||||
user_pref("browser.newtabpage.activity-stream.disableSnippets", true);
|
|
||||||
user_pref("browser.newtabpage.activity-stream.feeds.snippets", false);
|
user_pref("browser.newtabpage.activity-stream.feeds.snippets", false);
|
||||||
|
user_pref("browser.newtabpage.activity-stream.asrouter.providers.snippets", "");
|
||||||
/* 0105c: disable Activity Stream Top Stories, Pocket-based and/or sponsored content ***/
|
/* 0105c: disable Activity Stream Top Stories, Pocket-based and/or sponsored content ***/
|
||||||
user_pref("browser.newtabpage.activity-stream.feeds.section.topstories", false);
|
user_pref("browser.newtabpage.activity-stream.feeds.section.topstories", false);
|
||||||
user_pref("browser.newtabpage.activity-stream.section.highlights.includePocket", false);
|
user_pref("browser.newtabpage.activity-stream.section.highlights.includePocket", false);
|
||||||
@ -202,11 +200,6 @@ user_pref("app.update.auto", false);
|
|||||||
* used when installing/updating an extension, and in daily background update checks: if false, it
|
* used when installing/updating an extension, and in daily background update checks: if false, it
|
||||||
* hides the expanded text description (if it exists) when you "show more details about an addon" ***/
|
* hides the expanded text description (if it exists) when you "show more details about an addon" ***/
|
||||||
// user_pref("extensions.getAddons.cache.enabled", false);
|
// user_pref("extensions.getAddons.cache.enabled", false);
|
||||||
/* 0307: disable auto updating of lightweight themes (LWT)
|
|
||||||
* Not to be confused with themes in 0301* + 0302*, which use the FF55+ Theme API
|
|
||||||
* Mozilla plan to convert existing LWTs and remove LWT support in the future, see [1]
|
|
||||||
* [1] https://blog.mozilla.org/addons/2018/09/20/future-themes-here/ ***/
|
|
||||||
user_pref("lightweightThemes.update.enabled", false);
|
|
||||||
/* 0308: disable search update
|
/* 0308: disable search update
|
||||||
* [SETTING] General>Firefox Updates>Automatically update search engines ***/
|
* [SETTING] General>Firefox Updates>Automatically update search engines ***/
|
||||||
user_pref("browser.search.update", false);
|
user_pref("browser.search.update", false);
|
||||||
@ -214,9 +207,13 @@ user_pref("browser.search.update", false);
|
|||||||
user_pref("dom.ipc.plugins.flash.subprocess.crashreporter.enabled", false);
|
user_pref("dom.ipc.plugins.flash.subprocess.crashreporter.enabled", false);
|
||||||
/* 0310: disable sending the URL of the website where a plugin crashed ***/
|
/* 0310: disable sending the URL of the website where a plugin crashed ***/
|
||||||
user_pref("dom.ipc.plugins.reportCrashURL", false);
|
user_pref("dom.ipc.plugins.reportCrashURL", false);
|
||||||
/* 0320: disable about:addons' Get Add-ons panel (uses Google Analytics) ***/
|
/* 0320: disable about:addons' Recommendations pane (uses Google Analytics) ***/
|
||||||
user_pref("extensions.getAddons.showPane", false); // [HIDDEN PREF]
|
user_pref("extensions.getAddons.showPane", false); // [HIDDEN PREF]
|
||||||
user_pref("extensions.webservice.discoverURL", "");
|
user_pref("extensions.webservice.discoverURL", "");
|
||||||
|
/* 0321: disable recommendations in about:addons' Extensions and Themes panes [FF68+] ***/
|
||||||
|
user_pref("extensions.getAddons.discovery.api_url", "");
|
||||||
|
user_pref("extensions.htmlaboutaddons.discover.enabled", false);
|
||||||
|
user_pref("extensions.htmlaboutaddons.recommendations.enabled", false);
|
||||||
/* 0330: disable telemetry
|
/* 0330: disable telemetry
|
||||||
* the pref (.unified) affects the behaviour of the pref (.enabled)
|
* the pref (.unified) affects the behaviour of the pref (.enabled)
|
||||||
* IF unified=false then .enabled controls the telemetry module
|
* IF unified=false then .enabled controls the telemetry module
|
||||||
@ -230,7 +227,6 @@ user_pref("toolkit.telemetry.unified", false);
|
|||||||
user_pref("toolkit.telemetry.enabled", false); // see [NOTE] above FF58+
|
user_pref("toolkit.telemetry.enabled", false); // see [NOTE] above FF58+
|
||||||
user_pref("toolkit.telemetry.server", "data:,");
|
user_pref("toolkit.telemetry.server", "data:,");
|
||||||
user_pref("toolkit.telemetry.archive.enabled", false);
|
user_pref("toolkit.telemetry.archive.enabled", false);
|
||||||
user_pref("toolkit.telemetry.cachedClientID", "");
|
|
||||||
user_pref("toolkit.telemetry.newProfilePing.enabled", false); // [FF55+]
|
user_pref("toolkit.telemetry.newProfilePing.enabled", false); // [FF55+]
|
||||||
user_pref("toolkit.telemetry.shutdownPingSender.enabled", false); // [FF55+]
|
user_pref("toolkit.telemetry.shutdownPingSender.enabled", false); // [FF55+]
|
||||||
user_pref("toolkit.telemetry.updatePing.enabled", false); // [FF56+]
|
user_pref("toolkit.telemetry.updatePing.enabled", false); // [FF56+]
|
||||||
@ -271,9 +267,8 @@ user_pref("browser.crashReports.unsubmittedCheck.autoSubmit2", false); // [FF58+
|
|||||||
* [2] https://www.gnu.gl/blog/Posts/multiple-vulnerabilities-in-pocket/ ***/
|
* [2] https://www.gnu.gl/blog/Posts/multiple-vulnerabilities-in-pocket/ ***/
|
||||||
user_pref("extensions.pocket.enabled", false);
|
user_pref("extensions.pocket.enabled", false);
|
||||||
/* 0390: disable Captive Portal detection
|
/* 0390: disable Captive Portal detection
|
||||||
* [1] https://en.wikipedia.org/wiki/Captive_portal
|
* [1] https://www.eff.org/deeplinks/2017/08/how-captive-portals-interfere-wireless-security-and-privacy
|
||||||
* [2] https://wiki.mozilla.org/Necko/CaptivePortal
|
* [2] https://wiki.mozilla.org/Necko/CaptivePortal ***/
|
||||||
* [3] https://trac.torproject.org/projects/tor/ticket/21790 ***/
|
|
||||||
user_pref("captivedetect.canonicalURL", "");
|
user_pref("captivedetect.canonicalURL", "");
|
||||||
user_pref("network.captive-portal-service.enabled", false); // [FF52+]
|
user_pref("network.captive-portal-service.enabled", false); // [FF52+]
|
||||||
/* 0391: disable Network Connectivity checks [FF65+]
|
/* 0391: disable Network Connectivity checks [FF65+]
|
||||||
@ -422,7 +417,8 @@ user_pref("network.http.altsvc.oe", false);
|
|||||||
user_pref("network.proxy.socks_remote_dns", true);
|
user_pref("network.proxy.socks_remote_dns", true);
|
||||||
/* 0707: disable (or setup) DNS-over-HTTPS (DoH) [FF60+]
|
/* 0707: disable (or setup) DNS-over-HTTPS (DoH) [FF60+]
|
||||||
* TRR = Trusted Recursive Resolver
|
* TRR = Trusted Recursive Resolver
|
||||||
* .mode: 0=off, 1=race, 2=TRR first, 3=TRR only, 4=race for stats but always use native result
|
* 0=off, 1=race (removed in FF69), 2=TRR first, 3=TRR only,
|
||||||
|
* 4=race for stats but always use native result (removed in FF69)
|
||||||
* [WARNING] DoH bypasses hosts and gives info to yet another party (e.g. Cloudflare)
|
* [WARNING] DoH bypasses hosts and gives info to yet another party (e.g. Cloudflare)
|
||||||
* [1] https://www.ghacks.net/2018/04/02/configure-dns-over-https-in-firefox/
|
* [1] https://www.ghacks.net/2018/04/02/configure-dns-over-https-in-firefox/
|
||||||
* [2] https://hacks.mozilla.org/2018/05/a-cartoon-intro-to-dns-over-https/ ***/
|
* [2] https://hacks.mozilla.org/2018/05/a-cartoon-intro-to-dns-over-https/ ***/
|
||||||
@ -481,7 +477,7 @@ user_pref("browser.sessionhistory.max_entries", 10);
|
|||||||
/* 0805: disable CSS querying page history - CSS history leak
|
/* 0805: disable CSS querying page history - CSS history leak
|
||||||
* [NOTE] This has NEVER been fully "resolved": in Mozilla/docs it is stated it's
|
* [NOTE] This has NEVER been fully "resolved": in Mozilla/docs it is stated it's
|
||||||
* only in 'certain circumstances', also see latest comments in [2]
|
* only in 'certain circumstances', also see latest comments in [2]
|
||||||
* [TEST] http://lcamtuf.coredump.cx/yahh/ (see github wiki APPENDIX C on how to use)
|
* [TEST] http://lcamtuf.coredump.cx/yahh/ (see github wiki APPENDIX A on how to use)
|
||||||
* [1] https://dbaron.org/mozilla/visited-privacy
|
* [1] https://dbaron.org/mozilla/visited-privacy
|
||||||
* [2] https://bugzilla.mozilla.org/147777
|
* [2] https://bugzilla.mozilla.org/147777
|
||||||
* [3] https://developer.mozilla.org/docs/Web/CSS/Privacy_and_the_:visited_selector ***/
|
* [3] https://developer.mozilla.org/docs/Web/CSS/Privacy_and_the_:visited_selector ***/
|
||||||
@ -528,10 +524,6 @@ user_pref("browser.formfill.enable", false);
|
|||||||
* [NOTE] We also clear history and downloads on exiting Firefox (see 2803)
|
* [NOTE] We also clear history and downloads on exiting Firefox (see 2803)
|
||||||
* [SETTING] Privacy & Security>History>Custom Settings>Remember browsing and download history ***/
|
* [SETTING] Privacy & Security>History>Custom Settings>Remember browsing and download history ***/
|
||||||
// user_pref("places.history.enabled", false);
|
// user_pref("places.history.enabled", false);
|
||||||
/* 0864: disable date/time picker
|
|
||||||
* This can leak your locale if not en-US
|
|
||||||
* [1] https://trac.torproject.org/projects/tor/ticket/21787 ***/
|
|
||||||
user_pref("dom.forms.datetime", false);
|
|
||||||
/* 0870: disable Windows jumplist [WINDOWS] ***/
|
/* 0870: disable Windows jumplist [WINDOWS] ***/
|
||||||
user_pref("browser.taskbar.lists.enabled", false);
|
user_pref("browser.taskbar.lists.enabled", false);
|
||||||
user_pref("browser.taskbar.lists.frequent.enabled", false);
|
user_pref("browser.taskbar.lists.frequent.enabled", false);
|
||||||
@ -594,6 +586,7 @@ user_pref("browser.cache.disk.enable", false);
|
|||||||
* [1] http://kb.mozillazine.org/Browser.cache.disk_cache_ssl ***/
|
* [1] http://kb.mozillazine.org/Browser.cache.disk_cache_ssl ***/
|
||||||
user_pref("browser.cache.disk_cache_ssl", false);
|
user_pref("browser.cache.disk_cache_ssl", false);
|
||||||
/* 1003: disable memory cache
|
/* 1003: disable memory cache
|
||||||
|
/* capacity: -1=determine dynamically (default), 0=none, n=memory capacity in kilobytes
|
||||||
* [NOTE] Not recommended due to performance issues ***/
|
* [NOTE] Not recommended due to performance issues ***/
|
||||||
// user_pref("browser.cache.memory.enable", false);
|
// user_pref("browser.cache.memory.enable", false);
|
||||||
// user_pref("browser.cache.memory.capacity", 0); // [HIDDEN PREF]
|
// user_pref("browser.cache.memory.capacity", 0); // [HIDDEN PREF]
|
||||||
@ -658,10 +651,7 @@ user_pref("security.ssl.require_safe_negotiation", true);
|
|||||||
/* 1202: control TLS versions with min and max
|
/* 1202: control TLS versions with min and max
|
||||||
* 1=TLS 1.0, 2=TLS 1.1, 3=TLS 1.2, 4=TLS 1.3
|
* 1=TLS 1.0, 2=TLS 1.1, 3=TLS 1.2, 4=TLS 1.3
|
||||||
* [WARNING] Leave these at default, otherwise you alter your TLS fingerprint.
|
* [WARNING] Leave these at default, otherwise you alter your TLS fingerprint.
|
||||||
* Firefox telemetry (April 2019) shows only 0.5% of TLS web traffic uses 1.0 or 1.1
|
* Firefox telemetry (April 2019) shows only 0.5% of TLS web traffic uses 1.0 or 1.1 ***/
|
||||||
* [1] http://kb.mozillazine.org/Security.tls.version.*
|
|
||||||
* [2] https://www.ssl.com/how-to/turn-off-ssl-3-0-and-tls-1-0-in-your-browser/
|
|
||||||
* [2] archived: https://archive.is/hY2Mm ***/
|
|
||||||
// user_pref("security.tls.version.min", 3);
|
// user_pref("security.tls.version.min", 3);
|
||||||
// user_pref("security.tls.version.max", 4);
|
// user_pref("security.tls.version.max", 4);
|
||||||
/* 1203: disable SSL session tracking [FF36+]
|
/* 1203: disable SSL session tracking [FF36+]
|
||||||
@ -784,19 +774,10 @@ user_pref("security.insecure_connection_text.enabled", true); // [FF60+]
|
|||||||
/*** [SECTION 1400]: FONTS ***/
|
/*** [SECTION 1400]: FONTS ***/
|
||||||
user_pref("_user.js.parrot", "1400 syntax error: the parrot's bereft of life!");
|
user_pref("_user.js.parrot", "1400 syntax error: the parrot's bereft of life!");
|
||||||
/* 1401: disable websites choosing fonts (0=block, 1=allow)
|
/* 1401: disable websites choosing fonts (0=block, 1=allow)
|
||||||
* [WARNING] Blocking fonts can *sometimes* reduce JS font enumeration, but not entropy.
|
* This can limit most (but not all) JS font enumeration which is a high entropy fingerprinting vector
|
||||||
* There are also other methods to fingerprint fonts. Wait for RFP (4500) to cover this.
|
* [SETUP-WEB] Disabling fonts can uglify the web a fair bit.
|
||||||
* [SETTING] General>Language and Appearance>Fonts & Colors>Advanced>Allow pages to choose... ***/
|
* [SETTING] General>Language and Appearance>Fonts & Colors>Advanced>Allow pages to choose... ***/
|
||||||
// user_pref("browser.display.use_document_fonts", 0);
|
user_pref("browser.display.use_document_fonts", 0);
|
||||||
/* 1402: set more legible default fonts
|
|
||||||
* [NOTE] Example below for Windows/Western only
|
|
||||||
* [SETTING] General>Language and Appearance>Fonts & Colors>Advanced>Serif|Sans-serif|Monospace ***/
|
|
||||||
// user_pref("font.name.serif.x-unicode", "Georgia");
|
|
||||||
// user_pref("font.name.serif.x-western", "Georgia"); // default: Times New Roman
|
|
||||||
// user_pref("font.name.sans-serif.x-unicode", "Arial");
|
|
||||||
// user_pref("font.name.sans-serif.x-western", "Arial"); // default: Arial
|
|
||||||
// user_pref("font.name.monospace.x-unicode", "Lucida Console");
|
|
||||||
// user_pref("font.name.monospace.x-western", "Lucida Console"); // default: Courier New
|
|
||||||
/* 1403: disable icon fonts (glyphs) and local fallback rendering
|
/* 1403: disable icon fonts (glyphs) and local fallback rendering
|
||||||
* [1] https://bugzilla.mozilla.org/789788
|
* [1] https://bugzilla.mozilla.org/789788
|
||||||
* [2] https://trac.torproject.org/projects/tor/ticket/8455 ***/
|
* [2] https://trac.torproject.org/projects/tor/ticket/8455 ***/
|
||||||
@ -805,15 +786,6 @@ user_pref("_user.js.parrot", "1400 syntax error: the parrot's bereft of life!");
|
|||||||
/* 1404: disable rendering of SVG OpenType fonts
|
/* 1404: disable rendering of SVG OpenType fonts
|
||||||
* [1] https://wiki.mozilla.org/SVGOpenTypeFonts - iSECPartnersReport recommends to disable this ***/
|
* [1] https://wiki.mozilla.org/SVGOpenTypeFonts - iSECPartnersReport recommends to disable this ***/
|
||||||
user_pref("gfx.font_rendering.opentype_svg.enabled", false);
|
user_pref("gfx.font_rendering.opentype_svg.enabled", false);
|
||||||
/* 1405: disable WOFF2 (Web Open Font Format) [FF35+] ***/
|
|
||||||
// user_pref("gfx.downloadable_fonts.woff2.enabled", false);
|
|
||||||
/* 1406: disable CSS Font Loading API
|
|
||||||
* [NOTE] Disabling fonts can uglify the web a fair bit. ***/
|
|
||||||
user_pref("layout.css.font-loading-api.enabled", false);
|
|
||||||
/* 1407: disable special underline handling for a few fonts which you will probably never use [RESTART]
|
|
||||||
* Any of these fonts on your system can be enumerated for fingerprinting.
|
|
||||||
* [1] http://kb.mozillazine.org/Font.blacklist.underline_offset ***/
|
|
||||||
user_pref("font.blacklist.underline_offset", "");
|
|
||||||
/* 1408: disable graphite which FF49 turned back on by default
|
/* 1408: disable graphite which FF49 turned back on by default
|
||||||
* In the past it had security issues. Update: This continues to be the case, see [1]
|
* In the past it had security issues. Update: This continues to be the case, see [1]
|
||||||
* [1] https://www.mozilla.org/security/advisories/mfsa2017-15/#CVE-2017-7778 ***/
|
* [1] https://www.mozilla.org/security/advisories/mfsa2017-15/#CVE-2017-7778 ***/
|
||||||
@ -896,15 +868,11 @@ user_pref("privacy.userContext.enabled", true);
|
|||||||
user_pref("privacy.usercontext.about_newtab_segregation.enabled", true); // [DEFAULT: true in FF61+]
|
user_pref("privacy.usercontext.about_newtab_segregation.enabled", true); // [DEFAULT: true in FF61+]
|
||||||
/* 1704: set behaviour on "+ Tab" button to display container menu [FF53+] [SETUP-CHROME]
|
/* 1704: set behaviour on "+ Tab" button to display container menu [FF53+] [SETUP-CHROME]
|
||||||
* 0=no menu (default), 1=show when clicked, 2=show on long press
|
* 0=no menu (default), 1=show when clicked, 2=show on long press
|
||||||
* [NOTE] The menu does not contain a non-container tab option (use Ctrl+T to open non-container tab)
|
|
||||||
* [1] https://bugzilla.mozilla.org/1328756 ***/
|
* [1] https://bugzilla.mozilla.org/1328756 ***/
|
||||||
user_pref("privacy.userContext.longPressBehavior", 2);
|
user_pref("privacy.userContext.longPressBehavior", 2);
|
||||||
|
|
||||||
/*** [SECTION 1800]: PLUGINS ***/
|
/*** [SECTION 1800]: PLUGINS ***/
|
||||||
user_pref("_user.js.parrot", "1800 syntax error: the parrot's pushing up daisies!");
|
user_pref("_user.js.parrot", "1800 syntax error: the parrot's pushing up daisies!");
|
||||||
/* 1802: enable click to play and set to 0 minutes ***/
|
|
||||||
user_pref("plugins.click_to_play", true);
|
|
||||||
user_pref("plugin.sessionPermissionNow.intervalInMinutes", 0);
|
|
||||||
/* 1803: disable Flash plugin
|
/* 1803: disable Flash plugin
|
||||||
* 0=deactivated, 1=ask, 2=enabled
|
* 0=deactivated, 1=ask, 2=enabled
|
||||||
* ESR52.x is the last branch to *fully* support NPAPI, FF52+ stable only supports Flash
|
* ESR52.x is the last branch to *fully* support NPAPI, FF52+ stable only supports Flash
|
||||||
@ -927,6 +895,8 @@ user_pref("media.eme.enabled", false);
|
|||||||
/*** [SECTION 2000]: MEDIA / CAMERA / MIC ***/
|
/*** [SECTION 2000]: MEDIA / CAMERA / MIC ***/
|
||||||
user_pref("_user.js.parrot", "2000 syntax error: the parrot's snuffed it!");
|
user_pref("_user.js.parrot", "2000 syntax error: the parrot's snuffed it!");
|
||||||
/* 2001: disable WebRTC (Web Real-Time Communication)
|
/* 2001: disable WebRTC (Web Real-Time Communication)
|
||||||
|
* [SETUP-WEB] WebRTC can leak your IP address from behind your VPN, but if this is not
|
||||||
|
* in your threat model, and you want Real-Time Communication, this is the pref for you
|
||||||
* [1] https://www.privacytools.io/#webrtc ***/
|
* [1] https://www.privacytools.io/#webrtc ***/
|
||||||
user_pref("media.peerconnection.enabled", false);
|
user_pref("media.peerconnection.enabled", false);
|
||||||
/* 2002: limit WebRTC IP leaks if using WebRTC
|
/* 2002: limit WebRTC IP leaks if using WebRTC
|
||||||
@ -936,6 +906,8 @@ user_pref("media.peerconnection.enabled", false);
|
|||||||
user_pref("media.peerconnection.ice.default_address_only", true);
|
user_pref("media.peerconnection.ice.default_address_only", true);
|
||||||
user_pref("media.peerconnection.ice.no_host", true); // [FF51+]
|
user_pref("media.peerconnection.ice.no_host", true); // [FF51+]
|
||||||
/* 2010: disable WebGL (Web Graphics Library)
|
/* 2010: disable WebGL (Web Graphics Library)
|
||||||
|
* [SETUP-WEB] When disabled, may break some websites. When enabled, provides high entropy,
|
||||||
|
* especially with readPixels(). Some of the other entropy is lessened with RFP (see 4501)
|
||||||
* [1] https://www.contextis.com/resources/blog/webgl-new-dimension-browser-exploitation/
|
* [1] https://www.contextis.com/resources/blog/webgl-new-dimension-browser-exploitation/
|
||||||
* [2] https://security.stackexchange.com/questions/13799/is-webgl-a-security-concern ***/
|
* [2] https://security.stackexchange.com/questions/13799/is-webgl-a-security-concern ***/
|
||||||
user_pref("webgl.disabled", true);
|
user_pref("webgl.disabled", true);
|
||||||
@ -956,15 +928,15 @@ user_pref("media.getusermedia.audiocapture.enabled", false);
|
|||||||
// user_pref("permissions.default.camera", 2);
|
// user_pref("permissions.default.camera", 2);
|
||||||
// user_pref("permissions.default.microphone", 2);
|
// user_pref("permissions.default.microphone", 2);
|
||||||
/* 2030: disable autoplay of HTML5 media [FF63+]
|
/* 2030: disable autoplay of HTML5 media [FF63+]
|
||||||
* 0=Allowed, 1=Blocked (2=Prompt - removed in FF66)
|
* 0=Allow all, 1=Block non-muted media (default in FF67+), 2=Prompt (removed in FF66), 5=Block all (FF69+)
|
||||||
* [NOTE] You can set exceptions under site permissions
|
* [NOTE] You can set exceptions under site permissions
|
||||||
* [SETTING] Privacy & Security>Permissions>Block websites from automatically playing sound ***/
|
* [SETTING] Privacy & Security>Permissions>Autoplay>Settings>Default for all websites ***/
|
||||||
user_pref("media.autoplay.default", 1); // [DEFAULT: 1 in FF67+]
|
// user_pref("media.autoplay.default", 5);
|
||||||
/* 2031: disable autoplay of HTML5 media if you interacted with the site [FF66+] ***/
|
/* 2031: disable autoplay of HTML5 media if you interacted with the site [FF66+] ***/
|
||||||
user_pref("media.autoplay.enabled.user-gestures-needed", false);
|
user_pref("media.autoplay.enabled.user-gestures-needed", false);
|
||||||
/* 2032: disable audio autoplay in non-active tabs [FF51+]
|
/* 2032: disable autoplay of HTML5 media in non-active tabs [FF51+]
|
||||||
* [1] https://www.ghacks.net/2016/11/14/firefox-51-blocks-automatic-audio-playback-in-non-active-tabs/ ***/
|
* [1] https://www.ghacks.net/2016/11/14/firefox-51-blocks-automatic-audio-playback-in-non-active-tabs/ ***/
|
||||||
user_pref("media.block-autoplay-until-in-foreground", true);
|
user_pref("media.block-autoplay-until-in-foreground", true); // [DEFAULT: true]
|
||||||
|
|
||||||
/*** [SECTION 2200]: WINDOW MEDDLING & LEAKS / POPUPS ***/
|
/*** [SECTION 2200]: WINDOW MEDDLING & LEAKS / POPUPS ***/
|
||||||
user_pref("_user.js.parrot", "2200 syntax error: the parrot's 'istory!");
|
user_pref("_user.js.parrot", "2200 syntax error: the parrot's 'istory!");
|
||||||
@ -997,7 +969,7 @@ user_pref("browser.link.open_newwindow.restriction", 0);
|
|||||||
* [SETTING] Privacy & Security>Permissions>Block pop-up windows ***/
|
* [SETTING] Privacy & Security>Permissions>Block pop-up windows ***/
|
||||||
user_pref("dom.disable_open_during_load", true);
|
user_pref("dom.disable_open_during_load", true);
|
||||||
/* 2212: limit events that can cause a popup [SETUP-WEB]
|
/* 2212: limit events that can cause a popup [SETUP-WEB]
|
||||||
* default is "change click dblclick mouseup pointerup notificationclick reset submit touchend contextmenu"
|
* default is "change click dblclick auxclick mouseup pointerup notificationclick reset submit touchend contextmenu"
|
||||||
* [1] http://kb.mozillazine.org/Dom.popup_allowed_events ***/
|
* [1] http://kb.mozillazine.org/Dom.popup_allowed_events ***/
|
||||||
user_pref("dom.popup_allowed_events", "click dblclick");
|
user_pref("dom.popup_allowed_events", "click dblclick");
|
||||||
|
|
||||||
@ -1042,7 +1014,7 @@ user_pref("dom.serviceWorkers.enabled", false);
|
|||||||
// user_pref("dom.push.connection.enabled", false);
|
// user_pref("dom.push.connection.enabled", false);
|
||||||
// user_pref("dom.push.serverURL", "");
|
// user_pref("dom.push.serverURL", "");
|
||||||
// user_pref("dom.push.userAgentID", "");
|
// user_pref("dom.push.userAgentID", "");
|
||||||
/* 2306: set a default permission for Notifications (both 2305 and 2306) [FF58+]
|
/* 2306: set a default permission for Notifications (both 2304 and 2305) [FF58+]
|
||||||
* 0=always ask (default), 1=allow, 2=block
|
* 0=always ask (default), 1=allow, 2=block
|
||||||
* [NOTE] Best left at default "always ask", fingerprintable via Permissions API
|
* [NOTE] Best left at default "always ask", fingerprintable via Permissions API
|
||||||
* [SETTING] to add site exceptions: Page Info>Permissions>Receive Notifications
|
* [SETTING] to add site exceptions: Page Info>Permissions>Receive Notifications
|
||||||
@ -1060,11 +1032,15 @@ user_pref("_user.js.parrot", "2400 syntax error: the parrot's kicked the bucket!
|
|||||||
* the website for it to look at the clipboard
|
* the website for it to look at the clipboard
|
||||||
* [1] https://www.ghacks.net/2014/01/08/block-websites-reading-modifying-clipboard-contents-firefox/ ***/
|
* [1] https://www.ghacks.net/2014/01/08/block-websites-reading-modifying-clipboard-contents-firefox/ ***/
|
||||||
user_pref("dom.event.clipboardevents.enabled", false);
|
user_pref("dom.event.clipboardevents.enabled", false);
|
||||||
/* 2403: disable clipboard commands (cut/copy) from "non-privileged" content [FF41+]
|
/* 2403: disable middlemouse paste leaking clipboard content on Linux after autoscroll
|
||||||
|
* Defense in depth if clipboard events are enabled (see 2402)
|
||||||
|
* [1] https://bugzilla.mozilla.org/1528289 */
|
||||||
|
user_pref("middlemouse.paste", false); // [DEFAULT: false on Windows]
|
||||||
|
/* 2404: disable clipboard commands (cut/copy) from "non-privileged" content [FF41+]
|
||||||
* this disables document.execCommand("cut"/"copy") to protect your clipboard
|
* this disables document.execCommand("cut"/"copy") to protect your clipboard
|
||||||
* [1] https://bugzilla.mozilla.org/1170911 ***/
|
* [1] https://bugzilla.mozilla.org/1170911 ***/
|
||||||
user_pref("dom.allow_cut_copy", false); // [HIDDEN PREF]
|
user_pref("dom.allow_cut_copy", false);
|
||||||
/* 2404: disable "Confirm you want to leave" dialog on page close
|
/* 2405: disable "Confirm you want to leave" dialog on page close
|
||||||
* Does not prevent JS leaks of the page close event.
|
* Does not prevent JS leaks of the page close event.
|
||||||
* [1] https://developer.mozilla.org/docs/Web/Events/beforeunload
|
* [1] https://developer.mozilla.org/docs/Web/Events/beforeunload
|
||||||
* [2] https://support.mozilla.org/questions/1043508 ***/
|
* [2] https://support.mozilla.org/questions/1043508 ***/
|
||||||
@ -1087,14 +1063,11 @@ user_pref("javascript.options.asmjs", false);
|
|||||||
/* 2422: disable WebAssembly [FF52+] [SETUP-PERF]
|
/* 2422: disable WebAssembly [FF52+] [SETUP-PERF]
|
||||||
* [1] https://developer.mozilla.org/docs/WebAssembly ***/
|
* [1] https://developer.mozilla.org/docs/WebAssembly ***/
|
||||||
user_pref("javascript.options.wasm", false);
|
user_pref("javascript.options.wasm", false);
|
||||||
/* 2426: disable Intersection Observer API [FF53+]
|
/* 2426: disable Intersection Observer API [FF55+]
|
||||||
* Almost a year to complete, three versions late to stable (as default false),
|
|
||||||
* number #1 cause of crashes in nightly numerous times, and is (primarily) an
|
|
||||||
* ad network API for "ad viewability checks" down to a pixel level
|
|
||||||
* [1] https://developer.mozilla.org/docs/Web/API/Intersection_Observer_API
|
* [1] https://developer.mozilla.org/docs/Web/API/Intersection_Observer_API
|
||||||
* [2] https://w3c.github.io/IntersectionObserver/
|
* [2] https://w3c.github.io/IntersectionObserver/
|
||||||
* [3] https://bugzilla.mozilla.org/1243846 ***/
|
* [3] https://bugzilla.mozilla.org/1243846 ***/
|
||||||
user_pref("dom.IntersectionObserver.enabled", false);
|
// user_pref("dom.IntersectionObserver.enabled", false);
|
||||||
/* 2429: enable (limited but sufficient) window.opener protection [FF65+]
|
/* 2429: enable (limited but sufficient) window.opener protection [FF65+]
|
||||||
* Makes rel=noopener implicit for target=_blank in anchor and area elements when no rel attribute is set ***/
|
* Makes rel=noopener implicit for target=_blank in anchor and area elements when no rel attribute is set ***/
|
||||||
user_pref("dom.targetBlankNoOpener.enabled", true);
|
user_pref("dom.targetBlankNoOpener.enabled", true);
|
||||||
@ -1215,7 +1188,7 @@ user_pref("network.protocol-handler.external.ms-windows-store", false);
|
|||||||
|
|
||||||
/** DOWNLOADS ***/
|
/** DOWNLOADS ***/
|
||||||
/* 2650: discourage downloading to desktop
|
/* 2650: discourage downloading to desktop
|
||||||
* 0=desktop 1=downloads 2=last used
|
* 0=desktop, 1=downloads (default), 2=last used
|
||||||
* [SETTING] To set your default "downloads": General>Downloads>Save files to ***/
|
* [SETTING] To set your default "downloads": General>Downloads>Save files to ***/
|
||||||
// user_pref("browser.download.folderList", 2);
|
// user_pref("browser.download.folderList", 2);
|
||||||
/* 2651: enforce user interaction for security by always asking where to download [SETUP-CHROME]
|
/* 2651: enforce user interaction for security by always asking where to download [SETUP-CHROME]
|
||||||
@ -1248,9 +1221,6 @@ user_pref("extensions.autoDisableScopes", 15); // [DEFAULT: 15]
|
|||||||
/* 2680: enable CSP (Content Security Policy)
|
/* 2680: enable CSP (Content Security Policy)
|
||||||
* [1] https://developer.mozilla.org/docs/Web/HTTP/CSP ***/
|
* [1] https://developer.mozilla.org/docs/Web/HTTP/CSP ***/
|
||||||
user_pref("security.csp.enable", true); // [DEFAULT: true]
|
user_pref("security.csp.enable", true); // [DEFAULT: true]
|
||||||
/* 2682: enable CSP 1.1 experimental hash-source directive [FF29+]
|
|
||||||
* [1] https://bugzilla.mozilla.org/buglist.cgi?bug_id=855326,883975 ***/
|
|
||||||
user_pref("security.csp.experimentalEnabled", true);
|
|
||||||
/* 2684: enforce a security delay on some confirmation dialogs such as install, open/save
|
/* 2684: enforce a security delay on some confirmation dialogs such as install, open/save
|
||||||
* [1] http://kb.mozillazine.org/Disable_extension_install_delay_-_Firefox
|
* [1] http://kb.mozillazine.org/Disable_extension_install_delay_-_Firefox
|
||||||
* [2] https://www.squarefree.com/2004/07/01/race-conditions-in-security-dialogs/ ***/
|
* [2] https://www.squarefree.com/2004/07/01/race-conditions-in-security-dialogs/ ***/
|
||||||
@ -1272,9 +1242,8 @@ user_pref("security.dialog_enable_delay", 700);
|
|||||||
***/
|
***/
|
||||||
user_pref("_user.js.parrot", "2700 syntax error: the parrot's joined the bleedin' choir invisible!");
|
user_pref("_user.js.parrot", "2700 syntax error: the parrot's joined the bleedin' choir invisible!");
|
||||||
/* 2701: disable 3rd-party cookies and site-data [SETUP-WEB]
|
/* 2701: disable 3rd-party cookies and site-data [SETUP-WEB]
|
||||||
* 0=Accept cookies and site data (default), 1=(Block) All third-party cookies, 2=(Block) All cookies,
|
* 0=Accept cookies and site data, 1=(Block) All third-party cookies, 2=(Block) All cookies,
|
||||||
* 3=(Block) Cookies from unvisited sites, 4=(Block) Third-party trackers (FF63+)
|
* 3=(Block) Cookies from unvisited sites, 4=(Block) Third-party trackers (FF63+) (default FF69+)
|
||||||
* [NOTE] Value 4 is tied to the Tracking Protection lists
|
|
||||||
* [NOTE] You can set exceptions under site permissions or use an extension
|
* [NOTE] You can set exceptions under site permissions or use an extension
|
||||||
* [SETTING] Privacy & Security>Content Blocking>Custom>Choose what to block>Cookies ***/
|
* [SETTING] Privacy & Security>Content Blocking>Custom>Choose what to block>Cookies ***/
|
||||||
user_pref("network.cookie.cookieBehavior", 1);
|
user_pref("network.cookie.cookieBehavior", 1);
|
||||||
@ -1364,9 +1333,9 @@ user_pref("privacy.cpd.offlineApps", true); // Offline Website Data
|
|||||||
user_pref("privacy.cpd.passwords", false); // this is not listed
|
user_pref("privacy.cpd.passwords", false); // this is not listed
|
||||||
user_pref("privacy.cpd.sessions", true); // Active Logins
|
user_pref("privacy.cpd.sessions", true); // Active Logins
|
||||||
user_pref("privacy.cpd.siteSettings", false); // Site Preferences
|
user_pref("privacy.cpd.siteSettings", false); // Site Preferences
|
||||||
/* 2805: privacy.*.openWindows (clear session restore data) [FF34+]
|
/* 2805: clear Session Restore data when sanitizing on shutdown or manually [FF34+]
|
||||||
* [NOTE] There is a years-old bug that these cause two windows when Firefox restarts.
|
* [NOTE] Not needed if Session Restore is not used (see 0102) or is already cleared with history (see 2803)
|
||||||
* You do not need these anyway if session restore is cleared with history (see 2803) ***/
|
* [NOTE] privacy.cpd.openWindows has a bug that causes an additional window to open ***/
|
||||||
// user_pref("privacy.clearOnShutdown.openWindows", true);
|
// user_pref("privacy.clearOnShutdown.openWindows", true);
|
||||||
// user_pref("privacy.cpd.openWindows", true);
|
// user_pref("privacy.cpd.openWindows", true);
|
||||||
/* 2806: reset default 'Time range to clear' for 'Clear Recent History' (see 2804)
|
/* 2806: reset default 'Time range to clear' for 'Clear Recent History' (see 2804)
|
||||||
@ -1392,9 +1361,9 @@ user_pref("privacy.sanitize.timeSpan", 0);
|
|||||||
** 1300671 - isolate data:, about: URLs (FF55+)
|
** 1300671 - isolate data:, about: URLs (FF55+)
|
||||||
** 1473247 - isolate IP addresses (FF63+)
|
** 1473247 - isolate IP addresses (FF63+)
|
||||||
** 1492607 - isolate postMessage with targetOrigin "*" (requires 4002) (FF65+)
|
** 1492607 - isolate postMessage with targetOrigin "*" (requires 4002) (FF65+)
|
||||||
** 1542309 - isolate top-level domain URLs (FF68+)
|
** 1542309 - isolate top-level domain URLs when host is in the public suffix list (FF68+)
|
||||||
** 1506693 - isolate pdfjs range-based requests (FF68+)
|
** 1506693 - isolate pdfjs range-based requests (FF68+)
|
||||||
** 1330467 - isolate site permissions (coming)
|
** 1330467 - isolate site permissions (FF69+)
|
||||||
***/
|
***/
|
||||||
user_pref("_user.js.parrot", "4000 syntax error: the parrot's pegged out");
|
user_pref("_user.js.parrot", "4000 syntax error: the parrot's pegged out");
|
||||||
/* 4001: enable First Party Isolation [FF51+]
|
/* 4001: enable First Party Isolation [FF51+]
|
||||||
@ -1472,12 +1441,14 @@ user_pref("privacy.firstparty.isolate.restrict_opener_access", true); // [DEFAUL
|
|||||||
** 1485266 - disable exposure of system colors to CSS or canvas (see 4615) (FF67+)
|
** 1485266 - disable exposure of system colors to CSS or canvas (see 4615) (FF67+)
|
||||||
** 1407366 - enable inner window letterboxing (see 4504) (FF67+)
|
** 1407366 - enable inner window letterboxing (see 4504) (FF67+)
|
||||||
** 1540726 - return "light" with prefers-color-scheme (FF67+)
|
** 1540726 - return "light" with prefers-color-scheme (FF67+)
|
||||||
[1] https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-color-scheme
|
[1] https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-color-scheme
|
||||||
|
** 1564422 - spoof audioContext outputLatency (FF70+)
|
||||||
***/
|
***/
|
||||||
user_pref("_user.js.parrot", "4500 syntax error: the parrot's popped 'is clogs");
|
user_pref("_user.js.parrot", "4500 syntax error: the parrot's popped 'is clogs");
|
||||||
/* 4501: enable privacy.resistFingerprinting [FF41+]
|
/* 4501: enable privacy.resistFingerprinting [FF41+]
|
||||||
* This pref is the master switch for all other privacy.resist* prefs unless stated
|
* This pref is the master switch for all other privacy.resist* prefs unless stated
|
||||||
* [SETUP-WEB] RFP is not ready for the masses, so expect some website breakage
|
* [SETUP-WEB] RFP can cause the odd website to break in strange ways, and has a few side affects,
|
||||||
|
* but is largely robust nowadays. Give it a try. Your choice. Also see 4504 (letterboxing).
|
||||||
* [1] https://bugzilla.mozilla.org/418986 ***/
|
* [1] https://bugzilla.mozilla.org/418986 ***/
|
||||||
user_pref("privacy.resistFingerprinting", true);
|
user_pref("privacy.resistFingerprinting", true);
|
||||||
/* 4502: set new window sizes to round to hundreds [FF55+] [SETUP-CHROME]
|
/* 4502: set new window sizes to round to hundreds [FF55+] [SETUP-CHROME]
|
||||||
@ -1485,8 +1456,8 @@ user_pref("privacy.resistFingerprinting", true);
|
|||||||
* The override values are a starting point to round from if you want some control
|
* The override values are a starting point to round from if you want some control
|
||||||
* [1] https://bugzilla.mozilla.org/1330882
|
* [1] https://bugzilla.mozilla.org/1330882
|
||||||
* [2] https://hardware.metrics.mozilla.com/ ***/
|
* [2] https://hardware.metrics.mozilla.com/ ***/
|
||||||
// user_pref("privacy.window.maxInnerWidth", 1600); // [HIDDEN PREF]
|
// user_pref("privacy.window.maxInnerWidth", 1000);
|
||||||
// user_pref("privacy.window.maxInnerHeight", 900); // [HIDDEN PREF]
|
// user_pref("privacy.window.maxInnerHeight", 1000);
|
||||||
/* 4503: disable mozAddonManager Web API [FF57+]
|
/* 4503: disable mozAddonManager Web API [FF57+]
|
||||||
* [NOTE] As a side-effect in FF57-59 this allowed extensions to work on AMO. In FF60+ you also need
|
* [NOTE] As a side-effect in FF57-59 this allowed extensions to work on AMO. In FF60+ you also need
|
||||||
* to sanitize or clear extensions.webextensions.restrictedDomains (see 2662) to keep that side-effect
|
* to sanitize or clear extensions.webextensions.restrictedDomains (see 2662) to keep that side-effect
|
||||||
@ -1496,7 +1467,8 @@ user_pref("privacy.resistFingerprinting.block_mozAddonManager", true); // [HIDDE
|
|||||||
* Dynamically resizes the inner window (FF67; 200w x100h: FF68+; stepped ranges) by applying letterboxing,
|
* Dynamically resizes the inner window (FF67; 200w x100h: FF68+; stepped ranges) by applying letterboxing,
|
||||||
* using dimensions which waste the least content area, If you use the dimension pref, then it will only apply
|
* using dimensions which waste the least content area, If you use the dimension pref, then it will only apply
|
||||||
* those resolutions. The format is "width1xheight1, width2xheight2, ..." (e.g. "800x600, 1000x1000, 1600x900")
|
* those resolutions. The format is "width1xheight1, width2xheight2, ..." (e.g. "800x600, 1000x1000, 1600x900")
|
||||||
* [NOTE] This does NOT require RFP (see 4501) **for now**
|
* [SETUP-WEB] This does NOT require RFP (see 4501) **for now**, so if you're not using 4501, or you are but you're
|
||||||
|
* not taking anti-fingerprinting seriously and a little visual change upsets you, then feel free to flip this pref
|
||||||
* [WARNING] The dimension pref is only meant for testing, and we recommend you DO NOT USE it
|
* [WARNING] The dimension pref is only meant for testing, and we recommend you DO NOT USE it
|
||||||
* [1] https://bugzilla.mozilla.org/1407366 ***/
|
* [1] https://bugzilla.mozilla.org/1407366 ***/
|
||||||
user_pref("privacy.resistFingerprinting.letterboxing", true); // [HIDDEN PREF]
|
user_pref("privacy.resistFingerprinting.letterboxing", true); // [HIDDEN PREF]
|
||||||
@ -1641,6 +1613,7 @@ user_pref("_user.js.parrot", "5000 syntax error: this is an ex-parrot!");
|
|||||||
/* APPEARANCE ***/
|
/* APPEARANCE ***/
|
||||||
// user_pref("browser.download.autohideButton", false); // [FF57+]
|
// user_pref("browser.download.autohideButton", false); // [FF57+]
|
||||||
// user_pref("toolkit.cosmeticAnimations.enabled", false); // [FF55+]
|
// user_pref("toolkit.cosmeticAnimations.enabled", false); // [FF55+]
|
||||||
|
// user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true); // [FF68+] allow userChrome/userContent
|
||||||
/* CONTENT BEHAVIOR ***/
|
/* CONTENT BEHAVIOR ***/
|
||||||
// user_pref("accessibility.typeaheadfind", true); // enable "Find As You Type"
|
// user_pref("accessibility.typeaheadfind", true); // enable "Find As You Type"
|
||||||
// user_pref("clipboard.autocopy", false); // disable autocopy default [LINUX]
|
// user_pref("clipboard.autocopy", false); // disable autocopy default [LINUX]
|
||||||
@ -1652,6 +1625,7 @@ user_pref("_user.js.parrot", "5000 syntax error: this is an ex-parrot!");
|
|||||||
// user_pref("browser.urlbar.decodeURLsOnCopy", true); // see bugzilla 1320061 [FF53+]
|
// user_pref("browser.urlbar.decodeURLsOnCopy", true); // see bugzilla 1320061 [FF53+]
|
||||||
// user_pref("general.autoScroll", false); // middle-click enabling auto-scrolling [WINDOWS] [MAC]
|
// user_pref("general.autoScroll", false); // middle-click enabling auto-scrolling [WINDOWS] [MAC]
|
||||||
// user_pref("ui.key.menuAccessKey", 0); // disable alt key toggling the menu bar [RESTART]
|
// user_pref("ui.key.menuAccessKey", 0); // disable alt key toggling the menu bar [RESTART]
|
||||||
|
// user_pref("view_source.tab", false); // view "page/selection source" in a new window [FF68+, FF59 and under]
|
||||||
/* OTHER ***/
|
/* OTHER ***/
|
||||||
// user_pref("browser.bookmarks.max_backups", 2);
|
// user_pref("browser.bookmarks.max_backups", 2);
|
||||||
// user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons", false); // disable CFR [FF67+]
|
// user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons", false); // disable CFR [FF67+]
|
||||||
@ -1773,6 +1747,37 @@ user_pref("dom.event.highrestimestamp.enabled", true); // [DEFAULT: true]
|
|||||||
// [-] https://bugzilla.mozilla.org/1528953
|
// [-] https://bugzilla.mozilla.org/1528953
|
||||||
// user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr", false);
|
// user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr", false);
|
||||||
// * * * /
|
// * * * /
|
||||||
|
// FF68
|
||||||
|
// 0105b: disable Activity Stream Legacy Snippets
|
||||||
|
// [-] https://bugzilla.mozilla.org/buglist.cgi?bug_id=1546190,1540939
|
||||||
|
user_pref("browser.newtabpage.activity-stream.disableSnippets", true);
|
||||||
|
user_pref("browser.aboutHomeSnippets.updateUrl", "");
|
||||||
|
// 0307: disable auto updating of lightweight themes (LWT)
|
||||||
|
// Not to be confused with themes in 0301* + 0302*, which use the FF55+ Theme API
|
||||||
|
// Mozilla plan to convert existing LWTs and remove LWT support in the future, see [1]
|
||||||
|
// [1] https://blog.mozilla.org/addons/2018/09/20/future-themes-here/
|
||||||
|
// [-] (part3b) https://bugzilla.mozilla.org/1525762
|
||||||
|
user_pref("lightweightThemes.update.enabled", false);
|
||||||
|
// 2682: enable CSP 1.1 experimental hash-source directive [FF29+]
|
||||||
|
// [1] https://bugzilla.mozilla.org/buglist.cgi?bug_id=855326,883975
|
||||||
|
// [-] https://bugzilla.mozilla.org/1386214
|
||||||
|
user_pref("security.csp.experimentalEnabled", true);
|
||||||
|
// * * * /
|
||||||
|
// ***/
|
||||||
|
|
||||||
|
/* ESR68.x still uses all the following prefs
|
||||||
|
// [NOTE] replace the * with a slash in the line above to re-enable them
|
||||||
|
// FF69
|
||||||
|
// 1405: disable WOFF2 (Web Open Font Format) [FF35+]
|
||||||
|
// [-] https://bugzilla.mozilla.org/1556991
|
||||||
|
// user_pref("gfx.downloadable_fonts.woff2.enabled", false);
|
||||||
|
// 1802: enforce click-to-play for plugins
|
||||||
|
// [-] https://bugzilla.mozilla.org/1519434
|
||||||
|
user_pref("plugins.click_to_play", true); // [DEFAULT: true in FF25+]
|
||||||
|
// 2033: disable autoplay for muted videos [FF63+] - replaced by `media.autoplay.default` options (2030)
|
||||||
|
// [-] https://bugzilla.mozilla.org/1562331
|
||||||
|
// user_pref("media.autoplay.allow-muted", false);
|
||||||
|
// * * * /
|
||||||
// ***/
|
// ***/
|
||||||
|
|
||||||
/* END: internal custom pref to test for syntax errors ***/
|
/* END: internal custom pref to test for syntax errors ***/
|
||||||
|
Reference in New Issue
Block a user