mirror of
https://github.com/arkenfox/user.js.git
synced 2025-09-01 17:38:30 +02:00
Compare commits
30 Commits
Author | SHA1 | Date | |
---|---|---|---|
da9f912862 | |||
9930cfbc07 | |||
7738e320d5 | |||
9b8735a87a | |||
6c10e03ce5 | |||
7ad3bb9e61 | |||
5dcf639d33 | |||
2da3b0192f | |||
ada8158caf | |||
2071939c5e | |||
f082278217 | |||
abe37add6e | |||
bc07ca94c0 | |||
728c962684 | |||
ca99add006 | |||
f771027138 | |||
8f1c0044b9 | |||
87cd828b5b | |||
46ccd9f654 | |||
b1927f9de1 | |||
b592e0e592 | |||
3b6cd93749 | |||
3a24c01f03 | |||
b7c80841a9 | |||
95645f59a3 | |||
9138e342fd | |||
692ed70ea9 | |||
3430507ae4 | |||
844f3ce9c8 | |||
03ffb90186 |
@ -1,7 +1,7 @@
|
||||
/***
|
||||
This will reset the preferences that have been removed completely from the arkenfox user.js.
|
||||
|
||||
Last updated: 27-Feb-2021
|
||||
Last updated: 07-Apr-2021
|
||||
|
||||
For instructions see:
|
||||
https://github.com/arkenfox/user.js/wiki/3.1-Resetting-Inactive-Prefs-[Scripts]
|
||||
@ -9,7 +9,7 @@
|
||||
|
||||
(function() {
|
||||
let ops = [
|
||||
/* removed in arkenfox user.js v52-57 */
|
||||
/* removed in arkenfox user.js */
|
||||
/* 52-alpha */
|
||||
'browser.search.reset.enabled',
|
||||
'browser.search.reset.whitelist',
|
||||
@ -26,7 +26,6 @@
|
||||
'extensions.pocket.api', // covered by extensions.pocket.enabled
|
||||
'extensions.pocket.oAuthConsumerKey', // ditto
|
||||
'extensions.pocket.site', // ditto
|
||||
/* 56-alpha: none */
|
||||
/* 57-alpha */
|
||||
'geo.wifi.xhr.timeout', // covered by geo.enabled
|
||||
'browser.search.geoip.timeout', // ditto
|
||||
@ -235,6 +234,10 @@
|
||||
'network.http.redirection-limit',
|
||||
/* 86-beta */
|
||||
'media.gmp-widevinecdm.visible',
|
||||
/* 87-beta */
|
||||
'browser.send_pings.require_same_host',
|
||||
/* 88-beta */
|
||||
'webgl.min_capability_mode',
|
||||
/* reset parrot: check your open about:config after running the script */
|
||||
'_user.js.parrot'
|
||||
]
|
||||
|
51
updater.sh
51
updater.sh
@ -2,7 +2,7 @@
|
||||
|
||||
## arkenfox user.js updater for macOS and Linux
|
||||
|
||||
## version: 2.9
|
||||
## version: 3.0
|
||||
## Author: Pat Johnson (@overdodactyl)
|
||||
## Additional contributors: @earthlng, @ema-pe, @claustromaniac
|
||||
|
||||
@ -103,7 +103,6 @@ Optional Arguments:
|
||||
# File Handling #
|
||||
#########################
|
||||
|
||||
# Download files
|
||||
download_file () { # expects URL as argument ($1)
|
||||
declare -r tf=$(mktemp)
|
||||
|
||||
@ -122,36 +121,33 @@ open_file () { # expects one argument: file_path
|
||||
|
||||
readIniFile () { # expects one argument: absolute path of profiles.ini
|
||||
declare -r inifile="$1"
|
||||
declare -r tfile=$(mktemp)
|
||||
|
||||
if [ $(grep '^\[Profile' "$inifile" | wc -l) == "1" ]; then ### only 1 profile found
|
||||
grep '^\[Profile' -A 4 "$inifile" | grep -v '^\[Profile' > $tfile
|
||||
# tempIni will contain: [ProfileX], Name=, IsRelative= and Path= (and Default= if present) of the only (if) or the selected (else) profile
|
||||
if [ $(grep -c '^\[Profile' "${inifile}") -eq "1" ]; then ### only 1 profile found
|
||||
tempIni="$(grep '^\[Profile' -A 4 "${inifile}")"
|
||||
else
|
||||
grep -E -v '^\[General\]|^StartWithLastProfile=|^IsRelative=' "$inifile"
|
||||
echo ''
|
||||
echo -e "Profiles found:\n––––––––––––––––––––––––––––––"
|
||||
## cmd-substitution to strip trailing newlines and in quotes to keep internal ones:
|
||||
echo "$(grep --color=never -E 'Default=[^1]|\[Profile[0-9]*\]|Name=|Path=|^$' "${inifile}")"
|
||||
echo '––––––––––––––––––––––––––––––'
|
||||
read -p 'Select the profile number ( 0 for Profile0, 1 for Profile1, etc ) : ' -r
|
||||
echo -e "\n"
|
||||
if [[ $REPLY =~ ^(0|[1-9][0-9]*)$ ]]; then
|
||||
grep '^\[Profile'${REPLY} -A 4 "$inifile" | grep -v '^\[Profile'${REPLY} > $tfile
|
||||
if [[ "$?" != "0" ]]; then
|
||||
echo "Profile${REPLY} does not exist!" && exit 1
|
||||
fi
|
||||
tempIni="$(grep "^\[Profile${REPLY}" -A 4 "${inifile}")" || {
|
||||
echo -e "${RED}Profile${REPLY} does not exist!${NC}" && exit 1
|
||||
}
|
||||
else
|
||||
echo "Invalid selection!" && exit 1
|
||||
echo -e "${RED}Invalid selection!${NC}" && exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
declare -r profpath=$(grep '^Path=' $tfile)
|
||||
declare -r pathisrel=$(grep '^IsRelative=' $tfile)
|
||||
# extracting 0 or 1 from the "IsRelative=" line
|
||||
declare -r pathisrel=$(sed -n 's/^IsRelative=\([01]\)$/\1/p' <<< "${tempIni}")
|
||||
|
||||
rm "$tfile"
|
||||
|
||||
# update global variable
|
||||
if [[ ${pathisrel#*=} == "1" ]]; then
|
||||
PROFILE_PATH="$(dirname "$inifile")/${profpath#*=}"
|
||||
else
|
||||
PROFILE_PATH="${profpath#*=}"
|
||||
fi
|
||||
# extracting only the path itself, excluding "Path="
|
||||
PROFILE_PATH=$(sed -n 's/^Path=\(.*\)$/\1/p' <<< "${tempIni}")
|
||||
# update global variable if path is relative
|
||||
[[ ${pathisrel} == "1" ]] && PROFILE_PATH="$(dirname "${inifile}")/${PROFILE_PATH}"
|
||||
}
|
||||
|
||||
getProfilePath () {
|
||||
@ -161,16 +157,14 @@ getProfilePath () {
|
||||
if [ "$PROFILE_PATH" = false ]; then
|
||||
PROFILE_PATH="$SCRIPT_DIR"
|
||||
elif [ "$PROFILE_PATH" = 'list' ]; then
|
||||
local ini=''
|
||||
if [[ -f "$f1" ]]; then
|
||||
ini="$f1"
|
||||
readIniFile "$f1" # updates PROFILE_PATH or exits on error
|
||||
elif [[ -f "$f2" ]]; then
|
||||
ini="$f2"
|
||||
readIniFile "$f2"
|
||||
else
|
||||
echo -e "${RED}Error: Sorry, -l is not supported for your OS${NC}"
|
||||
exit 1
|
||||
fi
|
||||
readIniFile "$ini" # updates PROFILE_PATH or exits on error
|
||||
#else
|
||||
# PROFILE_PATH already set by user with -p
|
||||
fi
|
||||
@ -191,9 +185,7 @@ get_updater_version () {
|
||||
# -d: New version will not be looked for and update will not occur
|
||||
# -u: Check for update, if available, execute without asking
|
||||
update_updater () {
|
||||
if [ $UPDATE = 'no' ]; then
|
||||
return 0 # User signified not to check for updates
|
||||
fi
|
||||
[ $UPDATE = 'no' ] && return 0 # User signified not to check for updates
|
||||
|
||||
declare -r tmpfile="$(download_file 'https://raw.githubusercontent.com/arkenfox/user.js/master/updater.sh')"
|
||||
[ -z "${tmpfile}" ] && echo -e "${RED}Error! Could not download updater.sh${NC}" && return 1 # check if download failed
|
||||
@ -214,7 +206,6 @@ update_updater () {
|
||||
exit 0
|
||||
}
|
||||
|
||||
|
||||
#########################
|
||||
# Update user.js #
|
||||
#########################
|
||||
|
134
user.js
134
user.js
@ -1,7 +1,7 @@
|
||||
/******
|
||||
* name: arkenfox user.js
|
||||
* date: 28 Feb 2021
|
||||
* version 86
|
||||
* date: 23 April 2021
|
||||
* version 88
|
||||
* url: https://github.com/arkenfox/user.js
|
||||
* license: MIT: https://github.com/arkenfox/user.js/blob/master/LICENSE.txt
|
||||
|
||||
@ -38,7 +38,7 @@
|
||||
- If you are not using arkenfox v78... (not a definitive list)
|
||||
- 1244: HTTPS-Only mode is enabled
|
||||
- 1401: document fonts is inactive as it is now covered by RFP in FF80+
|
||||
- 4600: some prefs may apply even if you use RFP (currently none apply as of FF84)
|
||||
- 4600: some prefs may apply even if you use RFP
|
||||
- 9999: switch the appropriate deprecated section(s) back on
|
||||
|
||||
* INDEX:
|
||||
@ -83,9 +83,8 @@
|
||||
user_pref("_user.js.parrot", "START: Oh yes, the Norwegian Blue... what's wrong with it?");
|
||||
|
||||
/* 0000: disable about:config warning
|
||||
* FF72 or lower: chrome://global/content/config.xul
|
||||
* FF73-86: chrome://global/content/config.xhtml ***/
|
||||
user_pref("general.warnOnAboutConfig", false); // XUL/XHTML version
|
||||
user_pref("general.warnOnAboutConfig", false); // XHTML version
|
||||
user_pref("browser.aboutConfig.showWarning", false); // HTML version [FF71+]
|
||||
|
||||
/*** [SECTION 0100]: STARTUP ***/
|
||||
@ -93,7 +92,8 @@ user_pref("_user.js.parrot", "0100 syntax error: the parrot's dead!");
|
||||
/* 0101: disable default browser check
|
||||
* [SETTING] General>Startup>Always check if Firefox is your default browser ***/
|
||||
user_pref("browser.shell.checkDefaultBrowser", false);
|
||||
/* 0102: set START page (0=blank, 1=home, 2=last visited page, 3=resume previous session)
|
||||
/* 0102: set startup page [SETUP-CHROME]
|
||||
* 0=blank, 1=home, 2=last visited page, 3=resume previous session
|
||||
* [NOTE] Session Restore is not used in PB mode (0110) and is cleared with history (2803, 2804)
|
||||
* [SETTING] General>Startup>Restore previous session ***/
|
||||
user_pref("browser.startup.page", 0);
|
||||
@ -122,8 +122,6 @@ 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.showSponsored", false);
|
||||
user_pref("browser.newtabpage.activity-stream.feeds.discoverystreamfeed", false); // [FF66+]
|
||||
/* 0105d: disable Activity Stream recent Highlights in the Library [FF57+] ***/
|
||||
// user_pref("browser.library.activity-stream.enabled", false);
|
||||
/* 0105e: clear default topsites
|
||||
* [NOTE] This does not block you from adding your own ***/
|
||||
user_pref("browser.newtabpage.activity-stream.default.sites", "");
|
||||
@ -143,7 +141,7 @@ user_pref("browser.newtabpage.activity-stream.default.sites", "");
|
||||
user_pref("_user.js.parrot", "0200 syntax error: the parrot's definitely deceased!");
|
||||
/** GEOLOCATION ***/
|
||||
/* 0201: disable Location-Aware Browsing
|
||||
* [NOTE] Best left at default "true", fingerprintable, is already behind a prompt (see 0202)
|
||||
* [NOTE] Best left at default "true", fingerprintable, already behind a prompt (see 0202)
|
||||
* [1] https://www.mozilla.org/firefox/geolocation/ ***/
|
||||
// user_pref("geo.enabled", false);
|
||||
/* 0202: set a default permission for Location (see 0201) [FF58+]
|
||||
@ -251,10 +249,10 @@ user_pref("browser.discovery.enabled", false);
|
||||
/* 0350: disable Crash Reports ***/
|
||||
user_pref("breakpad.reportURL", "");
|
||||
user_pref("browser.tabs.crashReporting.sendReport", false); // [FF44+]
|
||||
user_pref("browser.crashReports.unsubmittedCheck.enabled", false); // [FF51+]
|
||||
/* 0351: disable backlogged Crash Reports
|
||||
// user_pref("browser.crashReports.unsubmittedCheck.enabled", false); // [FF51+] [DEFAULT: false]
|
||||
/* 0351: enforce no submission of backlogged Crash Reports [FF58+]
|
||||
* [SETTING] Privacy & Security>Firefox Data Collection & Use>Allow Firefox to send backlogged crash reports ***/
|
||||
user_pref("browser.crashReports.unsubmittedCheck.autoSubmit2", false); // [FF58+]
|
||||
user_pref("browser.crashReports.unsubmittedCheck.autoSubmit2", false); // [DEFAULT: false]
|
||||
/* 0390: disable Captive Portal detection
|
||||
* [1] https://www.eff.org/deeplinks/2017/08/how-captive-portals-interfere-wireless-security-and-privacy
|
||||
* [2] https://wiki.mozilla.org/Necko/CaptivePortal ***/
|
||||
@ -350,9 +348,9 @@ user_pref("extensions.formautofill.available", "off"); // [FF56+]
|
||||
user_pref("extensions.formautofill.creditCards.available", false); // [FF57+]
|
||||
user_pref("extensions.formautofill.creditCards.enabled", false); // [FF56+]
|
||||
user_pref("extensions.formautofill.heuristics.enabled", false); // [FF55+]
|
||||
/* 0518: disable Web Compatibility Reporter [FF56+]
|
||||
/* 0518: 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);
|
||||
user_pref("extensions.webcompat-reporter.enabled", false); // [DEFAULT: false]
|
||||
|
||||
/*** [SECTION 0600]: BLOCK IMPLICIT OUTBOUND [not explicitly asked for - e.g. clicked on] ***/
|
||||
user_pref("_user.js.parrot", "0600 syntax error: the parrot's no more!");
|
||||
@ -362,17 +360,16 @@ user_pref("network.prefetch-next", false);
|
||||
/* 0602: disable DNS prefetching
|
||||
* [1] https://developer.mozilla.org/docs/Web/HTTP/Headers/X-DNS-Prefetch-Control ***/
|
||||
user_pref("network.dns.disablePrefetch", true);
|
||||
user_pref("network.dns.disablePrefetchFromHTTPS", true); // [DEFAULT: true]
|
||||
// user_pref("network.dns.disablePrefetchFromHTTPS", true); // [DEFAULT: true]
|
||||
/* 0603: disable predictor / prefetching ***/
|
||||
user_pref("network.predictor.enabled", false);
|
||||
user_pref("network.predictor.enable-prefetch", false); // [FF48+] [DEFAULT: false]
|
||||
// user_pref("network.predictor.enable-prefetch", false); // [FF48+] [DEFAULT: false]
|
||||
/* 0605: 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);
|
||||
/* 0606: 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]
|
||||
user_pref("browser.send_pings.require_same_host", true); // defense-in-depth
|
||||
// user_pref("browser.send_pings", false); // [DEFAULT: false]
|
||||
|
||||
/*** [SECTION 0700]: HTTP* / TCP/IP / DNS / PROXY / SOCKS etc ***/
|
||||
user_pref("_user.js.parrot", "0700 syntax error: the parrot's given up the ghost!");
|
||||
@ -390,8 +387,8 @@ user_pref("network.dns.disableIPv6", true);
|
||||
/* 0702: disable HTTP2
|
||||
* HTTP2 raises concerns with "multiplexing" and "server push", does nothing to
|
||||
* enhance privacy, and opens up a number of server-side fingerprinting opportunities.
|
||||
* [WARNING] Disabling this made sense in the past, and doesn't break anything, but HTTP2 is
|
||||
* at 40% (December 2019) and growing [5]. Don't be that one person using HTTP1.1 on HTTP2 sites
|
||||
* [WARNING] Don't disable HTTP2. Don't be that one person using HTTP1.1 on HTTP2 sites
|
||||
* [STATS] Over 50% of sites (April 2021) and growing [5]
|
||||
* [1] https://http2.github.io/faq/
|
||||
* [2] https://blog.scottlogic.com/2014/11/07/http-2-a-quick-look.html
|
||||
* [3] https://http2.github.io/http2-spec/#rfc.section.10.8
|
||||
@ -492,12 +489,7 @@ user_pref("browser.urlbar.dnsResolveSingleWordsAfterSearch", 0);
|
||||
* [SETTING] Privacy & Security>Address Bar>When using the address bar, suggest>Search engines ***/
|
||||
// user_pref("browser.urlbar.suggest.engines", false);
|
||||
/* 0850c: disable location bar dropdown
|
||||
* This value controls the total number of entries to appear in the location bar dropdown
|
||||
* [NOTE] Items (bookmarks/history/openpages) with a high "frecency"/"bonus" will always
|
||||
* be displayed (no we do not know how these are calculated or what the threshold is),
|
||||
* and this does not affect the search by search engine suggestion (see 0807)
|
||||
* [NOTE] This setting is only useful if you want to enable search engine keywords
|
||||
* (i.e. at least one of 0850a suggestion types must be true) but you want to *limit* suggestions shown ***/
|
||||
* This value controls the total number of entries to appear in the location bar dropdown ***/
|
||||
// user_pref("browser.urlbar.maxRichResults", 0);
|
||||
/* 0850d: disable location bar autofill
|
||||
* [1] https://support.mozilla.org/en-US/kb/address-bar-autocomplete-firefox#w_url-autocomplete ***/
|
||||
@ -519,7 +511,7 @@ user_pref("browser.taskbar.lists.frequent.enabled", false);
|
||||
user_pref("browser.taskbar.lists.recent.enabled", false);
|
||||
user_pref("browser.taskbar.lists.tasks.enabled", false);
|
||||
/* 0871: disable Windows taskbar preview [WINDOWS] ***/
|
||||
user_pref("browser.taskbar.previews.enable", false);
|
||||
// user_pref("browser.taskbar.previews.enable", false); // [DEFAULT: false]
|
||||
|
||||
/*** [SECTION 0900]: PASSWORDS ***/
|
||||
user_pref("_user.js.parrot", "0900 syntax error: the parrot's expired!");
|
||||
@ -653,7 +645,7 @@ user_pref("security.ssl.require_safe_negotiation", true);
|
||||
* [1] https://www.ssllabs.com/ssl-pulse/ ***/
|
||||
// user_pref("security.tls.version.min", 3); // [DEFAULT: 3]
|
||||
// user_pref("security.tls.version.max", 4);
|
||||
/* 1203: enforce TLS 1.0 and 1.1 downgrades as session only */
|
||||
/* 1203: enforce TLS 1.0 and 1.1 downgrades as session only ***/
|
||||
user_pref("security.tls.version.enable-deprecated", false);
|
||||
/* 1204: disable SSL session tracking [FF36+]
|
||||
* SSL Session IDs are unique and last up to 24hrs in Firefox (or longer with prolongation attacks)
|
||||
@ -752,6 +744,10 @@ user_pref("dom.security.https_only_mode", true); // [FF76+]
|
||||
* 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);
|
||||
/* 1247: treat .onion as a secure context [FF60+] [TOR]
|
||||
* [NOTE] Firefox cannot access .onion sites by default: it is strongly recommended you just use Tor Browser
|
||||
* [1] https://bugzilla.mozilla.org/1382359 ***/
|
||||
// user_pref("dom.securecontext.whitelist_onions", true);
|
||||
|
||||
/** CIPHERS [WARNING: do not meddle with your cipher suite: see the section 1200 intro]
|
||||
* These are all the ciphers still using SHA-1 and CBC which are weaker than the available alternatives. (see "Cipher Suites" in [1])
|
||||
@ -853,14 +849,14 @@ user_pref("network.http.referer.XOriginTrimmingPolicy", 2);
|
||||
* [NOTE] This is only a default, it can be overridden by a site-controlled Referrer Policy
|
||||
* [1] https://www.w3.org/TR/referrer-policy/
|
||||
* [2] https://developer.mozilla.org/docs/Web/HTTP/Headers/Referrer-Policy
|
||||
* [3] https://blog.mozilla.org/security/2018/01/31/preventing-data-leaks-by-stripping-path-information-in-http-referrers/ ***/
|
||||
// user_pref("network.http.referer.defaultPolicy", 3); // [DEFAULT: 3]
|
||||
* [3] https://blog.mozilla.org/security/2018/01/31/preventing-data-leaks-by-stripping-path-information-in-http-referrers/
|
||||
* [4] https://blog.mozilla.org/security/2021/03/22/firefox-87-trims-http-referrers-by-default-to-protect-user-privacy/ ***/
|
||||
// user_pref("network.http.referer.defaultPolicy", 2); // [DEFAULT: 2 FF87+]
|
||||
// user_pref("network.http.referer.defaultPolicy.pbmode", 2); // [DEFAULT: 2]
|
||||
/* 1607: TOR: hide (not spoof) referrer when leaving a .onion domain [FF54+]
|
||||
* [NOTE] Firefox cannot access .onion sites by default. We recommend you use
|
||||
* the Tor Browser which is specifically designed for hidden services
|
||||
/* 1607: hide (not spoof) referrer when leaving a .onion domain [FF54+] [TOR]
|
||||
* [NOTE] Firefox cannot access .onion sites by default: it is strongly recommended you just use Tor Browser
|
||||
* [1] https://bugzilla.mozilla.org/1305144 ***/
|
||||
user_pref("network.http.referer.hideOnionSource", true);
|
||||
// user_pref("network.http.referer.hideOnionSource", true);
|
||||
/* 1610: ALL: enable the DNT (Do Not Track) HTTP header
|
||||
* [NOTE] DNT is enforced with Enhanced Tracking Protection regardless of this pref
|
||||
* [SETTING] Privacy & Security>Enhanced Tracking Protection>Send websites a "Do Not Track" signal... ***/
|
||||
@ -897,11 +893,12 @@ user_pref("plugin.state.flash", 0);
|
||||
* [1] https://wiki.mozilla.org/GeckoMediaPlugins ***/
|
||||
// user_pref("media.gmp-provider.enabled", false);
|
||||
/* 1825: disable widevine CDM (Content Decryption Module)
|
||||
* [NOTE] This is covered by the EME master switch (1830) **/
|
||||
* [NOTE] This is covered by the EME master switch (1830) ***/
|
||||
// user_pref("media.gmp-widevinecdm.enabled", false);
|
||||
/* 1830: disable all DRM content (EME: Encryption Media Extension)
|
||||
* [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);
|
||||
|
||||
@ -929,7 +926,6 @@ user_pref("media.peerconnection.ice.proxy_only_if_behind_proxy", true); // [FF70
|
||||
user_pref("webgl.disabled", true);
|
||||
user_pref("webgl.enable-webgl2", false);
|
||||
/* 2012: limit WebGL ***/
|
||||
// user_pref("webgl.min_capability_mode", true);
|
||||
user_pref("webgl.disable-fail-if-major-performance-caveat", true); // [DEFAULT: true FF86+]
|
||||
/* 2022: disable screensharing ***/
|
||||
user_pref("media.getusermedia.screensharing.enabled", false);
|
||||
@ -1031,9 +1027,9 @@ user_pref("_user.js.parrot", "2400 syntax error: the parrot's kicked the bucket!
|
||||
/* 2402: disable website access to clipboard events/content [SETUP-HARDEN]
|
||||
* [NOTE] This will break some sites' functionality e.g. Outlook, Twitter, Facebook, Wordpress
|
||||
* This applies to onCut/onCopy/onPaste events - i.e. it requires interaction with the website
|
||||
* [WARNING] If both 'middlemouse.paste' and 'general.autoScroll' are true (at least one
|
||||
* is default false) then enabling this pref can leak clipboard content [1]
|
||||
* [1] https://bugzilla.mozilla.org/1528289 */
|
||||
* [WARNING] In FF88 or lower, with clipboardevents enabled, if both 'middlemouse.paste' and
|
||||
* 'general.autoScroll' are true (at least one is default false) then the clipboard can leak [1]
|
||||
* [1] https://bugzilla.mozilla.org/1528289 ***/
|
||||
// user_pref("dom.event.clipboardevents.enabled", false);
|
||||
/* 2404: disable clipboard commands (cut/copy) from "non-privileged" content [FF41+]
|
||||
* this disables document.execCommand("cut"/"copy") to protect your clipboard
|
||||
@ -1112,7 +1108,7 @@ user_pref("dom.webaudio.enabled", false);
|
||||
* 0=always ask (default), 1=allow, 2=block
|
||||
* [SETTING] to add site exceptions: Ctrl+I>Permissions>Access Virtual Reality Devices
|
||||
* [SETTING] to manage site exceptions: Options>Privacy & Security>Permissions>Virtual Reality>Settings ***/
|
||||
// user_pref("permissions.default.xr", 0);
|
||||
// user_pref("permissions.default.xr", 2);
|
||||
|
||||
/*** [SECTION 2600]: MISCELLANEOUS ***/
|
||||
user_pref("_user.js.parrot", "2600 syntax error: the parrot's run down the curtain!");
|
||||
@ -1167,17 +1163,18 @@ user_pref("webchannel.allowObject.urlWhitelist", "");
|
||||
* [3] CVE-2017-5383: https://www.mozilla.org/security/advisories/mfsa2017-02/
|
||||
* [4] https://www.xudongz.com/blog/2017/idn-phishing/ ***/
|
||||
user_pref("network.IDN_show_punycode", true);
|
||||
/* 2620: enforce Firefox's built-in PDF reader [SETUP-CHROME]
|
||||
/* 2620: enforce PDFJS, disable PDFJS scripting [SETUP-CHROME]
|
||||
* This setting controls if the option "Display in Firefox" is available in the setting below
|
||||
* and by effect controls whether PDFs are handled in-browser or externally ("Ask" or "Open With")
|
||||
* PROS: pdfjs is lightweight, open source, and as secure/vetted as any pdf reader out there (more than most)
|
||||
* Exploits are rare (1 serious case in 4 yrs), treated seriously and patched quickly.
|
||||
* Exploits are rare (one serious case in seven years), treated seriously and patched quickly.
|
||||
* It doesn't break "state separation" of browser content (by not sharing with OS, independent apps).
|
||||
* It maintains disk avoidance and application data isolation. It's convenient. You can still save to disk.
|
||||
* CONS: You may prefer a different pdf reader for security reasons
|
||||
* CAVEAT: JS can still force a pdf to open in-browser by bundling its own code (rare)
|
||||
* [SETTING] General>Applications>Portable Document Format (PDF) ***/
|
||||
user_pref("pdfjs.disabled", false); // [DEFAULT: false]
|
||||
user_pref("pdfjs.enableScripting", false); // [FF86+]
|
||||
/* 2621: disable links launching Windows Store on Windows 8/8.1/10 [WINDOWS] ***/
|
||||
user_pref("network.protocol-handler.external.ms-windows-store", false);
|
||||
/* 2622: enforce no system colors; they can be fingerprinted
|
||||
@ -1187,7 +1184,7 @@ user_pref("browser.display.use_system_colors", false); // [DEFAULT: false]
|
||||
* Currently applies to cross-origin geolocation, camera, mic and screen-sharing
|
||||
* permissions, and fullscreen requests. Disabling delegation means any prompts
|
||||
* for these will show/use their correct 3rd party origin
|
||||
* [1] https://groups.google.com/forum/#!topic/mozilla.dev.platform/BdFOMAuCGW8/discussion */
|
||||
* [1] https://groups.google.com/forum/#!topic/mozilla.dev.platform/BdFOMAuCGW8/discussion ***/
|
||||
user_pref("permissions.delegation.enabled", false);
|
||||
/* 2624: enable "window.name" protection [FF82+]
|
||||
* If a new page from another domain is loaded into a tab, then window.name is set to an empty string. The original
|
||||
@ -1252,12 +1249,18 @@ user_pref("security.dialog_enable_delay", 700);
|
||||
accessible to websites except shared/service workers where the cookie setting *must* be "Allow"
|
||||
***/
|
||||
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]
|
||||
* 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 and social media trackers (default)
|
||||
* [NOTE] You can set exceptions under site permissions or use an extension
|
||||
/* 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 ***/
|
||||
* [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");
|
||||
/* 2702: set third-party cookies (if enabled, see 2701) to session-only
|
||||
@ -1271,7 +1274,16 @@ user_pref("network.cookie.thirdparty.nonsecureSessionOnly", true); // [FF58+]
|
||||
* [NOTE] The setting below is disabled (but not changed) if you block all cookies (2701 = 2)
|
||||
* [SETTING] Privacy & Security>Cookies and Site Data>Delete cookies and site data when Firefox is closed ***/
|
||||
// user_pref("network.cookie.lifetimePolicy", 2);
|
||||
/* 2710: disable DOM (Document Object Model) Storage
|
||||
/* 2710: enable Enhanced Tracking Protection (ETP) in all windows
|
||||
* [SETTING] Privacy & Security>Enhanced Tracking Protection>Custom>Tracking content
|
||||
* [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]
|
||||
/* 2720: disable DOM (Document Object Model) Storage
|
||||
* [WARNING] This will break a LOT of sites' functionality AND extensions!
|
||||
* You are better off using an extension for more granular control ***/
|
||||
// user_pref("dom.storage.enabled", false);
|
||||
@ -1299,8 +1311,8 @@ user_pref("dom.storage.next_gen", true);
|
||||
|
||||
/*** [SECTION 2800]: SHUTDOWN
|
||||
You should set the values to what suits you best.
|
||||
- "Offline Website Data" includes appCache (2730), localStorage (2710),
|
||||
service worker cache (2740), and QuotaManager (IndexedDB (2720), asm-cache)
|
||||
- "Offline Website Data" includes appCache (2730), localStorage (2720),
|
||||
service worker cache (2740), and QuotaManager (IndexedDB, asm-cache)
|
||||
- In both 2803 + 2804, the 'download' and 'history' prefs are combined in the
|
||||
Firefox interface as "Browsing & Download History" and their values will be synced
|
||||
***/
|
||||
@ -1423,7 +1435,7 @@ user_pref("privacy.firstparty.isolate", true);
|
||||
1217290 & 1409677 - enable fingerprinting resistance for WebGL (see 2010-12)
|
||||
1382545 - reduce fingerprinting in Animation API
|
||||
1354633 - limit MediaError.message to a whitelist
|
||||
1382533 - enable fingerprinting resistance for Presentation API
|
||||
1382533 & 1697680 - enable fingerprinting resistance for Presentation API (FF57-87)
|
||||
This blocks exposure of local IP Addresses via mDNS (Multicast DNS)
|
||||
FF58+
|
||||
967895 - spoof canvas and enable site permission prompt before allowing canvas data extraction
|
||||
@ -1567,8 +1579,9 @@ user_pref("webgl.enable-debug-renderer-info", false);
|
||||
// 0=no-preference, 1=reduce
|
||||
user_pref("ui.prefersReducedMotion", 0); // [HIDDEN PREF]
|
||||
// FF64+
|
||||
// 4615: [2516] disable PointerEvents
|
||||
// 4615: [2516] disable PointerEvents [FF86 or lower]
|
||||
// [1] https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent
|
||||
// [-] https://bugzilla.mozilla.org/1688105
|
||||
user_pref("dom.w3c_pointer_events.enabled", false);
|
||||
// * * * /
|
||||
// FF67+
|
||||
@ -1608,10 +1621,11 @@ user_pref("_user.js.parrot", "4700 syntax error: the parrot's taken 'is last bow
|
||||
// user_pref("general.useragent.override", ""); // [HIDDEN PREF]
|
||||
|
||||
/*** [SECTION 5000]: PERSONAL
|
||||
Non-project related but useful. If any of these interest you, add them to your overrides ***/
|
||||
Non-project related but useful. If any of these interest you, add them to your overrides
|
||||
To save some overrides, we've made a few active as they seem to be universally used ***/
|
||||
user_pref("_user.js.parrot", "5000 syntax error: this is an ex-parrot!");
|
||||
/* WELCOME & WHAT's NEW NOTICES ***/
|
||||
// user_pref("browser.startup.homepage_override.mstone", "ignore"); // master switch
|
||||
user_pref("browser.startup.homepage_override.mstone", "ignore"); // master switch
|
||||
// user_pref("startup.homepage_welcome_url", "");
|
||||
// user_pref("startup.homepage_welcome_url.additional", "");
|
||||
// user_pref("startup.homepage_override_url", ""); // What's New page after updates
|
||||
@ -1638,15 +1652,15 @@ user_pref("_user.js.parrot", "5000 syntax error: this is an ex-parrot!");
|
||||
// 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]
|
||||
/* UX FEATURES: disable and hide the icons and menus ***/
|
||||
// user_pref("browser.messaging-system.whatsNewPanel.enabled", false); // What's New [FF69+]
|
||||
user_pref("browser.messaging-system.whatsNewPanel.enabled", false); // What's New toolbar icon [FF69+]
|
||||
// user_pref("extensions.pocket.enabled", false); // Pocket Account [FF46+]
|
||||
// user_pref("identity.fxaccounts.enabled", false); // Firefox Accounts & Sync [FF60+] [RESTART]
|
||||
// user_pref("reader.parse-on-load.enabled", false); // Reader View
|
||||
/* OTHER ***/
|
||||
// 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+]
|
||||
// [SETTING] General>Browsing>Recommend extensions as you browse
|
||||
// user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features", false); // disable CFR [FF67+]
|
||||
user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features", false); // disable CFR [FF67+]
|
||||
// [SETTING] General>Browsing>Recommend features as you browse
|
||||
// user_pref("network.manage-offline-status", false); // see bugzilla 620472
|
||||
// user_pref("xpinstall.signatures.required", false); // enforced extension signing (Nightly/ESR)
|
||||
@ -1683,6 +1697,10 @@ user_pref("security.ssl.errorReporting.url", "");
|
||||
// 2653: disable hiding mime types (Options>General>Applications) not associated with a plugin
|
||||
// [-] https://bugzilla.mozilla.org/1581678
|
||||
user_pref("browser.download.hide_plugins_without_extensions", false);
|
||||
// FF87
|
||||
// 0105d: disable Activity Stream recent Highlights in the Library [FF57+]
|
||||
// [-] https://bugzilla.mozilla.org/1689405
|
||||
// user_pref("browser.library.activity-stream.enabled", false);
|
||||
// ***/
|
||||
|
||||
/* END: internal custom pref to test for syntax errors ***/
|
||||
|
BIN
wikipiki/parseError.png
Normal file
BIN
wikipiki/parseError.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.4 KiB |
Reference in New Issue
Block a user