From 7973d8a571f4935492d0e0a935ed32f55fe9f7ec Mon Sep 17 00:00:00 2001 From: Daniel Gray Date: Sun, 24 Nov 2019 00:00:00 +0000 Subject: [PATCH] --- LICENSE | 21 + README.md | 17 + user.js | 1291 +++++++++++++++++++++++++++++++++++++++++ wiki/backup01.png | Bin 0 -> 19811 bytes wiki/concurrent01.png | Bin 0 -> 9921 bytes wiki/concurrent02.png | Bin 0 -> 95757 bytes wiki/concurrent03.png | Bin 0 -> 4998 bytes wiki/concurrent04.png | Bin 0 -> 5680 bytes wiki/profiles01.png | Bin 0 -> 10060 bytes wiki/profiles02.png | Bin 0 -> 25045 bytes 10 files changed, 1329 insertions(+) create mode 100644 LICENSE create mode 100644 README.md create mode 100644 user.js create mode 100644 wiki/backup01.png create mode 100644 wiki/concurrent01.png create mode 100644 wiki/concurrent02.png create mode 100644 wiki/concurrent03.png create mode 100644 wiki/concurrent04.png create mode 100644 wiki/profiles01.png create mode 100644 wiki/profiles02.png diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..1dbaeb6 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 ghacksuserjs + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..e8b0be9 --- /dev/null +++ b/README.md @@ -0,0 +1,17 @@ +### :large_blue_diamond: user.js +A `user.js` is a configuration file that can control hundreds of Thunderbird settings. For a more technical breakdown and explanation, you can read more on the [overview](https://github.com/dngray/ghacks-thunderbird-user.js/wiki/1.1-Overview) wiki page. + +### :large_blue_diamond: thunderbird user.js +The Thunderbird `user.js` is a **template** which aims to provide as much privacy and enhanced security as possible. It differs from the `ghacks user.js` in that the focus is to keep Thunderbird as an **email client** and disable as many web browsing features as possible. We believe web browsing should be done in a web browser, and not an email client. + +- If you're using Thunderbird with Tor we suggest that you install the [TorBirdy](https://addons.thunderbird.net/addon/torbirdy) addon. If you are using Tor, you should also consider using [Tails](https://tails.boum.org/) or [Whonix](https://www.whonix.org/). +- If you're a **Gmail** user see [this article about OAuth2](https://github.com/dngray/ghacks-thunderbird-user.js/wiki/3.1-OAuth2-Users). +- For information about [extensions](https://github.com/dngray/ghacks-thunderbird-user.js/wiki/4.1-Extensions), see the wiki. **Calendar** users should [see this page](https://github.com/dngray/ghacks-thunderbird-user.js/wiki/4.1.1-Calendar). + +Also be aware that this `user.js` is made specifically for Thunderbird and has only been tested in the latest stable release. + +### :large_blue_diamond: acknowledgments +* [tya99](https://github.com/tya99) most of the ground work and initial port from the Firefox version of [ghacks user.js](https://github.com/ghacksuserjs/ghacks-user.js) +* [dngray](https://github.com/dngray) continual maintenance and Wiki + +### :large_blue_diamond: [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) diff --git a/user.js b/user.js new file mode 100644 index 0000000..f1682f9 --- /dev/null +++ b/user.js @@ -0,0 +1,1291 @@ +/****** +* name: ghacks thunderbird user.js +* date: 17 March 2019 +* version 60.5: Fork at ghacksuserjs/ghacks-user.js 2cff24f12e89d3592f8285875fed3a57c489a961 (HEAD, tag: 65.0) +* authors: v52+ github | v51- www.ghacks.net +* url: https://github.com/ghacksuserjs/ghacks-thunderbird-user.js +* license: MIT: https://github.com/ghacksuserjs/ghacks-thunderbird-user.js/blob/master/LICENSE.txt + +* releases: These are end-of-stable-life-cycle legacy archives. + *Always* use the master branch user.js for a current up-to-date version. + url: https://github.com/ghacksuserjs/ghacks-thunderbird-user.js/releases + +* README: + + 0. Consider using Tor, use TorBirdy as well. + * https://addons.thunderbird.net/addon/torbirdy + 1. READ the full README + * https://github.com/ghacksuserjs/ghacks-thunderbird-user.js/blob/master/README.md + 2. READ this + * https://github.com/ghacksuserjs/ghacks-thunderbird-user.js/wiki/1.3-Implementation + 3. If you skipped steps 1 and 2 above (shame on you), then here is the absolute minimum + * Auto-installing updates for Thunderbird and extensions are disabled (section 0302's) + * Browsing related technologies, and JavaScript disabled. Use your web browser for browsing. + 4. BACKUP your profile folder before implementing (and/or test in a new/cloned profile) + 5. KEEP UP TO DATE: https://github.com/ghacksuserjs/ghacks-thunderbird-user.js/wiki#small_orange_diamond-maintenance + +* INDEX: + + 0100: STARTUP + 0200: GEOLOCATION + 0300: QUIET FOX + 0400: BLOCKLISTS / SAFE BROWSING / TRACKING PROTECTION + 0500: SYSTEM ADD-ONS / EXPERIMENTS + 0600: BLOCK IMPLICIT OUTBOUND + 0700: HTTP* / TCP/IP / DNS / PROXY / SOCKS etc + 0800: HISTORY / FORMS + 1000: CACHE / FAVICONS + 1200: HTTPS (SSL/TLS / OCSP / CERTS / HPKP / CIPHERS) + 1600: HEADERS / REFERERS + 2600: MISCELLANEOUS + 2700: PERSISTENT STORAGE + 2800: SHUTDOWN + 4000: FPI (FIRST PARTY ISOLATION) + 4500: RFP (RESIST FINGERPRINTING) + 5000: PERSONAL + 6000: THUNDERBIRD (AUTO CONFIG / UI / HEADERS / ADDRESS BOOK) + 6100: EMAIL COMPOSITION (ENCODING / FORMAT / VIEW) + 6200: OTHER THUNDERBIRD COMPONENTS (CHAT / CALENDAR / RSS) + 6300: THUNDERBIRD ENCRYPTION (ENIGMAIL / AUTOCRYPT) + 9999: DEPRECATED / REMOVED / LEGACY / RENAMED + +******/ + +/* START: internal custom pref to test for syntax errors + * [NOTE] In FF60+, not all syntax errors cause parsing to abort i.e. reaching the last debug + * pref no longer necessarily means that all prefs have been applied. Check the console right + * after startup for any warnings/error messages related to non-applied prefs + * [1] https://blog.mozilla.org/nnethercote/2018/03/09/a-new-preferences-parser-for-firefox/ ***/ +user_pref("_user.js.parrot", "START: Oh yes, the Norwegian Blue... what's wrong with it?"); + +/*** [SECTION 0100]: STARTUP ***/ +user_pref("_user.js.parrot", "0100 syntax error: the parrot's dead!"); +/* 0101: disable default browser check + * [SETTING] Edit>Preferences>Advanced>Always check to see if Thunderbird is the default mail client on startup ***/ +user_pref("mail.shell.checkDefaultMail", false); +/* 0102: set START page + * [SETTING] Edit>Preferences>General>Thunderbird Start Page ***/ +user_pref("mailnews.start_page.enabled", false); + +/*** [SECTION 0200]: GEOLOCATION ***/ +user_pref("_user.js.parrot", "0200 syntax error: the parrot's definitely deceased!"); +/* 0201: disable Location-Aware Browsing + * [1] https://www.mozilla.org/firefox/geolocation/ ***/ + user_pref("geo.enabled", false); +/* 0201b: set a default permission for Location [FF58+] + * 0=always ask (default), 1=allow, 2=block + * [NOTE] Best left at default "always ask", fingerprintable via Permissions API + * [SETTING] to add site exceptions: Page Info>Permissions>Access Your Location + * [SETTING] to manage site exceptions: Options>Privacy & Security>Permissions>Location>Settings ***/ + // user_pref("permissions.default.geo", 2); +/* 0202: disable GeoIP-based search results + * [NOTE] May not be hidden if Firefox has changed your settings due to your locale + * [1] https://trac.torproject.org/projects/tor/ticket/16254 + * [2] https://support.mozilla.org/en-US/kb/how-stop-firefox-making-automatic-connections#w_geolocation-for-default-search-engine ***/ +user_pref("browser.search.region", "US"); // [HIDDEN PREF] +user_pref("browser.search.geoip.url", ""); +/* 0205: set OS & APP locale [FF59+] + * If set to empty, the OS locales are used. If not set at all, default locale is used ***/ +user_pref("intl.locale.requested", "en-US"); // [HIDDEN PREF] +/* 0206: disable geographically specific results/search engines e.g. "browser.search.*.US" + * i.e. ignore all of Mozilla's various search engines in multiple locales ***/ +user_pref("browser.search.geoSpecificDefaults", false); +user_pref("browser.search.geoSpecificDefaults.url", ""); +/* 0207: set language to match ***/ +user_pref("intl.accept_languages", "en-US, en"); +/* 0208: Set dictionary to US ***/ +user_pref("spellchecker.dictionary", "en-US"); +/* 0209: use APP locale over OS locale in regional preferences [FF56+] + * [1] https://bugzilla.mozilla.org/buglist.cgi?bug_id=1379420,1364789 ***/ +user_pref("intl.regional_prefs.use_os_locales", false); + +/*** [SECTION 0300]: QUIET FOX + We choose to not disable auto-CHECKs (0301's) but to disable auto-INSTALLs (0302's). + There are many legitimate reasons to turn off auto-INSTALLS, including hijacked or + monetized extensions, time constraints, legacy issues, and fear of breakage/bugs. + It is still important to do updates for security reasons, please do so manually. ***/ +user_pref("_user.js.parrot", "0300 syntax error: the parrot's not pinin' for the fjords!"); +/* 0301b: disable auto-CHECKING for extension and theme updates ***/ + // user_pref("extensions.update.enabled", false); +/* 0302a: disable auto-INSTALLING Firefox updates [NON-WINDOWS FF65+] + * [NOTE] In FF65+ on Windows this SETTING (below) is now stored in a file and the pref was removed + * [SETTING] General>Firefox Updates>Check for updates but let you choose... ***/ +user_pref("app.update.auto", false); +/* 0302b: disable auto-INSTALLING extension and theme updates (after the check in 0301b) + * [SETTING] about:addons>Extensions>[cog-wheel-icon]>Update Add-ons Automatically (toggle) ***/ +user_pref("extensions.update.autoUpdateDefault", false); +/* 0303: disable background update service [WINDOWS] + * [SETTING] General>Firefox Updates>Use a background service to install updates ***/ +user_pref("app.update.service.enabled", false); +/* 0304: disable background update staging ***/ +user_pref("app.update.staging.enabled", false); +/* 0305: enforce update information is displayed + * This is the update available, downloaded, error and success information ***/ +user_pref("app.update.silent", false); +/* 0306: disable extension metadata + * 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" ***/ + // 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 + * [SETTING] General>Firefox Updates>Automatically update search engines ***/ +user_pref("browser.search.update", false); +/* 0310: disable sending the URL of the website where a plugin crashed ***/ +user_pref("dom.ipc.plugins.reportCrashURL", false); +/* 0320: disable about:addons' Get Add-ons panel (uses Google Analytics) ***/ +user_pref("extensions.getAddons.showPane", false); // [HIDDEN PREF] +user_pref("extensions.webservice.discoverURL", ""); +/* 0330: disable telemetry + * the pref (.unified) affects the behaviour of the pref (.enabled) + * IF unified=false then .enabled controls the telemetry module + * IF unified=true then .enabled ONLY controls whether to record extended data + * so make sure to have both set as false + * [NOTE] FF58+ `toolkit.telemetry.enabled` is now LOCKED to reflect prerelease + * or release builds (true and false respectively), see [2] + * [1] https://firefox-source-docs.mozilla.org/toolkit/components/telemetry/telemetry/internals/preferences.html + * [2] https://medium.com/georg-fritzsche/data-preference-changes-in-firefox-58-2d5df9c428b5 ***/ +user_pref("toolkit.telemetry.unified", false); +user_pref("toolkit.telemetry.enabled", false); // see [NOTE] above FF58+ +user_pref("toolkit.telemetry.server", "data:,"); +user_pref("toolkit.telemetry.archive.enabled", false); +user_pref("toolkit.telemetry.cachedClientID", ""); +user_pref("toolkit.telemetry.newProfilePing.enabled", false); // [FF55+] +user_pref("toolkit.telemetry.shutdownPingSender.enabled", false); // [FF55+] +user_pref("toolkit.telemetry.updatePing.enabled", false); // [FF56+] +user_pref("toolkit.telemetry.bhrPing.enabled", false); // [FF57+] Background Hang Reporter +user_pref("toolkit.telemetry.firstShutdownPing.enabled", false); // [FF57+] +user_pref("toolkit.telemetry.hybridContent.enabled", false); // [FF59+] +/* 0340: disable Health Reports + * [SETTING] Privacy & Security>Firefox Data Collection & Use>Allow Firefox to send technical... data ***/ +user_pref("datareporting.healthreport.uploadEnabled", false); +/* 0341: disable new data submission, master kill switch [FF41+] + * If disabled, no policy is shown or upload takes place, ever + * [1] https://bugzilla.mozilla.org/1195552 ***/ +user_pref("datareporting.policy.dataSubmissionEnabled", false); +/* 0342: disable Studies (see 0503) + * [NOTE] This pref has no effect when Health Reports (0340) are disabled + * [SETTING] Privacy & Security>Firefox Data Collection & Use>...>Allow Firefox to install and run studies ***/ +user_pref("app.shield.optoutstudies.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 + * [SETTING] Privacy & Security>Firefox Data Collection & Use>Allow Firefox to send backlogged crash reports ***/ +user_pref("browser.crashReports.unsubmittedCheck.autoSubmit2", false); // [FF58+] +/* 0380: disable Browser Error Reporter [FF60+] + * [1] https://support.mozilla.org/en-US/kb/firefox-nightly-error-collection + * [2] https://firefox-source-docs.mozilla.org/browser/browser/BrowserErrorReporter.html ***/ +user_pref("browser.chrome.errorReporter.enabled", false); +user_pref("browser.chrome.errorReporter.submitUrl", ""); +/* 0390: disable Captive Portal detection + * [1] https://en.wikipedia.org/wiki/Captive_portal + * [2] https://wiki.mozilla.org/Necko/CaptivePortal + * [3] https://trac.torproject.org/projects/tor/ticket/21790 ***/ +user_pref("captivedetect.canonicalURL", ""); +user_pref("network.captive-portal-service.enabled", false); // [FF52+] + +/*** [SECTION 0400]: BLOCKLISTS / SAFE BROWSING / TRACKING PROTECTION + This section has security & tracking protection implications vs privacy concerns vs effectiveness + vs 3rd party 'censorship'. We DO NOT advocate no protection. If you disable Tracking Protection (TP) + and/or Safe Browsing (SB), then SECTION 0400 REQUIRES YOU HAVE uBLOCK ORIGIN INSTALLED. + + Safe Browsing is designed to protect users from malicious sites. Tracking Protection is designed + to lessen the impact of third parties on websites to reduce tracking and to speed up your browsing. + These do rely on 3rd parties (Google for SB and Disconnect for TP), but many steps, which are + continually being improved, have been taken to preserve privacy. Disable at your own risk. +***/ +user_pref("_user.js.parrot", "0400 syntax error: the parrot's passed on!"); +/** BLOCKLISTS ***/ +/* 0401: enable Firefox blocklist, but sanitize blocklist url + * [NOTE] It includes updates for "revoked certificates" + * [1] https://blog.mozilla.org/security/2015/03/03/revoking-intermediate-certificates-introducing-onecrl/ + * [2] https://trac.torproject.org/projects/tor/ticket/16931 ***/ +user_pref("extensions.blocklist.enabled", true); // [DEFAULT: true] +user_pref("extensions.blocklist.url", "https://blocklists.settings.services.mozilla.com/v1/blocklist/3/%APP_ID%/%APP_VERSION%/"); +/* 0403: disable individual unwanted/unneeded parts of the Kinto blocklists + * What is Kinto?: https://wiki.mozilla.org/Firefox/Kinto#Specifications + * As Firefox transitions to Kinto, the blocklists have been broken down into entries for certs to be + * revoked, extensions and plugins to be disabled, and gfx environments that cause problems or crashes ***/ + // user_pref("services.blocklist.onecrl.collection", ""); // revoked certificates + // user_pref("services.blocklist.addons.collection", ""); + // user_pref("services.blocklist.plugins.collection", ""); + // user_pref("services.blocklist.gfx.collection", ""); + +/** SAFE BROWSING (SB) + This sub-section has been redesigned to differentiate between "real-time"/"user initiated" data + being sent to Google from all other settings such as using local blocklists/whitelists and updating + those lists. There are NO privacy issues here. *IF* required, a full url is never sent to Google, + only a PART-hash of the prefix, and this is hidden with noise of other real PART-hashes. Google also + swear it is anonymized and only used to flag malicious sites/activity. Firefox also takes measures + such as striping out identifying parameters and storing safe browsing cookies in a separate jar. + SB v4 (FF57+) doesn't even use cookies. (#Turn on browser.safebrowsing.debug to monitor this activity) + #Required reading [#] https://feeding.cloud.geek.nz/posts/how-safe-browsing-works-in-firefox/ + [1] https://wiki.mozilla.org/Security/Safe_Browsing ***/ +/* 0410: disable "Block dangerous and deceptive content" + * This covers deceptive sites such as phishing and social engineering + * [SETTING] Privacy & Security>Security>Deceptive Content and Software Protection ***/ + // user_pref("browser.safebrowsing.malware.enabled", false); + // user_pref("browser.safebrowsing.phishing.enabled", false); // [FF50+] +/* 0411: disable "Block dangerous downloads" + * This covers malware and PUPs (potentially unwanted programs) + * [SETTING] Privacy & Security>Security>Deceptive Content and Software Protection ***/ + // user_pref("browser.safebrowsing.downloads.enabled", false); +/* 0412: disable "Warn me about unwanted and uncommon software" + * [SETTING] Privacy & Security>Security>Deceptive Content and Software Protection ***/ + // user_pref("browser.safebrowsing.downloads.remote.block_potentially_unwanted", false); // [FF48+] + // user_pref("browser.safebrowsing.downloads.remote.block_uncommon", false); // [FF48+] + // user_pref("browser.safebrowsing.downloads.remote.block_dangerous", false); // [FF49+] + // user_pref("browser.safebrowsing.downloads.remote.block_dangerous_host", false); // [FF49+] +/* 0413: disable Google safebrowsing updates ***/ + // user_pref("browser.safebrowsing.provider.google.updateURL", ""); + // user_pref("browser.safebrowsing.provider.google.gethashURL", ""); + // user_pref("browser.safebrowsing.provider.google4.updateURL", ""); // [FF50+] + // user_pref("browser.safebrowsing.provider.google4.gethashURL", ""); // [FF50+] +/* 0414: disable binaries NOT in local lists being checked by Google (real-time checking) ***/ +user_pref("browser.safebrowsing.downloads.remote.enabled", false); +user_pref("browser.safebrowsing.downloads.remote.url", ""); +/* 0415: disable reporting URLs ***/ +user_pref("browser.safebrowsing.provider.google.reportURL", ""); +user_pref("browser.safebrowsing.reportPhishURL", ""); +user_pref("browser.safebrowsing.provider.google4.reportURL", ""); // [FF50+] +user_pref("browser.safebrowsing.provider.google.reportMalwareMistakeURL", ""); // [FF54+] +user_pref("browser.safebrowsing.provider.google.reportPhishMistakeURL", ""); // [FF54+] +user_pref("browser.safebrowsing.provider.google4.reportMalwareMistakeURL", ""); // [FF54+] +user_pref("browser.safebrowsing.provider.google4.reportPhishMistakeURL", ""); // [FF54+] +/* 0416: disable 'ignore this warning' on Safe Browsing warnings + * 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 + * [1] https://bugzilla.mozilla.org/1226490 ***/ + // user_pref("browser.safebrowsing.allowOverride", false); +/* 0417: disable data sharing [FF58+] ***/ +user_pref("browser.safebrowsing.provider.google4.dataSharing.enabled", false); +user_pref("browser.safebrowsing.provider.google4.dataSharingURL", ""); + +/** TRACKING PROTECTION (TP) + There are NO privacy concerns here, but we strongly recommend to use uBlock Origin as well, + as it offers more comprehensive and specialized lists. It also allows per domain control. + + uBlock Origin isn't officially supported in Thunderbird, however it does look as if it + might come in the future. + + https://github.com/gorhill/uBlock/issues/3698 + https://github.com/gorhill/uBlock/commit/305cd4db1c8fb93a5d032fb3a09ededd9bbdc240 +***/ +/* 0420: enable Tracking Protection in all windows + * [NOTE] TP sends DNT headers regardless of the DNT pref (see 1610) + * [1] https://wiki.mozilla.org/Security/Tracking_protection + * [2] https://support.mozilla.org/kb/tracking-protection-firefox ***/ + user_pref("privacy.trackingprotection.pbmode.enabled", true); // [DEFAULT: true] + user_pref("privacy.trackingprotection.enabled", true); +/* 0422: set which Tracking Protection block list to use + * [WARNING] We don't recommend enforcing this from here, as available block lists can change + * [SETTING] Privacy & Security>Content Blocking>All Detected Trackers>Change block list ***/ + // user_pref("urlclassifier.trackingTable", "test-track-simple,base-track-digest256"); // basic +/* 0423: disable Mozilla's blocklist for known Flash tracking/fingerprinting [FF48+] + * [1] https://www.ghacks.net/2016/07/18/firefox-48-blocklist-against-plugin-fingerprinting/ + * [2] https://bugzilla.mozilla.org/1237198 ***/ + // user_pref("browser.safebrowsing.blockedURIs.enabled", false); +/* 0424: disable Mozilla's tracking protection and Flash blocklist updates ***/ + // user_pref("browser.safebrowsing.provider.mozilla.gethashURL", ""); + // user_pref("browser.safebrowsing.provider.mozilla.updateURL", ""); +/* 0425: disable passive Tracking Protection [FF53+] + * Passive TP annotates channels to lower the priority of network loads for resources on the tracking protection list + * [NOTE] It has no effect if TP is enabled, but keep in mind that by default TP is only enabled in Private Windows + * This is included for people who want to completely disable Tracking Protection. + * [1] https://bugzilla.mozilla.org/buglist.cgi?bug_id=1170190,1141814 ***/ + // user_pref("privacy.trackingprotection.annotate_channels", false); + // user_pref("privacy.trackingprotection.lower_network_priority", false); + +/*** [SECTION 0500]: SYSTEM ADD-ONS / EXPERIMENTS + System Add-ons are a method for shipping extensions, considered to be + built-in features to Firefox, that are hidden from the about:addons UI. + To view your System Add-ons go to about:support, they are listed under "Firefox Features" + + Some System Add-ons have no on-off prefs. Instead you can manually remove them. Note that app + updates will restore them. They may also be updated and possibly restored automatically (see 0505) + * Portable: "...\App\Firefox64\browser\features\" (or "App\Firefox\etc" for 32bit) + * Windows: "...\Program Files\Mozilla\browser\features" (or "Program Files (X86)\etc" for 32bit) + * Mac: "...\Applications\Firefox\Contents\Resources\browser\features\" + [NOTE] On Mac you can right-click on the application and select "Show Package Contents" + * Linux: "/usr/lib/firefox/browser/features" (or similar) + + [1] https://firefox-source-docs.mozilla.org/toolkit/mozapps/extensions/addon-manager/SystemAddons.html + [2] https://dxr.mozilla.org/mozilla-central/source/browser/extensions +***/ +user_pref("_user.js.parrot", "0500 syntax error: the parrot's cashed in 'is chips!"); +/* 0502: disable Mozilla permission to silently opt you into tests ***/ +user_pref("network.allow-experiments", false); +/* 0503: disable Normandy/Shield [FF60+] + * Shield is an telemetry system (including Heartbeat) that can also push and test "recipes" + * [1] https://wiki.mozilla.org/Firefox/Shield + * [2] https://github.com/mozilla/normandy ***/ +user_pref("app.normandy.enabled", false); +user_pref("app.normandy.api_url", ""); +/* 0505: disable System Add-on updates ***/ +user_pref("extensions.systemAddon.update.enabled", false); // [FF62+] +user_pref("extensions.systemAddon.update.url", ""); // [FF44+] +/* 0506: disable PingCentre telemetry (used in several System Add-ons) [FF57+] + * Currently blocked by 'datareporting.healthreport.uploadEnabled' (see 0340) ***/ +user_pref("browser.ping-centre.telemetry", false); +/* 0517: disable Form Autofill + * [NOTE] Stored data is NOT secure (uses a JSON file) + * [NOTE] Heuristics controls Form Autofill on forms without @autocomplete attributes + * [SETTING] Privacy & Security>Forms & Passwords>Autofill addresses + * [1] https://wiki.mozilla.org/Firefox/Features/Form_Autofill + * [2] https://www.ghacks.net/2017/05/24/firefoxs-new-form-autofill-is-awesome/ ***/ +user_pref("extensions.formautofill.addresses.enabled", false); // [FF55+] +user_pref("extensions.formautofill.available", "off"); // [FF56+] +user_pref("extensions.formautofill.creditCards.enabled", false); // [FF56+] +user_pref("extensions.formautofill.heuristics.enabled", false); // [FF55+] +/* 0518: disable 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); + +/*** [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!"); +/* 0601: disable link prefetching + * [1] https://developer.mozilla.org/docs/Web/HTTP/Link_prefetching_FAQ ***/ +user_pref("network.prefetch-next", false); +/* 0602: disable DNS prefetching + * [1] https://www.ghacks.net/2013/04/27/firefox-prefetching-what-you-need-to-know/ + * [2] https://developer.mozilla.org/docs/Web/HTTP/Headers/X-DNS-Prefetch-Control ***/ +user_pref("network.dns.disablePrefetch", true); +user_pref("network.dns.disablePrefetchFromHTTPS", true); // [HIDDEN PREF] +/* 0603: disable Seer/Necko + * [1] https://developer.mozilla.org/docs/Mozilla/Projects/Necko ***/ +user_pref("network.predictor.enabled", 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 + * [2] https://www.ghacks.net/2015/08/16/block-firefox-from-connecting-to-sites-when-you-hover-over-links/ ***/ +user_pref("network.http.speculative-parallel-limit", 0); +/* 0606: disable pings (but enforce same host in case) + * [1] http://kb.mozillazine.org/Browser.send_pings + * [2] http://kb.mozillazine.org/Browser.send_pings.require_same_host ***/ +user_pref("browser.send_pings", false); +user_pref("browser.send_pings.require_same_host", true); +/* 0608: disable predictor / prefetching [FF48+] ***/ +user_pref("network.predictor.enable-prefetch", 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!"); +/* 0701: disable IPv6 + * IPv6 can be abused, especially regarding MAC addresses. They also do not play nice + * with VPNs. That's even assuming your ISP and/or router and/or website can handle it + * [NOTE] This is just an application level fallback. Disabling IPv6 is best done + * at an OS/network level, and/or configured properly in VPN setups + * [TEST] http://ipv6leak.com/ + * [1] https://github.com/ghacksuserjs/ghacks-user.js/issues/437#issuecomment-403740626 + * [2] https://www.internetsociety.org/tag/ipv6-security/ (see Myths 2,4,5,6) ***/ +user_pref("network.dns.disableIPv6", true); +/* 0702: disable HTTP2 (which was based on SPDY which is now deprecated) + * HTTP2 raises concerns with "multiplexing" and "server push", does nothing to enhance + * privacy, and in fact opens up a number of server-side fingerprinting opportunities + * [SETUP-PERF] Relax this if you have FPI enabled (see 4000) *AND* you understand the + * consequences. FPI isolates these, but it was designed with the Tor protocol in mind, + * and the Tor Browser has extra protection, including enhanced sanitizing per Identity. + * [1] https://http2.github.io/faq/ + * [2] https://blog.scottlogic.com/2014/11/07/http-2-a-quick-look.html + * [3] https://queue.acm.org/detail.cfm?id=2716278 + * [4] https://github.com/ghacksuserjs/ghacks-user.js/issues/107 ***/ +user_pref("network.http.spdy.enabled", false); +user_pref("network.http.spdy.enabled.deps", false); +user_pref("network.http.spdy.enabled.http2", false); +/* 0703: disable HTTP Alternative Services [FF37+] + * [SETUP-PERF] Relax this if you have FPI enabled (see 4000) *AND* you understand the + * consequences. FPI isolates these, but it was designed with the Tor protocol in mind, + * and the Tor Browser has extra protection, including enhanced sanitizing per Identity. + * [1] https://tools.ietf.org/html/rfc7838#section-9 + * [2] https://www.mnot.net/blog/2016/03/09/alt-svc ***/ +user_pref("network.http.altsvc.enabled", false); +user_pref("network.http.altsvc.oe", false); +/* 0704: enforce the proxy server to do any DNS lookups when using SOCKS + * e.g. in Tor, this stops your local DNS server from knowing your Tor destination + * as a remote Tor node will handle the DNS request + * [1] http://kb.mozillazine.org/Network.proxy.socks_remote_dns + * [2] https://trac.torproject.org/projects/tor/wiki/doc/TorifyHOWTO/WebBrowsers ***/ +user_pref("network.proxy.socks_remote_dns", true); +/* 0706: remove paths when sending URLs to PAC scripts [FF51+] + * CVE-2017-5384: Information disclosure via Proxy Auto-Config (PAC) + * [1] https://bugzilla.mozilla.org/1255474 ***/ +user_pref("network.proxy.autoconfig_url.include_path", false); // [DEFAULT: false] +/* 0707: disable (or setup) DNS-over-HTTPS (DoH) [FF60+] + * TRR = Trusted Recursive Resolver + * .mode: 0=off, 1=race, 2=TRR first, 3=TRR only, 4=race for stats but always use native result + * [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/ + * [2] https://hacks.mozilla.org/2018/05/a-cartoon-intro-to-dns-over-https/ ***/ + // user_pref("network.trr.mode", 0); + // user_pref("network.trr.bootstrapAddress", ""); + // user_pref("network.trr.uri", ""); +/* 0708: disable FTP [FF60+] + * [1] https://www.ghacks.net/2018/02/20/firefox-60-with-new-preference-to-disable-ftp/ ***/ +user_pref("network.ftp.enabled", false); +/* 0709: disable using UNC (Uniform Naming Convention) paths [FF61+] + * [SETUP-CHROME] Can break extensions for profiles on network shares + * [1] https://trac.torproject.org/projects/tor/ticket/26424 ***/ +user_pref("network.file.disable_unc_paths", true); // [HIDDEN PREF] +/* 0710: 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 smb and sftp protocols are accepted so far (as of FF64) + * [1] https://bugzilla.mozilla.org/1433507 + * [2] https://trac.torproject.org/23044 + * [3] https://en.wikipedia.org/wiki/GVfs + * [4] https://en.wikipedia.org/wiki/GIO_(software) ***/ +user_pref("network.gio.supported-protocols", ""); // [HIDDEN PREF] + +/*** [SECTION 0800]: HISTORY / FORMS [SETUP-CHROME] + Consider your environment (no unwanted eyeballs), your device (restricted access), + your device's unattended state (locked, encrypted, forensic hardened). +***/ +user_pref("_user.js.parrot", "0800 syntax error: the parrot's ceased to be!"); +/* 0860: disable search and form history + * [NOTE] You can clear formdata on exiting Firefox (see 2803) + * [SETTING] Privacy & Security>History>Custom Settings>Remember search and form history ***/ +user_pref("browser.formfill.enable", false); +/* 0862: disable browsing and download history + * [NOTE] You can clear history and downloads on exiting Firefox (see 2803) + * [SETTING] Privacy & Security>History>Custom Settings>Remember browsing and download history ***/ +user_pref("places.history.enabled", false); + +/*** [SECTION 1000]: CACHE / FAVICONS [SETUP-CHROME] + ETAG [1] and other [2][3] cache tracking/fingerprinting techniques can be averted by + disabling *BOTH* disk (1001) and memory (1003) cache. ETAGs can also be neutralized + by modifying response headers [4]. Another solution is to use a hardened configuration + with Temporary Containers [5]. Alternatively, you can *LIMIT* exposure by clearing + cache on close (2803). or on a regular basis manually or with an extension. + [1] https://en.wikipedia.org/wiki/HTTP_ETag#Tracking_using_ETags + [2] https://robertheaton.com/2014/01/20/cookieless-user-tracking-for-douchebags/ + [3] https://www.grepular.com/Preventing_Web_Tracking_via_the_Browser_Cache + [4] https://github.com/ghacksuserjs/ghacks-user.js/wiki/4.2.4-Header-Editor + [5] https://medium.com/@stoically/enhance-your-privacy-in-firefox-with-temporary-containers-33925cd6cd21 +***/ +user_pref("_user.js.parrot", "1000 syntax error: the parrot's gone to meet 'is maker!"); +/** CACHE ***/ +/* 1001: disable disk cache ***/ +user_pref("browser.cache.disk.enable", false); +user_pref("browser.cache.disk.capacity", 0); +user_pref("browser.cache.disk.smart_size.enabled", false); +user_pref("browser.cache.disk.smart_size.first_run", false); +/* 1002: disable disk cache for SSL pages + * [1] http://kb.mozillazine.org/Browser.cache.disk_cache_ssl ***/ +user_pref("browser.cache.disk_cache_ssl", false); +/* 1003: disable memory cache + * [NOTE] Not recommended due to performance issues ***/ + // user_pref("browser.cache.memory.enable", false); + // user_pref("browser.cache.memory.capacity", 0); // [HIDDEN PREF] +/* 1005: disable fastback cache + * To improve performance when pressing back/forward Firefox stores visited pages + * so they don't have to be re-parsed. This is not the same as memory cache. + * 0=none, -1=auto (that's minus 1), or for other values see [1] + * [WARNING] Not recommended unless you know what you're doing + * [1] http://kb.mozillazine.org/Browser.sessionhistory.max_total_viewers ***/ + // user_pref("browser.sessionhistory.max_total_viewers", 0); +/* 1006: disable permissions manager from writing to disk [RESTART] + * [NOTE] This means any permission changes are session only + * [1] https://bugzilla.mozilla.org/967812 ***/ + // user_pref("permissions.memory_only", true); // [HIDDEN PREF] +/* 1008: set DNS cache and expiration time (default 400 and 60, same as Tor Browser) ***/ + // user_pref("network.dnsCacheEntries", 400); + // user_pref("network.dnsCacheExpiration", 60); + +/** FAVICONS ***/ +/* 1030: disable favicons in shortcuts + * URL shortcuts use a cached randomly named .ico file which is stored in your + * profile/shortcutCache directory. The .ico remains after the shortcut is deleted. + * If set to false then the shortcuts use a generic Firefox icon ***/ +user_pref("browser.shell.shortcutFavicons", false); +/* 1031: disable favicons in tabs and new bookmarks + * bookmark favicons are stored as data blobs in favicons.sqlite ***/ +user_pref("browser.chrome.site_icons", false); +/* 1032: disable favicons in web notifications ***/ +user_pref("alerts.showFavicons", false); // [DEFAULT: false] + +/*** [SECTION 1200]: HTTPS (SSL/TLS / OCSP / CERTS / HPKP / CIPHERS) + Note that your cipher and other settings can be used server side as a fingerprint attack + vector, see [1] (It's quite technical but the first part is easy to understand + and you can stop reading when you reach the second section titled "Enter Bro") + + Option 1: Use defaults for ciphers (1260's). There is nothing *weak* about these, but + due to breakage, browsers can't deprecate them until the web stops using them + Option 2: Disable the ciphers in 1261, 1262 and 1263. These shouldn't break anything. + Optionally, disable the ciphers in 1264. + + [1] https://www.securityartwork.es/2017/02/02/tls-client-fingerprinting-with-bro/ +***/ +user_pref("_user.js.parrot", "1200 syntax error: the parrot's a stiff!"); +/** SSL (Secure Sockets Layer) / TLS (Transport Layer Security) ***/ +/* 1201: disable old SSL/TLS "insecure" renegotiation (vulnerable to a MiTM attack) + * [SETUP-WEB] <2% of secure sites do NOT support the newer "secure" renegotiation, see [2] + * [1] https://wiki.mozilla.org/Security:Renegotiation + * [2] https://www.ssllabs.com/ssl-pulse/ ***/ +user_pref("security.ssl.require_safe_negotiation", true); +/* 1202: control TLS versions with min and max + * 1=TLS 1.0, 2=TLS 1.1, 3=TLS 1.2, 4=TLS 1.3 + * [NOTE] Jul-2017: Telemetry indicates approx 2% 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.max", 4); +/* 1203: disable SSL session tracking [FF36+] + * SSL Session IDs are unique, last up to 24hrs in Firefox, and can be used for tracking + * [SETUP-PERF] Relax this if you have FPI enabled (see 4000) *AND* you understand the + * consequences. FPI isolates these, but it was designed with the Tor protocol in mind, + * and the Tor Browser has extra protection, including enhanced sanitizing per Identity. + * [1] https://tools.ietf.org/html/rfc5077 + * [2] https://bugzilla.mozilla.org/967977 + * [3] https://arxiv.org/abs/1810.07304 ***/ +user_pref("security.ssl.disable_session_identifiers", true); // [HIDDEN PREF] +/* 1204: disable SSL Error Reporting + * [1] https://firefox-source-docs.mozilla.org/browser/base/sslerrorreport/preferences.html ***/ +user_pref("security.ssl.errorReporting.automatic", false); +user_pref("security.ssl.errorReporting.enabled", false); +user_pref("security.ssl.errorReporting.url", ""); +/* 1205: disable TLS1.3 0-RTT (round-trip time) [FF51+] + * [1] https://github.com/tlswg/tls13-spec/issues/1001 + * [2] 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) + #Required reading [#] https://scotthelme.co.uk/revocation-is-broken/ ***/ +/* 1210: enable OCSP Stapling + * [1] https://blog.mozilla.org/security/2013/07/29/ocsp-stapling-in-firefox/ ***/ +user_pref("security.ssl.enable_ocsp_stapling", true); +/* 1211: control when to use OCSP fetching (to confirm current validity of certificates) + * 0=disabled, 1=enabled (default), 2=enabled for EV certificates only + * OCSP (non-stapled) leaks information about the sites you visit to the CA (cert authority) + * It's a trade-off between security (checking) and privacy (leaking info to the CA) + * [NOTE] This pref only controls OCSP fetching and does not affect OCSP stapling + * [1] https://en.wikipedia.org/wiki/Ocsp ***/ +user_pref("security.OCSP.enabled", 0); +/* 1212: set OCSP fetch failures (non-stapled, see 1211) to hard-fail [SETUP-WEB] + * When a CA cannot be reached to validate a cert, Firefox just continues the connection (=soft-fail) + * Setting this pref to true tells Firefox to instead terminate the connection (=hard-fail) + * It is pointless to soft-fail when an OCSP fetch fails: you cannot confirm a cert is still valid (it + * could have been revoked) and/or you could be under attack (e.g. malicious blocking of OCSP servers) + * [1] https://blog.mozilla.org/security/2013/07/29/ocsp-stapling-in-firefox/ + * [2] https://www.imperialviolet.org/2014/04/19/revchecking.html ***/ +user_pref("security.OCSP.require", true); + +/** CERTS / HPKP (HTTP Public Key Pinning) ***/ +/* 1220: disable or limit SHA-1 certificates + * 0=all SHA1 certs are allowed + * 1=all SHA1 certs are blocked + * 2=deprecated option that now maps to 1 + * 3=only allowed for locally-added roots (e.g. anti-virus) + * 4=only allowed for locally-added roots or for certs in 2015 and earlier + * [SETUP-CHROME] When disabled, some man-in-the-middle devices (e.g. security scanners and + * antivirus products, may fail to connect to HTTPS sites. SHA-1 is *almost* obsolete. + * [1] https://blog.mozilla.org/security/2016/10/18/phasing-out-sha-1-on-the-public-web/ ***/ +user_pref("security.pki.sha1_enforcement_level", 1); +/* 1221: disable Windows 8.1's Microsoft Family Safety cert [FF50+] [WINDOWS] + * 0=disable detecting Family Safety mode and importing the root + * 1=only attempt to detect Family Safety mode (don't import the root) + * 2=detect Family Safety mode and import the root + * [1] https://trac.torproject.org/projects/tor/ticket/21686 ***/ +user_pref("security.family_safety.mode", 0); +/* 1222: disable intermediate certificate caching (fingerprinting attack vector) [RESTART] + * [NOTE] This affects login/cert/key dbs. The effect is all credentials are session-only. + * Saved logins and passwords are not available. Reset the pref and restart to return them. + * [TEST] https://fiprinca.0x90.eu/poc/ + * [1] https://bugzilla.mozilla.org/1334485 - related bug + * [2] https://bugzilla.mozilla.org/1216882 - related bug (see comment 9) ***/ + // user_pref("security.nocertdb", true); // [HIDDEN PREF] +/* 1223: enforce strict pinning + * PKP (Public Key Pinning) 0=disabled 1=allow user MiTM (such as your antivirus), 2=strict + * [WARNING] If you rely on an AV (antivirus) to protect your web browsing + * by inspecting ALL your web traffic, then leave at current default=1 + * [1] https://trac.torproject.org/projects/tor/ticket/16206 ***/ +user_pref("security.cert_pinning.enforcement_level", 2); + +/** MIXED CONTENT ***/ +/* 1240: disable insecure active content on https pages + * [1] https://trac.torproject.org/projects/tor/ticket/21323 ***/ +user_pref("security.mixed_content.block_active_content", true); // [DEFAULT: true] +/* 1241: disable insecure passive content (such as images) on https pages ***/ +user_pref("security.mixed_content.block_display_content", true); + +/** CIPHERS [see the section 1200 intro] ***/ +/* 1261: disable 3DES (effective key size < 128) + * [1] https://en.wikipedia.org/wiki/3des#Security + * [2] http://en.citizendium.org/wiki/Meet-in-the-middle_attack + * [3] https://www-archive.mozilla.org/projects/security/pki/nss/ssl/fips-ssl-ciphersuites.html ***/ + // user_pref("security.ssl3.rsa_des_ede3_sha", false); +/* 1262: disable 128 bits ***/ + // user_pref("security.ssl3.ecdhe_ecdsa_aes_128_sha", false); + // user_pref("security.ssl3.ecdhe_rsa_aes_128_sha", false); +/* 1263: disable DHE (Diffie-Hellman Key Exchange) + * [1] https://www.eff.org/deeplinks/2015/10/how-to-protect-yourself-from-nsa-attacks-1024-bit-DH ***/ + // user_pref("security.ssl3.dhe_rsa_aes_128_sha", false); + // user_pref("security.ssl3.dhe_rsa_aes_256_sha", false); +/* 1264: disable the remaining non-modern cipher suites as of FF52 ***/ + // user_pref("security.ssl3.rsa_aes_128_sha", false); + // user_pref("security.ssl3.rsa_aes_256_sha", false); + +/** UI (User Interface) ***/ +/* 1270: display warning (red padlock) for "broken security" (see 1201) + * [1] https://wiki.mozilla.org/Security:Renegotiation ***/ +user_pref("security.ssl.treat_unsafe_negotiation_as_broken", true); +/* 1271: control "Add Security Exception" dialog on SSL warnings + * 0=do neither 1=pre-populate url 2=pre-populate url + pre-fetch cert (default) + * [1] https://github.com/pyllyukko/user.js/issues/210 ***/ +user_pref("browser.ssl_override_behavior", 1); +/* 1272: display advanced information on Insecure Connection warning pages + * only works when it's possible to add an exception + * 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 "insecure" icon and "Not Secure" text on HTTP sites ***/ +user_pref("security.insecure_connection_icon.enabled", true); // [FF59+] +user_pref("security.insecure_connection_text.enabled", true); // [FF60+] + // user_pref("security.insecure_connection_icon.pbmode.enabled", true); + // user_pref("security.insecure_connection_text.pbmode.enabled", true); + +/*** [SECTION 1600]: HEADERS / REFERERS + Only *cross domain* referers need controlling and XOriginPolicy (1603) is perfect for that. Thus we enforce + the default values for 1601, 1602, 1605 and 1606 to minimize breakage, and only tweak 1603 and 1604. + + Our default settings provide the best balance between protection and amount of breakage. + To harden it a bit more you can set XOriginPolicy (1603) to 2 (+ optionally 1604 to 1 or 2). + To fix broken sites (including your modem/router), temporarily set XOriginPolicy=0 and XOriginTrimmingPolicy=2 in about:config, + use the site and then change the values back. If you visit those sites regularly (e.g. vimeo), use an extension. + + 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 + + #Required reading [#] https://feeding.cloud.geek.nz/posts/tweaking-referrer-for-privacy-in-firefox/ +***/ +user_pref("_user.js.parrot", "1600 syntax error: the parrot rests in peace!"); +/* 1601: ALL: control when images/links send a referer + * 0=never, 1=send only when links are clicked, 2=for links and images (default) ***/ +user_pref("network.http.sendRefererHeader", 0); +/* 1602: ALL: control the amount of information to send + * 0=send full URI (default), 1=scheme+host+port+path, 2=scheme+host+port ***/ +user_pref("network.http.referer.trimmingPolicy", 2); +/* 1603: CROSS ORIGIN: control when to send a referer [SETUP-WEB] + * 0=always (default), 1=only if base domains match, 2=only if hosts match ***/ +user_pref("network.http.referer.XOriginPolicy", 2); +/* 1604: CROSS ORIGIN: control the amount of 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); +/* 1605: ALL: disable spoofing a referer + * [WARNING] Do not set this to true, as spoofing effectively disables the anti-CSRF + * (Cross-Site Request Forgery) protections that some sites may rely on ***/ +user_pref("network.http.referer.spoofSource", false); // [DEFAULT: false] +/* 1606: ALL: set the default Referrer Policy [FF59+] + * 0=no-referer, 1=same-origin, 2=strict-origin-when-cross-origin, 3=no-referrer-when-downgrade + * [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] +user_pref("network.http.referer.defaultPolicy.pbmode", 2); // [DEFAULT: 2] +/* 1610: ALL: enable the DNT (Do Not Track) HTTP header + * [NOTE] DNT is enforced with TP (see 0420) regardless of this pref + * [SETTING] Privacy & Security>Content Blocking>Send websites a "Do Not Track"... ***/ +user_pref("privacy.donottrackheader.enabled", true); + +/*** [SECTION 2600]: MISCELLANEOUS ***/ +user_pref("_user.js.parrot", "2600 syntax error: the parrot's run down the curtain!"); +/* 2607: disable various developer tools in browser context + * [SETTING] Devtools>Advanced Settings>Enable browser chrome and add-on debugging toolboxes + * [1] https://github.com/pyllyukko/user.js/issues/179#issuecomment-246468676 ***/ +user_pref("devtools.chrome.enabled", false); +/* 2608: disable WebIDE to prevent remote debugging and ADB extension download + * [1] https://trac.torproject.org/projects/tor/ticket/16222 ***/ +user_pref("devtools.debugger.remote-enabled", false); +user_pref("devtools.webide.enabled", false); +/* 2610: disable in-content SVG (Scalable Vector Graphics) [FF53+] + * [SETUP-WEB] Expect breakage incl. youtube player controls. Best left for a "hardened" profile. + * [1] https://bugzilla.mozilla.org/1216893 ***/ +user_pref("svg.disabled", true); +/* 2611: disable middle mouse click opening links from clipboard + * [1] https://trac.torproject.org/projects/tor/ticket/10089 + * [2] http://kb.mozillazine.org/Middlemouse.contentLoadURL ***/ +user_pref("middlemouse.contentLoadURL", false); +/* 2614: limit HTTP redirects (this does not control redirects with HTML meta tags or JS) + * [NOTE] A low setting of 5 or under will probably break some sites (e.g. gmail logins) + * To control HTML Meta tag and JS redirects, use an extension. Default is 20 ***/ +user_pref("network.http.redirection-limit", 10); +/* 2618: disable exposure of system colors to CSS or canvas [FF44+] + * [NOTE] See second listed bug: may cause black on black for elements with undefined colors + * [1] https://bugzilla.mozilla.org/buglist.cgi?bug_id=232227,1330876 ***/ +user_pref("ui.use_standins_for_native_colors", true); // [HIDDEN PREF] +/* 2619: enforce Punycode for Internationalized Domain Names to eliminate possible spoofing + * Firefox has *some* protections, but it is better to be safe than sorry. The downside: it will also + * display legitimate IDN's punycoded, which might be undesirable for users of non-latin alphabets + * [TEST] https://www.xn--80ak6aa92e.com/ (www.apple.com) + * [1] https://wiki.mozilla.org/IDN_Display_Algorithm + * [2] https://en.wikipedia.org/wiki/IDN_homograph_attack + * [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); + +/** DOWNLOADS ***/ +/* 2650: discourage downloading to desktop (0=desktop 1=downloads 2=last used) + * [SETTING] To set your default "downloads": General>Downloads>Save files to ***/ +user_pref("browser.download.folderList", 2); +/* 2651: enforce user interaction for security by always asking the user where to download + * [SETTING] General>Downloads>Always ask you where to save files ***/ +user_pref("browser.download.useDownloadDir", false); +/* 2652: disable adding downloads to the system's "recent documents" list ***/ +user_pref("browser.download.manager.addToRecentDocs", false); +/* 2653: disable hiding mime types (Options>General>Applications) not associated with a plugin ***/ +user_pref("browser.download.hide_plugins_without_extensions", false); +/* 2654: disable "open with" in download dialog [FF50+] + * This is very useful to enable when the browser is sandboxed (e.g. via AppArmor) + * in such a way that it is forbidden to run external applications. + * [SETUP-CHROME] This may interfere with some users' workflow or methods + * [1] https://bugzilla.mozilla.org/1281959 ***/ +user_pref("browser.download.forbid_open_with", true); + +/** EXTENSIONS ***/ +/* 2660: lock down allowed extension directories + * [SETUP-CHROME] This will break extensions that do not use the default XPI directories + * [1] https://mike.kaply.com/2012/02/21/understanding-add-on-scopes/ + * [1] archived: https://archive.is/DYjAM ***/ +user_pref("extensions.enabledScopes", 1); // [HIDDEN PREF] +user_pref("extensions.autoDisableScopes", 15); +/* 2662: disable webextension restrictions on certain mozilla domains (also see 4503) [FF60+] + * [1] https://bugzilla.mozilla.org/buglist.cgi?bug_id=1384330,1406795,1415644,1453988 ***/ + // user_pref("extensions.webextensions.restrictedDomains", ""); +/* 2663: enable warning when websites try to install add-ons + * [SETTING] Privacy & Security>Permissions>Warn you when websites try to install add-ons ***/ +user_pref("xpinstall.whitelist.required", true); // [DEFAULT: true] + +/** SECURITY ***/ +/* 2680: enable CSP (Content Security Policy) + * [1] https://developer.mozilla.org/docs/Web/HTTP/CSP ***/ +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); +/* 2683: block top level window data: URIs [FF56+] + * [1] https://bugzilla.mozilla.org/1331351 + * [2] https://www.wordfence.com/blog/2017/01/gmail-phishing-data-uri/ + * [3] https://www.fxsitecompat.com/en-CA/docs/2017/data-url-navigations-on-top-level-window-will-be-blocked/ ***/ +user_pref("security.data_uri.block_toplevel_data_uri_navigations", true); // [DEFAULT: true] +/* 2684: enforce a security delay on some confirmation dialogs such as install, open/save + * [1] http://kb.mozillazine.org/Disable_extension_install_delay_-_Firefox + * [2] https://www.squarefree.com/2004/07/01/race-conditions-in-security-dialogs/ ***/ +user_pref("security.dialog_enable_delay", 700); + +/*** [SECTION 2700]: PERSISTENT STORAGE + Data SET by websites including + cookies : profile\cookies.sqlite + localStorage : profile\webappsstore.sqlite + indexedDB : profile\storage\default + appCache : profile\OfflineCache + 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" +***/ +user_pref("_user.js.parrot", "2700 syntax error: the parrot's joined the bleedin' choir invisible!"); +/* 2701: disable 3rd-party cookies and site-data + * 0=Accept cookies and site data (default), 1=(Block) All third-party cookies, 2=(Block) All cookies, + * 3=(Block) Cookies from unvisited sites, 4=(Block) Third-party trackers (FF63+) + * [NOTE] Value 4 is tied to the Tracking Protection lists + * [NOTE] You can set exceptions under site permissions or use an extension + * [SETTING] Privacy & Security>Content Blocking>Custom>Choose what to block>Cookies ***/ +user_pref("network.cookie.cookieBehavior", 2); +/* 2720: enforce IndexedDB (IDB) as enabled + * IDB is required for extensions and Firefox internals (even before FF63 in [1]) + * To control *website* IDB data, control allowing cookies and service workers, or use + * Temporary Containers. To mitigate *website* IDB, FPI helps (4001), and/or sanitize + * on close (Offline Website Data, see 2800) or on-demand (Ctrl-Shift-Del), or automatically + * via an extension. Note that IDB currently cannot be sanitized by host. + * [1] https://blog.mozilla.org/addons/2018/08/03/new-backend-for-storage-local-api/ ***/ +user_pref("dom.indexedDB.enabled", true); // [DEFAULT: true] +/* 2730: disable offline cache ***/ +/*** [SECTION 2800]: SHUTDOWN [SETUP-CHROME] + 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) + - 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 +***/ +user_pref("_user.js.parrot", "2800 syntax error: the parrot's bleedin' demised!"); +/* 2804: reset default history items to clear with Ctrl-Shift-Del (to match 2803) + * This dialog can also be accessed from the menu History>Clear Recent History + * Firefox remembers your last choices. This will reset them when you start Firefox. + * [NOTE] Regardless of what you set privacy.cpd.downloads to, as soon as the dialog + * for "Clear Recent History" is opened, it is synced to the same as 'history' ***/ +user_pref("privacy.cpd.cache", true); +user_pref("privacy.cpd.cookies", true); +user_pref("privacy.cpd.history", true); // Browsing & Download History +/* 2806: reset default 'Time range to clear' for 'Clear Recent History' (see 2804) + * Firefox remembers your last choice. This will reset the value when you start Firefox. + * 0=everything, 1=last hour, 2=last two hours, 3=last four hours, + * 4=today, 5=last five minutes, 6=last twenty-four hours + * [NOTE] The values 5 + 6 are not listed in the dropdown, which will display a + * blank value if they are used, but they do work as advertised ***/ +user_pref("privacy.sanitize.timeSpan", 0); + +/*** [SECTION 4000]: FPI (FIRST PARTY ISOLATION) + ** 1278037 - isolate indexedDB (FF51+) + ** 1277803 - isolate favicons (FF52+) + ** 1264562 - isolate OCSP cache (FF52+) + ** 1268726 - isolate Shared Workers (FF52+) + ** 1316283 - isolate SSL session cache (FF52+) + ** 1317927 - isolate media cache (FF53+) + ** 1323644 - isolate HSTS and HPKP (FF54+) + ** 1334690 - isolate HTTP Alternative Services (FF54+) + ** 1334693 - isolate SPDY/HTTP2 (FF55+) + ** 1337893 - isolate DNS cache (FF55+) + ** 1344170 - isolate blob: URI (FF55+) + ** 1300671 - isolate data:, about: URLs (FF55+) + ** 1473247 - isolate IP addresses (FF63+) + ** 1492607 - isolate postMessage with targetOrigin "*" (requires 4002) (FF65+) +***/ +user_pref("_user.js.parrot", "4000 syntax error: the parrot's pegged out"); +/* 4001: enable First Party Isolation [FF51+] + * [SETUP-WEB] May break cross-domain logins and site functionality until perfected + * [1] https://bugzilla.mozilla.org/1260931 ***/ +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. (see [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/en-US/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); // [HIDDEN PREF] + +/*** [SECTION 4500]: RFP (RESIST FINGERPRINTING) + This master switch will be used for a wide range of items, many of which will + **override** existing prefs from FF55+, often providing a **better** solution + + IMPORTANT: As existing prefs become redundant, and some of them WILL interfere + with how RFP works, they will be moved to section 4600 and made inactive + + ** 418986 - limit window.screen & CSS media queries leaking identifiable info (FF41+) + [POC] http://ip-check.info/?lang=en (screen, usable screen, and browser window will match) + [NOTE] Does not cover everything yet - https://bugzilla.mozilla.org/1216800 + [NOTE] This will probably make your values pretty unique until you resize or snap the + inner window width + height into standard/common resolutions (such as 1366x768) + To set a size, open a XUL (chrome) page (such as about:config) which is at 100% zoom, hit + Shift+F4 to open the scratchpad, type window.resizeTo(1366,768), hit Ctrl+R to run. Test + your window size, do some math, resize to allow for all the non inner window elements + [TEST] http://browserspy.dk/screen.php + ** 1281949 - spoof screen orientation (FF50+) + ** 1281963 - hide the contents of navigator.plugins and navigator.mimeTypes (FF50+) + FF53: Fixes GetSupportedNames in nsMimeTypeArray and nsPluginArray (1324044) + ** 1330890 - spoof timezone as UTC 0 (FF55+) + FF58: Date.toLocaleFormat deprecated (818634) + FF60: Date.toLocaleDateString and Intl.DateTimeFormat fixed (1409973) + ** 1360039 - spoof navigator.hardwareConcurrency as 2 (see 4601) (FF55+) + This spoof *shouldn't* affect core chrome/Firefox performance + ** 1217238 - reduce precision of time exposed by javascript (FF55+) + ** 1369303 - spoof/disable performance API (see 2410-deprecated, 4602, 4603) (FF56+) + ** 1333651 & 1383495 & 1396468 - spoof Navigator API (see section 4700) (FF56+) + FF56: The version number will be rounded down to the nearest multiple of 10 + FF57: The version number will match current ESR (1393283, 1418672, 1418162, 1511763) + FF59: The OS will be reported as Windows, OSX, Android, or Linux (to reduce breakage) (1404608) + FF66: The OS in HTTP Headers will be reduced to Windows or Android (1509829) + ** 1369319 - disable device sensor API (see 4604) (FF56+) + ** 1369357 - disable site specific zoom (see 4605) (FF56+) + ** 1337161 - hide gamepads from content (see 4606) (FF56+) + ** 1372072 - spoof network information API as "unknown" (see 4607) (FF56+) + ** 1333641 - reduce fingerprinting in WebSpeech API (see 4608) (FF56+) + ** 1372069 & 1403813 & 1441295 - block geolocation requests (same as denying a site permission) (see 0201, 0201b) (FF56-62) + ** 1369309 - spoof media statistics (see 4610) (FF57+) + ** 1382499 - reduce screen co-ordinate fingerprinting in Touch API (see 4611) (FF57+) + ** 1217290 & 1409677 - enable fingerprinting resistance for WebGL (see 2010-12) (FF57+) + ** 1382545 - reduce fingerprinting in Animation API (FF57+) + ** 1354633 - limit MediaError.message to a whitelist (FF57+) + ** 1382533 - enable fingerprinting resistance for Presentation API (FF57+) + This blocks exposure of local IP Addresses via mDNS (Multicast DNS) + ** 967895 - enable site permission prompt before allowing canvas data extraction (FF58+) + FF59: Added to site permissions panel (1413780) Only prompt when triggered by user input (1376865) + ** 1372073 - spoof/block fingerprinting in MediaDevices API (see 4612) (FF59+) + ** 1039069 - warn when language prefs are set to non en-US (see 0207, 0208) (FF59+) + ** 1222285 & 1433592 - spoof keyboard events and suppress keyboard modifier events (FF59+) + Spoofing mimics the content language of the document. Currently it only supports en-US. + Modifier events suppressed are SHIFT and both ALT keys. Chrome is not affected. + FF60: Fix keydown/keyup events (1438795) + ** 1337157 - disable WebGL debug renderer info (see 4613) (FF60+) + ** 1459089 - disable OS locale in HTTP Accept-Language headers (ANDROID) (FF62+) + ** 1363508 - spoof/suppress Pointer Events (see 4614) (FF64+) + FF65: pointerEvent.pointerid (1492766) + ** 1485266 - disable exposure of system colors to CSS or canvas (see 2618) (FF67+) +***/ +user_pref("_user.js.parrot", "4500 syntax error: the parrot's popped 'is clogs"); +/* 4501: enable privacy.resistFingerprinting [FF41+] + * [SETUP-WEB] RFP is not ready for the masses, so expect some website breakage + * [1] https://bugzilla.mozilla.org/418986 ***/ +user_pref("privacy.resistFingerprinting", true); +/* 4502: set new window sizes to round to hundreds [FF55+] [SETUP-CHROME] + * Width will round down to multiples of 200s and height to 100s, to fit your screen. + * The override values are a starting point to round from if you want some control + * [1] https://bugzilla.mozilla.org/1330882 + * [2] https://hardware.metrics.mozilla.com/ ***/ + // user_pref("privacy.window.maxInnerWidth", 1600); // [HIDDEN PREF] + // user_pref("privacy.window.maxInnerHeight", 900); // [HIDDEN PREF] +/* 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 + * to sanitize or clear extensions.webextensions.restrictedDomains (see 2662) to keep that side-effect + * [1] https://bugzilla.mozilla.org/buglist.cgi?bug_id=1384330,1406795,1415644,1453988 ***/ +user_pref("privacy.resistFingerprinting.block_mozAddonManager", true); // [HIDDEN PREF] + +/*** [SECTION 5000]: PERSONAL + Non-project related but useful. If any of these interest you, add them to your overrides ***/ +user_pref("_user.js.parrot", "5000 syntax error: this is an ex-parrot!"); +/* WELCOME & WHAT's NEW NOTICES ***/ + //user_pref("mailnews.start_page_override.mstone", "ignore"); // master switch +/* WARNINGS ***/ + // user_pref("full-screen-api.warning.delay", 0); + // user_pref("full-screen-api.warning.timeout", 0); + // user_pref("general.warnOnAboutConfig", false); +/* APPEARANCE ***/ + // user_pref("toolkit.cosmeticAnimations.enabled", false); // [FF55+] +/* CONTENT BEHAVIOR ***/ + // user_pref("accessibility.typeaheadfind", true); // enable "Find As You Type" + // user_pref("clipboard.autocopy", false); // disable autocopy default [LINUX] +/* UX BEHAVIOR ***/ + // 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] +/* OTHER ***/ + // user_pref("network.manage-offline-status", false); // see bugzilla 620472 + // user_pref("xpinstall.signatures.required", false); // enforced extension signing (Nightly/ESR) +/* Set custom headers ***/ + // user_pref("mail.identity.id1.headers", "References, InReplyTo"); + // user_pref("mail.identity.id1.header.References", "References: <2ad46d80-c8ce-49a3-9896-16171788ac28@example.tld>\n <31ff00c2-b7cb-4063-beeb-a0bdd424c3a7@example1.tld>"); + // user_pref("mail.identity.id1.header.InReplyTo", "In-Reply-To: <31ff00c2-b7cb-4063-beeb-a0bdd424c3a7@example1.tld>"); + user_pref("mail.identity.id1.headers", ""); + user_pref("mail.identity.id1.header.References", ""); + user_pref("mail.identity.id1.header.InReplyTo", ""); + +/*** [SECTION 6000]: THUNDERBIRD (AUTO CONFIG / UI / HEADERS / ADDRESS BOOK) + Options general to Thunderbird's mail configuration and user interface + + [1] https://dxr.mozilla.org/comm-release/ + [2] http://kb.mozillazine.org/Mail_and_news_settings +***/ +user_pref("_user.js.parrot", "6000 syntax error: this parrot is blind!"); + +/** AUTO CONFIG ***/ +/* 6001: Disable autoconfiguration + * These options disable autoconfiguration of mail server settings in Thunderbird. + * Such settings require a query to Mozilla which could have privacy implications + * if the user wishes to keep the existance of the provider private + * [1] https://developer.mozilla.org/en-US/docs/Mozilla/Thunderbird/Autoconfiguration ***/ +user_pref("mailnews.auto_config.guess.enabled", false); +user_pref("mailnews.auto_config.fetchFromISP.enabled", false); +user_pref("mailnews.auto_config.fetchFromISP.sendEmailAddress", false); +user_pref("mailnews.auto_config.fetchFromExchange.enabled", false); +user_pref("mailnews.auto_config_url", ""); +user_pref("mailnews.auto_config.addons_url",""); + +/** UI (User Interface) ***/ +/* 6002: Hide tab bar + * false=Hides the tab bar if there is only one tab. (default) ***/ +user_pref("mail.tabs.autoHide", true); +/* 6003: Show full email instead of just name from address book + * true=Show just the display name for people in the address book (default) + * false=Show both the email address and display name. ***/ +user_pref("mail.showCondensedAddresses", false); + +/** HEADERS ***/ +/* 6004: + * true=Show Sender header in message pane. + * false=Does nothing. (default) ***/ +user_pref("mailnews.headers.showSender", true); +/* 6005: + * true=Show User Agent header in message pane + * false=Does nothing. (default) ***/ +user_pref("mailnews.headers.showUserAgent", false); +/* 6006: Hello argument + * Lets you replace your IP address with the specified string in Received: headers when your + * IP address is not a "fully qualified domain name" (FQDN). Typically you only need to do this + * when you have a NAT box to prevent it from using the NAT boxes IP address. + * If you don't set it to something in your SMTP server's domain it may increase your spam + * score. ***/ +user_pref("mail.smtpserver.default.hello_argument", "[127.0.0.1]"); + +/* 6007: Displayed dates and times + * When your e-mail program displays the e-mail's date and time, it normally converts them to your + * time zone. If your computer's time zone settings are wrong, then you will see the wrong time + * (and possibly the wrong date). To turn this conversion off, you can use a preference setting. + * It affects the headers that you see in e-mails that you open or preview, but it does not affect + * the Date column in folders. + * [1] http://kb.mozillazine.org/Time_and_time_zone_settings + * [2] http://wiki.cacert.org/ThunderBirdAdvancedConfig + * ***/ +user_pref("mailnews.display.original_date", false); +/* 6008: Display the sender's Timezone when set to true ***/ +user_pref("mailnews.display.date_senders_timezone", false); +/* 6009: Display Time Date based on Received Header + * Thunderbird shows the time when the message was sent, according to the sender. It is possible + * to make Thunderbird show the time when the message arrived on your mail server, based on the + * "Received" header. Set the following preference. New messages will show the time the message + * was received, rather than when it was sent. ***/ +user_pref("mailnews.use_received_date", "true"); + +/** ADDRESS BOOK ***/ +/* 6007: Address book collection + * Disable address book email collection + * Consider using https://addons.thunderbird.net/addon/cardbook instead ***/ +user_pref("mail.collect_addressbook", false); +user_pref("mail.collect_email_address_outgoing", false); + +/*** [SECTION 6100]: EMAIL COMPOSITION (ENCODING / FORMAT / VIEW) + Options that relate to composition, formatting and viewing email +***/ +user_pref("_user.js.parrot", "6100 syntax error: this parrot has got no mail!"); + +/** ENCODING ***/ +/* 6101: Prevent fallback encoding to windows-1252, prefer 7bit or 8bit UTF-8 + * [1] http://forums.mozillazine.org/viewtopic.php?f=28&t=267341 + * [2] https://bugzilla.mozilla.org/show_bug.cgi?id=214729 + * [3] https://stackoverflow.com/a/28531705 ***/ +user_pref("intl.fallbackCharsetList.ISO-8859-1", "UTF-8"); +/* 6102: Set encoding of incoming mail + * [SETTING] Display > Advanced > Fonts & Encodings > Incoming Mail ***/ +user_pref("mailnews.view_default_charset", "UTF-8"); +/* 6103: Set encoding of outgoing mail + * [SETTING] Display > Advanced > Fonts & Encodings > Outgoing Mail ***/ +user_pref("mailnews.send_default_charset", "UTF-8"); +/* 6104: Forces encoding in reply to be the default charset + * [1] https://bugzilla.mozilla.org/show_bug.cgi?id=234958#c2 ***/ +user_pref("mailnews.reply_in_default_charset", true); + +/** COMPOSITION ***/ +/* 6105: Check spelling before sending + * [1] https://bugzilla.mozilla.org/show_bug.cgi?id=667133 ***/ +user_pref("mail.SpellCheckBeforeSend", false); +/* 6106: Never send HTML only emails. (0=Ask, 1=Send as plain text, 2=Send as HTML anyway, + * 3=Include both plain text and HTML message bodies in message) + * Email that is HTML should also have plaintext multipart for plain text users. + * [1] https://drewdevault.com/2016/04/11/Please-use-text-plain-for-emails.html + * [SETTING] Edit > Preferences > Send Options > Send the message in both plain text and HTML ***/ +user_pref("mail.default_html_action", 3); +/* 6107: Send email in plaintext unless expressly overidden. + * Sometimes HTML is useful especially when used with Markdown Here + * [NOTE] Holding down shift when you click on "Write" will bypass + * [1] http://kb.mozillazine.org/Plain_text_e-mail_%28Thunderbird%29 + * [2] https://support.mozilla.org/en-US/questions/1004181 + * [3] https://markdown-here.com ***/ +user_pref("mail.html_compose", false); +user_pref("mail.identity.default.compose_html", false); +/* 6108: Downgrade email to plaintext by default + * Only use HTML email if you need it, see above + * [SETTING] Edit > Preferences > Composition > Send Options > Send messages as plain-text if possible ***/ +user_pref("mailnews.sendformat.auto_downgrade", false); +/* 6109: What classes can process incoming data. + * (0=All classes (default), 1=Don't display HTML, 2=Don't display HTML and inline images, + * 3=Don't display HTML, inline images and some other uncommon types, 100=Use a hard coded list) + * In the past this has mitigated a vulnerability CVE-2008-0304 (rare) + * [1] https://www.mozilla.org/en-US/security/advisories/mfsa2008-12/ + * [2] https://bugzilla.mozilla.org/show_bug.cgi?id=677905 ***/ +user_pref("mailnews.display.disallow_mime_handlers", 0); +/* 6110: How to display HTML parts of a message body + * (0=Display the HTML normally (default), 1=Convert it to text and then back again + * 2=Display the HTML source, 3=Sanitize the HTML, 4=Display all body parts) + * (in trunk builds later than 2011-07-23) + * [1] https://bugzilla.mozilla.org/show_bug.cgi?id=602718 + * [2] https://hg.mozilla.org/comm-central/rev/c1ef44a22eb2 + * [3] https://www.bucksch.org/1/projects/mozilla/108153/ ***/ +user_pref("mailnews.display.html_as", 3); +/* 6111: Prefer to view as plaintext or html + * true=Display a message as plain text when there is both a HTML and a plain + * text version of a message body + * false=Display a message as HTML when there is both a HTML and a plain text + * version of a message body. (default) ***/ +user_pref("mailnews.display.prefer_plaintext", false); +/* 6112: Inline attachments + * true=Show inlinable attachments (text, images, messages) after the message. + * false=Do not display any attachments with the message ***/ +user_pref("mail.inline_attachments", false); +/* 6113: Big attachment warning + * [1] https://support.mozilla.org/en-US/questions/1081046 + * [2] http://forums.mozillazine.org/viewtopic.php?f=39&t=2949521 */ +user_pref("mail.compose.big_attachments.notify", true); // [DEFAULT: true] +/* 6114: Set big attachment size to warn at */ + // user_pref("mailnews.message_warning_size", 20971520); // DEFAULT size + +/** VIEW ***/ +/* 6115: Disable JavaScript + * [NOTE] JavaScript is already disabled in message content. + * [1] https://developer.mozilla.org/en-US/docs/Mozilla/Thunderbird/Releases/3 + * [2] https://stackoverflow.com/questions/3054315/is-javascript-supported-in-an-email-message + * ***/ +user_pref("javascript.enabled", false); +/* 6116: Disable media source extensions + * [1] https://www.ghacks.net/2014/05/10/enable-media-source-extensions-firefox ***/ +user_pref("media.mediasource.enabled", false); +/* 6117: Disable hardware decoding support ***/ +user_pref("media.hardware-video-decoding.enabled", false); +/* 6118: Default image permissions + * 1=Allow all images to load, regardless of origin. (Default), + * 2=Block all images from loading. + * 3=Prevent third-party images from loading + * [1] http://kb.mozillazine.org/Permissions.default.image ***/ +user_pref("permissions.default.image", 2); + +/*** [SECTION 6200]: OTHER THUNDERBIRD COMPONENTS (CHAT / CALENDAR / RSS) + Options that relate to other Thunderbird components such as the chat client, calendar and rss) +***/ +user_pref("_user.js.parrot", "6200 syntax error: this parrot is not tweeting!"); + +/** CHAT ***/ +/* 6201: Disable chat functionality ***/ +user_pref("mail.chat.enabled", false); +/* 6202: Disable logging of group chats ***/ +user_pref("purple.logging.log_chats", false); +/* 6203: Disable logging of 1 to 1 conversations ***/ +user_pref("purple.logging.log_ims", false); +/* 6204: Disable logging of system messages ***/ +user_pref("purple.logging.log_system", false); +/* 6205: Disable typing notifications ***/ +user_pref("purple.conversations.im.send_typing", false); + +/** CALENDAR ***/ +/* 6206: Disable calendar integration ***/ +user_pref("mail.calendar-integration.opt-out", false); +/* 6207: Set user agent for calendar ***/ +user_pref("calendar.useragent.extra", ""); + +/** RSS ***/ +/** These features don't actually do anything as they aren't implemented + * [1] https://dxr.mozilla.org/comm-release/source/mail/base/content/mailWindowOverlay.js#649 + * [2] https://bugzilla.mozilla.org/show_bug.cgi?id=458606#c9 +/* 6208: What classes can process incoming data. + * (0=All classes (default), 1=Don't display HTML, 2=Don't display HTML and inline images, + * 3=Don't display HTML, inline images and some other uncommon types, 100=Use a hard coded list) + * [1] https://www.privacy-handbuch.de/handbuch_31j.htm +user_pref("rss.display.disallow_mime_handlers", 3); +/* 6209: How to display HTML parts of a message body + * (0=Display the HTML normally (default), 1=Convert it to text and then back again + * 2=Display the HTML source, 3=Sanitize the HTML, 4=Display all body parts) + * (in trunk builds later than 2011-07-23) + * [1] https://bugzilla.mozilla.org/show_bug.cgi?id=602718 + * [2] https://hg.mozilla.org/comm-central/rev/c1ef44a22eb2 + * [3] https://www.bucksch.org/1/projects/mozilla/108153/ +user_pref("rss.display.html_as", 1); +/* 6210: Prefer to view as plaintext or html + * true=Display a message as plain text when there is both a HTML and a plain + * text version of a message body + * false=Display a message as HTML when there is both a HTML and a plain text + * version of a message body. (default) +user_pref("rss.display.prefer_plaintext", true); +**/ +/* 6211: Feed message display (summary or web page), on open. + * Action on double click or enter in threadpane for a feed message. + * 0=open content-base url in new window, 1=open summary in new window, + * 2=toggle load summary and content-base url in message pane, + * 3=load content-base url in browser + * [1] http://forums.mozillazine.org/viewtopic.php?f=39&t=2502335 ***/ +user_pref("rss.show.content-base", 3); +/* 6212: Feed message display (summary or web page), on select. + * 0=global override, load web page, 1=global override, load summary, + * 2=use default feed folder setting from Subscribe dialog; if no setting default to 1 ***/ +user_pref("rss.show.summary", 1); +/* 6213: Feed message additional web page display. + * 0=no action, 1=load web page in default browser, on select ***/ +user_pref("rss.message.loadWebPageOnSelect", 0); + +/*** [SECTION 6300]: THUNDERBIRD ENCRYPTION (ENIGMAIL / AUTOCRYPT) + Options that relate the Enigmail addon and AutoCrypt + [1] https://autocrypt.org + [2] https://www.enigmail.net/index.php/en/user-manual/advanced-operations +***/ +user_pref("_user.js.parrot", "6300 syntax error: this parrot is talking in codes!"); + +/** ENIGMAIL ***/ +/* These used to be inversed, however it seems upstream has changed this behavior + * [1] https://www.privacy-handbuch.de/handbuch_31f.htm ***/ +/* 6301: Silence the Enigmail version header ***/ +user_pref("extensions.enigmail.addHeaders", false); // Default +/* 6302: Silence the Enigmail comment ***/ +user_pref("extensions.enigmail.useDefaultComment", true); // Default +/* 6303: Silence the version ***/ +user_pref("extensions.enigmail.agentAdditionalParam", "--no-emit-version --no-comments"); +/* 6304: Specifies the hash algorithm used by GnuPG for its cryptographic operations: + * 0=automatic selection, let GnuPG choose (default, recommended), 1=SHA1, 2=RIPEMD160 + * 3=SHA256, 4=SHA384, 5=SHA512 + * [NOTE] You should probably have a decent gpg.conf with things set. Examples + * [1] https://github.com/Whonix/anon-gpg-tweaks/blob/master/etc/skel/.gnupg/gpg.conf + * [2] https://github.com/ioerror/torbirdy/blob/master/gpg.conf + * ***/ +user_pref("extensions.enigmail.mimeHashAlgorithm", 5); +/* 6305: Protect subject line + * 0=Leave subject unprotected, + * 1=Show dialog with "Leave subject unprotected" (changes value to 0) + * or "Protect subject" (changes value to 2, + * 2=Protect subject***/ +user_pref("extensions.enigmail.protectedHeaders", 2); +/* 6306: Text to use as replacement for the subject, following the Memory Hole + * standard. If nothing is defined, then "Encrypted Message" is used. + ***/ +user_pref("extensions.enigmail.protectedSubjectText", "Encrypted Message"); // Default + +/** AUTOCRYPT ***/ +/* 6307: Choose whether to enable AutoCrypt + * [1] https://autocrypt.org/level1.html + * [2] https://redmine.tails.boum.org/code/issues/16186 + * [SETTING] Edit > Account Settings > OpenPGP Security > Autocrypt > Enable Autocrypt ***/ +user_pref("mail.server.default.enableAutocrypt", false); +/* 6308: Prefer email encryption with known contacts + * [SETTING] Edit > Account Settings > OpenPGP Security > Autocrypt > + * Prefer encrypted emails from the people you exchange email with + * [1] https://redmine.tails.boum.org/code/issues/15923 ***/ +user_pref("mail.server.default.acPreferEncrypt", 0); + +/*** [SECTION 9999]: DEPRECATED / REMOVED / LEGACY / RENAMED + Documentation denoted as [-]. Numbers may be re-used. See [1] for a link-clickable, + viewer-friendly version of the deprecated bugzilla tickets. The original state of each pref + has been preserved, or changed to match the current setup, but you are advised to review them. + [NOTE] Up to FF53, to enable a section change /* FFxx to // FFxx + For FF53 on, we have bundled releases to cater for ESR. Change /* to // on the first line + [1] https://github.com/ghacksuserjs/ghacks-user.js/issues/123 +***/ +user_pref("_user.js.parrot", "9999 syntax error: the parrot's deprecated!"); +// ESR60.x still uses all the following prefs +// [NOTE] replace the * with a slash in the line above to re-enable them +// FF61 +// 2612: disable remote JAR files being opened, regardless of content type [FF42+] + // [1] https://bugzilla.mozilla.org/1173171 + // [2] https://www.fxsitecompat.com/en-CA/docs/2015/jar-protocol-support-has-been-disabled-by-default/ + // [-] https://bugzilla.mozilla.org/1427726 +user_pref("network.jar.block-remote-files", true); +// 2613: disable JAR from opening Unsafe File Types + // [-] https://bugzilla.mozilla.org/1427726 +user_pref("network.jar.open-unsafe-types", false); +// * * * / +// FF62 +// 1803: disable Java plugin + // [-] (part5) https://bugzilla.mozilla.org/1461243 +user_pref("plugin.state.java", 0); +// * * * / +// FF63 +// 0202: disable GeoIP-based search results + // [NOTE] May not be hidden if Firefox has changed your settings due to your locale + // [-] https://bugzilla.mozilla.org/1462015 +user_pref("browser.search.countryCode", "US"); // [HIDDEN PREF] +// 0301a: disable auto-update checks for Firefox + // [SETTING] General>Firefox Updates>Never check for updates + // [-] https://bugzilla.mozilla.org/1420514 + // user_pref("app.update.enabled", false); +// 0402: enable Kinto blocklist updates [FF50+] + // What is Kinto?: https://wiki.mozilla.org/Firefox/Kinto#Specifications + // As Firefox transitions to Kinto, the blocklists have been broken down into entries for certs to be + // revoked, extensions and plugins to be disabled, and gfx environments that cause problems or crashes + // [-] https://bugzilla.mozilla.org/1458917 +user_pref("services.blocklist.update_enabled", true); // [DEFAULT: true] +// * * * / +// ***/ + +/* END: internal custom pref to test for syntax errors ***/ +user_pref("_user.js.parrot", "SUCCESS: No no he's not dead, he's, he's restin'!"); diff --git a/wiki/backup01.png b/wiki/backup01.png new file mode 100644 index 0000000000000000000000000000000000000000..ad9474c038b994b5de95a885adc2fb863ee366d5 GIT binary patch literal 19811 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 literal 0 HcmV?d00001 diff --git a/wiki/concurrent01.png b/wiki/concurrent01.png new file mode 100644 index 0000000000000000000000000000000000000000..1797e2f6d00e83ac3e18eeb828753a5f173d0d68 GIT binary patch literal 9921 zcmbVycUV*1wYPjg3`w+yw7dT+6pkJT&{fgJJJ6 zU%BdnBlgl9I@C5wedn24OX)6ncuwU?3QL<=;+x~E5}y@RWgQE>m}V-KZb`g=wD6gE zKfq72JJ69@T>lp?*nV4H+vTWBpm@kaXT??BqZg#WA&2F1Rd{~C!d=N#F?(d;)A35( zVN>ivf)j&B2hp3>rDZDv+jv~`%SCA1HtMoH+xG}6C?;jOQCL}rJ6AK`;i!Up_|X>2 zol9rASkaT=NB(-NdZx8(Au~F@SSM1m z>0PA)!(LRZ(AFTT{f0+0vlp6MR&wt#s;vz9j)uE8$jzH_Wui<5XD-5$Exs=mA#*)B zz@avn0@rW7bPQtAmom**yUP;nb%SE8v9m1{Ht2_ zHKPu1bXcP*@y?j+cqS~wTvE=r+KRFHgZ1iFU*oL_-WOsu*_E59`|4eCf!PH6q`qO) z5_?KBAl%}tM;FZ4+T#V-&S>|BVDF3sA*rfp{x&8rD~pBmk2|SZFmj44bMJd;T1kUQ zj8ED@vFKyoLUSQc{6fD~vxe7>PmV~2yfY$WcuM?`iX3*ZK@cML#_-#kUu!g^YpqvX zB@X{`q|}Ive=3eQBF7_?{N}iECTSvw90N49yu|sDy_MqA+2|I>2foGlJ8a$Wk49US z@b<;<^Dg2~lhe=N#{D=x##@0S4_i&7y}R5IP1`EbnVd=}gby~el)9Zi#A)*3?HHOi z$mWWxa|mE?aPK=7X)zGf+mF%RpUN;aoD=yo;{0_{g8rrM^GUao&4b(Od7k&d4HKvu z(AG1D>YgUVz{Cy^ptLg#aZ}5qVQHyNX-RPCJTcn61#^(Hl8-5nnd z5#;2_pB^`@L_jFsJAj^m91We;*D9l_CktEdrGLaAK3u^rdQBdLA7^=_a1Xf8kRtw*RFI7RRyET(Wm@Jvsadvx`gV0D3=H zvv{m1*9l(*cdjRG|NWa*{g~A%RZ0^$1DDmKx1LQK?!Ti^*yxqgn5uo;%VZvd8(t{5 zO4=v3Ypav=sb!TiSks-M+3({!OlrpL|&J2^01UDRSH;+C%Y8m?Zr=ixiFWZRk|o zRK$;|iF+3)GPJgO4ZL53Gg|!+^=3qg0GdE*^*xnPa-4LFib@qV`#F(FH2=ktNEzvf z8)4KUDen@)kVzrS8>snrjz`{u38 zJBL;C&rV8jF8>}Jzp3bO>}r&MPUGZ*zVbuoWfT~rP5n{dXToR)TJZCr!+IJUZ>wp_ zs)Q?h2TZp1E#Ng9v~S~Ov%hoO znzG$}PmY%0FB8!50T)bYHHl*RdGar`ga$|a9lMf@qRI0It{Rd8UoQwv8xHe4?SsA$ z!eY#-j9EVmTeZhJA-<9wo80jS*h&k%QK60cucxE>O-fADP|r_K{JhCBA2kuRnV=f7 z>?Q^7jy*hUdg6`Cg`bN3gr`e~R-_Fw4U0XS`y&h5zf?^+E%AE^ipIQ!l1{Bmq4;46 z&YvlnLeI~v3IwYZ*H5VbwVW}*fGJA$we zLvBcAK73jRKI^hve`^qR`h~ASGOq|dv4S7!;A?}2XT0LTil&C}fk(irVj{W`4NzLi z3`r(b59yZaBHeY{pqLMob*^VYV?uw^D&nsLu9R+Zp0;T6n|#{zSb<&8*wBX+tpB-e z%%tYWziFWH3cr$stafC9_eQ;FI_iEyEPr&`1u>=miaqeN_1`lIX?f?0Gy%r zoTV{7!0Pg;s*0gjfaV02&3|f#At&`O4w?7HDyx7#cV2jR^%`1EfiDZmW1(5!!8_k4 zx8;-w`lR85*Ygb7>6oSKrD*5FM8EG2hY14%zP8x(r+Oj`G$1 z$ajW4ii%q0kMMCquw~1OWvEv6&&jtZXz=UH1H6MSd}ebgaSU1ihJ9r&(#zrk>zvfF zRrFYT3@U5=m}o+Wuf>m}uoqxnE@YR?RQ(BYi?$dY*IkfD_e&d(f5hx6xRKF!%t|la zJZRaLbxYHG^v5&E9;0VNs285*;)lKnCJl~0iTFPg!&xbGRp`;s@og^cg&g7F@>pSh z7-wRIi~P82OG;(@v482TsCI@(;tL2fgDgc#i498JQekR~q_#1Q-L-w;W%hDu{+A7!*X=wrV4%LNfwc%0^$9 ztLS}ptB`CnMCRu8XG+=p`ltZC-}Y|zK`4Tz_U{k{cR4x=L6pIJ%9Af7YzcD$KYlok zmXrIi^rR)DyJ3K3d_i(%C2pp;Pt{&gM&nyMDh}UaxJD z=Tbh#3_K3d8)(=jKHAXg4>?ilGHELr68|!oC5*j75f7QJHMEBGseTQ0)Jv;P`x|y(i}B^pxMY>tT8?prs;og%^6{T-Er_cbCBww)e!wdImwUgTiW>< z8ORDI8@|&W^Sik`a;x?6!tN>I!PF1|=GnV4-Lka@&P>DbGe9|G)^9vos&#b!Jh$Ssu@4C)NH# zdr)chadiFn)mm7l@&_-dtf%s@TH5R@0&R8CseO_) zR>a`pz5soG(lf;@k>>ac}`RIkX+vfi~~RwcD@s0FGG17yd> zGLj01^CW9$hZxI+aMS7>wgf8z{#d^Mfu^vsxVUwUuyP3Hy%Hgo9WxSq-7e@Womwfx z@nz}HH(VP+_T)1fKsC0+Z3Yj;0kt&Xn6cnUdHB%vQdM3P#!1glq;ldDUMpWNeGA6o zjHDIuk(T->2PR1c-h`D)jF`~XB*!h4{Ob*z%~9OXCLaX4W24)E^&u|q6s~AdQ<}K& z*v9@LXG?E*jPb!&h0;3A3KUs|k*Q5;XQ^7>1HCz|!-(VP$aB`h%J&VV(8IOUf~<+q z+Wb;>duXx$@R~d&zZ_c3xA_zIiQrVRizkc)t%~^h#<@%Y-_}Q_J)b3^f}Zljb%`99 zGe>K_TmCO$a1S4(Sq6D6a$%(HlBu17gQb4!#m>EC=i}AW|sqT2wbeS zs8cwJ7Nqm%2AfC_e|>kRJPj09K75S_9r?|Yf>|Z4XR2$H^z0B!C?yoRX2W`CK zu*1s@8Cm{5;k)RXu!doa2s8ZVkFM8QzP7~S63h@Ef84@;kWs}#^y4z*=cpHnIvyv{ z+DstRW|u#QFsaL=hTj3yGg53>1WTfjx&hhe3Z(7P&2K~RwC7{ghIN$LYrZy`zc*Lb4-#hTP27{p? zWtI~-exCKTt|3pZjzz+%*3W8ngdKU`;p#+D5Q!14oOrcvz+(2HY>BMKZDZn6JRGw+ zy#0>ADGx0y9o!($)~6hbRPB7wgwgT2Cjis@OFIPJ`}lXMK1B>)Z@-lh8k)?e@=P)| zRU6Fg*5a9zZwZ4~?d`QC9Gi<7F9@D}kDtgG4a;e-rSbJN1y3b)o*zCI&wZU#ViuC zXFRs|6d2j`Q<3rLjD$+L^ZOb|f-3cH-DVuSYWv_rKdVTHlm^yvT;dQ~1v{Na<4qR1 zrJKG#9B;XcKSQ*O5@sEMuN9de#di!_P+#RIgTR`=x;-7vet(d*?L3$ooDiUfK_i z>$>Vh5rugc3A}T;H_V_qLR(hCG<3i0HJkPD6SLBfm;b9%f@D9Sigkzd8N`g)!>kX- zist%QH)HtPd-W$J5!H%SONh27C#x7=fAgw9s;;2tM0@UCq+_Iz%McbFj>HnC@?t3F zP&?claZ-}iD8+eyL2v3eH@fPstP{C}XX(N=L;Ak|BWA7+`8}P#X>E68s{8zpYJ=qD zg+Uyj2O*b`>yxZ#4SQ8~kE~@?00C_+_b_typ&~X5GQ3SeThq6(*4z?DoG8a(+M_s9 z`PrGY0*5|N{^z8|;mjf{VxFLs5&-PK)|H=Xn>m|kT21sNyWuZhkx5F)fq<4x*PzW( zn_t=)5mMVV#SvXUkAiuV%8byQ@w1I29nKH0KI}GY2o9|z_>t5bd`i{V1Cwo|EskA& zSH!-q#*LQ4KogJYcsX8ey~4nwlsU5Fotr;G%yDu~6j!bA9Y5{CI0XLO$I8aiNjj({ zst`tME5`+EZTA`TJ(zok9SR^G$VvLF!^!O*^F+O^@w1>JcfTT~x{ce#zSw}xmK7!WjSu6B|Fx9b7)R)YfdsdfkJu(nFQRD% zr8la2+w=95>Odqe0bQ)?MM;#(4G}nXpCVOTIf74gK#jGV$H?U$HpAy(aZ$br*s(H! z$~XO|3_?>ayDC|^0-k2)sC?=a^$IXAGY(D(R^E!-?wW@-Zx7YuA<`9+JBh|)G-_qQ zg*x*L1(X45bdsVCMGp#{Q?z1nP<4}l<^~oH(`$@l=isz7w5u+~{CxI`3TcI&u zEhr*lh$;CaKYkn>!X5?sB5{IB3?Ub9N-pVFMA#lQ*fmqZJ@tDZMt3-?r2vn5zjVEtak5Q0*@ovI9gZkZwBPe2@8F|=VmdW%M=YABI*I9K1#2@;qx4=pc_kMo#HjeH7`zG9+J$HY|F zr}fHyeex-SR>9j|H2_^|e=^M*eXJ3lbIv9m5)k*VDUQbxyzUMU`#{Br=~XsIn+ETf zSb|X2Qc>*WwOKP~XUza+W4bq{R9v5&dcUOKXYbAqf5z}+ZrQ`Ga_C#HYp2cq%maK2 z9>6Rp-%(ye*S1QP&f1UoEDI-H8UL5O`ZF-^fqgq)vNz46#geLZ7fX>0{PXcjqp*HzR#*qAA{~zadQF%r(gjVP5qhJ zt*u&G2@K~xX{W;BUb6;y%3~$?_pf z5n!j(p9@r;bhLiJQZuVF(aO<&pxShFO9f`EO!f9`0}^0h@4#N%X}t~U@MtPV(YsE- ziFeSWuNd9xMfh0S6;^hd6L_DXncW_3UggF7QV#RqkgI+~^BINV7gM-*OaU-l)L3DS zW{=WM^h!&B%TSY0Nm8*(D;)tuEjyXjuGWf;XU9d7lHw(V_L3{E{_Q4Wk9B)o(WQ&^ z0@zO_@p^UI2){vBV)5Wxdb9eY2(jqN(kB5fFNK89UWyNibNjRIgJ_ktNQ)D^3XYLD ze;mc$5Bkkg&4Rzmf|Dk^d;rldIz1oX|x) z1V~Y)xZM%-^M-Mr@gej@JKZe!8Q{oAM}! zpit|MAVP&p6}4SF-d*XUWyVd{J{U~RQ@-uR>FzpXw=m-arGey(`r`*?JX(b$j-k(q zHRSJ!+P9O=i-7Gi$`qXIHr1Ix&>n_XTypmH7V$W}UFzPB?wkFMh%}#c>-GoQ-aPnqDV`yliNyvSY1JuZ`*pT03LsY?>VOLb2LWDnR$+Snk0O zu?CmFj>nhXbb!%I*_(G33gDTa!*$Cj?s-fPm z0Fj+nY^0k+qg7qSl|UASSEf;8@vQHuiRFbc3KM_)p5@tNP|aH*fMZz=DVyOE>3qWTH_G9)6+ zGww2Vc%Ap=_U7pNcL!^}*rE~qhnTVcKs_V172-W*xJ8o;&Y^y{ViGcB+Bq}KweA)W z!lcK?OSp}y9(}bmuDKSJu`?!dGU`%g9z;>nMP#~r)z3LCKufXyWT*ora zPNT4GhVo0Bz=4HBKcL?lRV>({c%70oF$TovcqqEmgDTw zquZn_gY&X48f8haC(ER*mCAwe>(CoQbr>6J}fEemvd zzIu{Y!u_|;@M0TPm78~57@YtCt&b-$D)C5M@Q|^1K>xX02p%>7op!Y`| z(}32H@^p-RgQeE?=28jf>;ZH~GR!4?`!}#L3Xr30_DL>FV&yk+72uCvHCGyRo^Ur~@lz`!3!W3$6dj z{^@&(Y>Sd2%VQi|E0ZSsC;=U+D`(h=mr5{B#>e)*BWV^oM^+7P2v)rDImmy-;j=Vp zSE-xOc9Yr*DUCZIHTyK73$kPZ&O}YA-+;O7r-|yn&DTYeK!SZzzHg;OM%F)XeDGR}+I7MO zXuxWVM^jzs<4#%_ZJ>bJbtlyvTkb-Pccd^|%F2P~T=$rt9ty8KQe+?^90GU!f1cR_ zlzCi5Zd<)%S8hnkXotppxMX1~`p0|3exRn2Zwa7!!pz!N|2a8cnRG7?sP`LT!YFLb z!3|Y9FI8694{1SOjActTT(snVe=!g2C6lBuc}h!_A70|K;wDslxr%f$b{b|ic8hE! zkCyb+DyShj0kkES2gX5rGJGrNC-Htdkqjfnm*nNL5}*7rM+z1Id*w-Y%7fhlvjUHC%&MFCDW=eQai%!u~qaOWme1ZI2@5EP#y3Lw69P{Od+f z5@rB?*tpr$O6}lSf#|8bg|TM%x%P%yk8ERPS}ASd+lYH#W)H_U1LJx2p5SbY?>TzS zq;!*Wo9bWEgK~ob87w8nqSg7AeYA%65px-u*@Cg6y^$3V=v~>5-L|{=TT|a=y)8S~ z?*c6N-DvE^p2;y!W}q{x_O5XGZI*f7h*bstB~+dokk$9z9xS1jz*y%d^%r)ACIetr zSyp1~E??vkd84ROcc)wScmLj*%O`aacYMHa5Tcb@QU=BH#_Mx?&_`Z7QMh7`DKmy@ zQ#Bvqzh_tmANOzA;>*_!2ejVwy{HiB*m`Gn*{7$J$U0el;bLxJUN-Fa-{-9K5)y>@ zxJsK#@YIe0*5TW&AJ~n$NqsXgxMv6DA|Y=DFa~d~0dq3Qt#(#PmW^*^R~v?=V#b<) z`jqcrYcLTSTLf%&E9R^68R}Xh&7uo1d~28LS;U??QKo z#RemG7U)O`3WMN}0DHDSRvoUupaPJkJ%LQ}f{E%okon(Wy@UMsV6Gs3Lcn)8Ax)04&pviQ zD;s)RZLIAIIbQv#hstx)w#vyF?p#9DQ@swwUXvzGo2^jIJI^CjjehS2K11U&&@;JF Js^j?V-vIpa@)rOA literal 0 HcmV?d00001 diff --git a/wiki/concurrent02.png b/wiki/concurrent02.png new file mode 100644 index 0000000000000000000000000000000000000000..f7f7dce7ea17e486cca470d23554948ebd2dd0f4 GIT binary patch literal 95757 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 Fe*x?A4W$48 literal 0 HcmV?d00001 diff --git a/wiki/profiles01.png b/wiki/profiles01.png new file mode 100644 index 0000000000000000000000000000000000000000..b9ddaa6fc820776118881d1a189b78b53b62ff40 GIT binary patch literal 10060 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 literal 0 HcmV?d00001