[wiki] Firefox & Pale Moon - about:config edits

Copied from the "Classic" old forum:

Primarily the intended use of this thread is as a vehicle to make additions to the wiki page known to the forum; it is also good place to bring any relevant new about:config edits to the the Manjaro communities attention.

Have a read of the Wiki page before you start making suggestions as your suggestion may or may not already be there. :wink:

I've just made another addition to the Firefox & Pale Moon, about:config edits wiki page: 19-August-2015.

Here is the link to the FF & PM about:config Wiki page:

While we're at it, here's a link to the Firefox & Pale Moon, Customisation wiki page:

& our Vivaldi Wiki page too:


Updated the wiki page:-

The above section that links to a modified user.js script that you can copy, save & install in your Firefox, is really very interesting & incredibly useful.

You can edit it by adding about:config edits that are in the wiki page, or from anywhere else (many of the edits from the page are already in the user.js script.

Anyway, I say a little more about it on the wiki.

Enjoy. :wink:

1 Like

i have thought about the same problem (=too many firefox about:config settings to maintain by myself) for some time and came to same conclusion. the user.js files i found on github are the following:

i have tested both and like the first one much more, because it explains the reason for changing a setting and recommends to create your own settings file (e.g. ~/.mozilla/firefox/<your ff profile name here>.default/preferences/my-custom-override-user.js) overriding the settings in the user.js file from ghacks. this makes it possible to easily update the user.js file from ghacks without loosing your settings. update command:

cd ~/.mozilla/firefox/<your ff profile name here>.default && wget -c https://raw.githubusercontent.com/ghacksuserjs/ghacks-user.js/master/user.js && cd

the second link above seems to be maintained by more people and has more commits, but there are less new commits in the last 6 months.

i needed about a day to create ~/.mozilla/firefox/<your ff profile name here>.default/preferences/my-custom-override-user.js with all the about:config settings i want to change from ghacks' default settings. if you are interested, i can post this file with my custom settings.

i have noticed that firefox needs noticeably longer to start (~ 5 seconds), because it has to apply A LOT of about:config settings.


Thanks for your reply (& links I'll check them out).

I'm currently going through & creating my own user.js . It sounds like with the info in the link(s) that you've provided, I may have alot more work to do than I anticipated... :wink:

@excalibur1234 Thanks again for your previous post. I'll end up improving the wiki page due to your input.

& yes, please. :smiley: I'd love a copy or your my-custom-override-user.js file. It sounds like you have put an enormous amount of work into it.

Your post REALLY is extremely useful.

it was a lot of work to create my own user.js file.

i did it the following:

  1. use the use.js file from here: https://github.com/ghacksuserjs/ghacks-user.js/blob/master/user.js
    you can read this file manually. it explains every setting in a couple of sentences and often links to more resources. it even contains a lot of useful settings, which are commented out. it also uses numbers, keywords and categories, which make it easy to navigate.
    i never change this file, which enables me to easily update it (by redownloading it with the command given in my last post).

  2. i created my own user.js file in a "preferences" folder in my firefox profile: ~/.mozilla/firefox/<your ff profile name here>.default/preferences/my-custom-override-user.js
    this file contains all the about:config settings from ghacks' user.js file, which i do not like (and some of my own settings). this file is MUCH shorter and i have to maintain it.
    i needed a while to find the about:config settings in ghacks' user.js file, which bothered me. then, i copied them to my-custom-override-user.js file and adjusted them accordingly (by uncommenting the settings and/or adjusting the values).
    my-custom-override-user.js file:

/* UPDATE user.js file with the following command (do this regularly - especially for new major firefox versions):
 * cd ~/.mozilla/firefox/<your ff profile name here>.default && wget -c https://raw.githubusercontent.com/ghacksuserjs/ghacks-user.js/master/user.js

// my personal preferences, which differ from ghacks-user.js file:

/* 0102: set start page (0=blank, 1=home, 2=last visited page, 3=resume previous session)
 * home = browser.startup.homepage preference.
 * [SETTING] Options>General>Startup>When Firefox starts ***/
user_pref("browser.startup.page", 1);

/* 0302a: disable auto update installing for Firefox (after the check in 0301a)
 * [SETTING-56+] Options>General>Firefox Updates>Check for updates but let you choose...
 * [SETTING-ESR] Options>Advanced>Update>Check for updates but let you choose...
 * [NOTE] The UI checkbox also controls the behavior for checking, the pref only controls auto installing ***/
user_pref("app.update.auto", true);
/* 0302b: disable auto update installing for extensions (after the check in 0301b)
 * [SETTING] about:addons>Extensions>[cog-wheel-icon]>Update Add-ons Automatically (toggle) ***/
user_pref("extensions.update.autoUpdateDefault", true);

/* 0360: disable new tab tile ads & preload & marketing junk ***/
	// user_pref("browser.newtab.preload", false);
	// user_pref("browser.newtabpage.directory.source", "data:text/plain,");
user_pref("browser.newtabpage.enabled", true);
	// user_pref("browser.newtabpage.enhanced", false);
	// user_pref("browser.newtabpage.introShown", true);

/* 0801: disable location bar using search - PRIVACY
 * don't leak typos to a search engine, give an error message instead ***/
user_pref("keyword.enabled", true);

/* 0805: disable CSS querying page history - CSS history leak - PRIVACY
 * [NOTE] This has NEVER been fully "resolved": in Mozilla/docs it is stated it's
 * only in 'certain circumstances', also see latest comments in [2]
 * [TEST] http://lcamtuf.coredump.cx/yahh/ (see github wiki APPENDIX C on how to use)
 * [1] https://dbaron.org/mozilla/visited-privacy
 * [2] https://bugzilla.mozilla.org/show_bug.cgi?id=147777
 * [3] https://developer.mozilla.org/docs/Web/CSS/Privacy_and_the_:visited_selector ***/
user_pref("layout.css.visited_links_enabled", true);

/* 0850a: disable location bar autocomplete [controlled by 0850b] ***/
   // user_pref("browser.urlbar.autocomplete.enabled", false);
/* 0850b: disable location bar suggestion types [controls 0850a]
 * [SETTING-56+] Options>Privacy & Security>Address Bar>When using the address bar, suggest
 * [SETTING-ESR] Options>Privacy>Location Bar>When using the location bar, suggest
 * [NOTE] If any of these are true, 0850a will be FORCED to true
 * and if all three are false, 0850a will be FORCED to false
 * [WARNING] If all three are false, search engine keywords are disabled ***/
user_pref("browser.urlbar.suggest.history", true);
user_pref("browser.urlbar.suggest.bookmark", true);
	// user_pref("browser.urlbar.suggest.openpage", false);

/* 0862: disable browsing and download history
 * [SETTING-56+] Options>Privacy & Security>History>Custom Settings>Remember my browsing and download history
 * [SETTING-ESR] Options>Privacy>History>Custom Settings>Remember my browsing and download history
 * [NOTE] You can clear history and downloads on exiting Firefox (see 2803) ***/
user_pref("places.history.enabled", true);

/* 0901: disable saving passwords
 * [SETTING-56+] Options>Privacy & Security>Forms & Passwords>Remember logins and passwords for sites
 * [SETTING-ESR] Options>Security>Logins>Remember logins for sites
 * [NOTE] This does not clear any passwords already saved ***/
user_pref("signon.rememberSignons", false);

/* 1020: disable the Session Restore service completely
 * [WARNING] [SETUP] This also disables the "Recently Closed Tabs" feature
 * It does not affect "Recently Closed Windows" or any history. ***/
user_pref("browser.sessionstore.max_tabs_undo", 5);
	// user_pref("browser.sessionstore.max_windows_undo", 0);

/* 1022: disable resuming session from crash [SETUP] ***/
user_pref("browser.sessionstore.resume_from_crash", true);

/* 1023: set the minimum interval between session save operations - increasing it
 * can help on older machines and some websites, as well as reducing writes, see [1]
 * Default is 15000 (15 secs). Try 30000 (30sec), 60000 (1min) etc
 * [WARNING] This can also affect entries in the "Recently Closed Tabs" feature:
 * i.e. the longer the interval the more chance a quick tab open/close won't be captured.
 * This longer interval *may* affect history but we cannot replicate any history not recorded
 * [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1304389 ***/
user_pref("browser.sessionstore.interval", 300000);

/* 1402: set more legible default fonts [SETUP]
 * [SETTING-56+] Options>General>Language and Appearance>Fonts & Colors>Advanced>Serif|Sans-serif|Monospace
 * [SETTING-ESR] Options>Fonts & Colors>Advanced>Serif|Sans-serif|Monospace
 * [NOTE] Example below for Windows/Western only ***/
user_pref("font.name.serif.x-unicode", "Noto Sans");
user_pref("font.name.serif.x-western", "Noto Sans"); // default Times New Roman
user_pref("font.name.sans-serif.x-unicode", "Noto Sans");
user_pref("font.name.sans-serif.x-western", "Noto Sans"); // default Arial
user_pref("font.name.monospace.x-unicode", "Noto Mono");
user_pref("font.name.monospace.x-western", "Noto Mono"); // default Courier New

/* 2508: disable hardware acceleration to reduce graphics fingerprinting
 * [SETTING] Options>General>Performance>Custom>Use hardware acceleration when available
 * [WARNING] [SETUP] Affects text rendering (fonts will look different) and impacts video performance
 * [1] https://wiki.mozilla.org/Platform/GFX/HardwareAcceleration ***/
   // user_pref("gfx.direct2d.disabled", true); // [WINDOWS]
user_pref("layers.acceleration.disabled", false);

/* 2617: enable Firefox's built-in PDF reader [SETUP]
 * [SETTING-56+] Options>General>Applications>Portable Document Format (PDF)
 * [SETTING-ESR] Options>Applications>Portable Document Format (PDF)
 * This setting controls if the option "Display in Firefox" in the above setting is available
 * and by effect controls whether PDFs are handled in-browser or externally ("Ask" or "Open With")
 *   [WHY USE false=default=view PDFs in Firefox]
 * pdfjs is lightweight, open source and as secure as any pdf reader out there, certainly better and more
 * vetted than most. Exploits are rare (1 serious case in 3 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.
 *   [WHY USE true=open with or save to disk]
 * If you think a particular external app is more secure...
 *   [NOTE]
 * See 2662, and JS can still force a pdf to open in-browser by bundling its own code (rare) ***/
user_pref("pdfjs.disabled", true);

/* 2701: disable cookies on all sites [SETUP]
 * You can set exceptions under site permissions or use an extension
 * 0=allow all 1=allow same host 2=disallow all 3=allow 3rd party if it already set a cookie
 * [SETTING-56+] Options>Privacy & Security>History>Custom Settings>Accept cookies from sites
 * [SETTING-ESR] Options>Privacy>History>Custom Settings>Accept cookies from sites
 * [NOTE] This also controls access to 3rd party Web Storage, IndexedDB, Cache API and Service Worker Cache
 * [1] https://www.fxsitecompat.com/en-CA/docs/2015/web-storage-indexeddb-cache-api-now-obey-third-party-cookies-preference/ ***/
user_pref("network.cookie.cookieBehavior", 1);

/* 2703: set cookie lifetime policy
 * 0=until they expire (default), 2=until you close Firefox, 3=for n days (see next pref)
 * [SETTING-56+] Options>Privacy & Security>History>Custom Settings>Accept cookies from sites>Keep until
 * [SETTING-ESR] Options>Privacy>History>Custom Settings>Accept cookies from sites>Keep until ***/
user_pref("network.cookie.lifetimePolicy", 2);

/* 2705: disable DOM (Document Object Model) Storage
 * [WARNING] This will break a LOT of sites' functionality.
 * You are better off using an extension for more granular control ***/
user_pref("dom.storage.enabled", false);

/* 2803: set what history items to clear on shutdown
 * [SETTING-56+] Options>Privacy & Security>History>Clear history when Firefox closes>Settings
 * [SETTING-ESR] Options>Privacy>Clear history when Firefox closes>Settings
 * [NOTE] If 'history' is true, downloads will also be cleared regardless of the value
 * but if 'history' is false, downloads can still be cleared independently
 * However, this may not always be the case. The interface combines and syncs these
 * prefs when set from there, and the sanitize code may change at any time ***/
	// user_pref("privacy.clearOnShutdown.cache", true);
	// user_pref("privacy.clearOnShutdown.cookies", false);
	// user_pref("privacy.clearOnShutdown.downloads", true); // see note above
	// user_pref("privacy.clearOnShutdown.formdata", true); // Form & Search History
user_pref("privacy.clearOnShutdown.history", false); // Browsing & Download History
	// user_pref("privacy.clearOnShutdown.offlineApps", true); // Offline Website Data
	// user_pref("privacy.clearOnShutdown.sessions", true); // Active Logins
	// user_pref("privacy.clearOnShutdown.siteSettings", false); // Site Preferences

/* 5003: disable closing browser with last tab ***/
user_pref("browser.tabs.closeWindowWithLastTab", true);

/* 5010: enable ctrl-tab previews ***/
user_pref("browser.ctrlTab.previews", false);

// MY CUSTOM SETTINGS (not part of ghacks-user.js file)
user_pref("browser.startup.homepage", "about:newtab");
user_pref("browser.newtabpage.columns", 4);
user_pref("mousewheel.acceleration.factor", 1000);
user_pref("mousewheel.acceleration.start", 2);
user_pref("mousewheel.default.delta_multiplier_x", 20000);
user_pref("mousewheel.default.delta_multiplier_y", 150);
user_pref("mousewheel.default.delta_multiplier_z", 1000);
user_pref("mousewheel.min_line_scroll_amount", 60);
user_pref("layers.acceleration.force-enabled", true);			// still needed to get gpu acceleration
  1. now, my firefox needs longer to start, but most about:config settings will be maintained for me. i only have to maintain a small subset of settings (~ 40 settings).

the most annoying thing was:
by default, most settings you adjust in the firefox GUI settings (hamburger menu --> preferences) are reset after you restart firefox. this means that you have to find the corresponding about:config setting (which can have a strange name) and add it to your ~/.mozilla/firefox/<your ff profile name here>.default/preferences/my-custom-override-user.js file.
some settings have to be done in firefox' GUI settings and do not have a corresponding about:config setting.

1 Like

I'm using the ghacks file since several years, before it was on github and have therefore created a comparison scripts some time ago:

mkdir tmp
for var in "$@"
	sed '/^user_pref/ !d' $var > tmp/$var.tmp
	sed 's/;.*/;/' tmp/$var.tmp > tmp/$var.tmp.sed
	awk '{ sub("\r$", ""); print }' tmp/$var.tmp.sed > tmp/$var.tmp.awk
	sed '/^user_pref("ghacks_user.js.parrot"/ d' tmp/$var.tmp.awk > tmp/$var.tmp.sed
	tr -d '[:blank:]' < tmp/$var.tmp.sed > tmp/$var.tmp.tr
	sort tmp/$var.tmp.tr > tmp/$var.sort
    echo "$var"
comm -3 tmp/$1.sort tmp/$2.sort > $1-$2.diff
rm -r tmp

Might be useful for some and surely can be optimized.
Not very useful anymore since they are on github.

1 Like

@Onf It goes over this scripters head when I see sed ... :wink: Though I have used bits of script written by others, in my own simple scripts that are beyond what I know how to write (I'm good at jigsaw puzzles). :wink:

Thanks for posting it, hopefully it is useful to some people. :slight_smile:

i only have ~ 40 settings in my custom settings file and about ~30 settings are from the ghacks' file.
this means i have to maintain those changes (and check regularly, wether they still exist or the syntax has been changed). but all settings are numbered and therefore easy to find in the ghacks file.

i do not mind to maintain those 30 settings, but writing a script, which compares both files (with the "comm" command) is a great idea.

It was even windows proof in that time because none of them are linux users :slight_smile:

1 Like

i have added my file to the post above.

my-custom-override-user.js file contains my own about:config settings at the bottom. at the top, i copy-and-pasted the settings from ghacks' user.js file and adjusted them to my liking. the most time was spent to find the settings, which bothered me. this needed a lot of trial-and-error while reading/searching the ghacks' user.js file.
it was an interesting read and i definitely recommend it!

but i think my my-custom-override-user.js file is only of limited use to you, because your firefox settings are different from mine.

1 Like

Thanks excalibur, I'll use your personal overide-users.js file as a guide & make it my own - in time...

Good stuff.

1 Like

New 'HTTPS Only' mode, FF 76.


Mozilla Firefox 76 is getting a new 'HTTPS Only' mode that automatically upgrades all HTTP requests to HTTPS when browsing the web and blocks all connections that can't be upgraded.

When connecting to an HTTP site, your connection is not encrypted and your ISP and programs running on the computer can monitor the data being sent over it. This includes your passwords, credit card info, and other sensitive information.

Due to this, it is always recommended that you only use HTTPS sites, which encrypt the connection between the browser and the web site.

While most web sites are now using HTTPS, some continue to only use the HTTP protocol and Mozilla is adding a new feature that will automatically upgrade your connection to HTTPS or block you from visiting the site.

This feature is currently available in the Firefox 76 Nightly builds and can be enabled by toggling the dom.security.https_only_mode setting to 'True' in about:config.

I tested this today in my FF Nightly 76, using https://neverssl.com/, comparing behaviour to my longterm add-on "HTTPS Everywhere". It seems to work fine, hence i've now disabled this AO in favour of this new setting.

1/4/20 Update:
Well bummer. This new setting has been going well, til i discovered a specific site incompatibility today. Given that the Strayan Government is to IT capability & competence as [to repurpose the old aphorism] fish are to bicycles, two governmental sites important to me

do not even load when that new setting is active.

The article i linked, above, said

Similar to the HTTPS Everywhere addon, when Firefox's HTTPS Only feature is enabled the browser will automatically change any HTTP requests to HTTPS and if unable to connect will display an alert asking if you wish to continue connecting via HTTP.

The part i emphasised there with bold italics simply does not work for these two sites; there's no way for me to tell this setting to make exceptions for these sites. At least with the AO HTTPS Everywhere it is easy to make individual site exceptions. Either this part of the new FF setting is broken, or... these Strayan gov't sites are so very badly designed that Mozilla had not conceived of such possible incompetence when they designed their new setting.

Sassen frassen rassen.

1 Like

Forum kindly sponsored by