See the revision history at the end (if you make it that far).
You’re aware that companies like Facebook, Google, YouTube and even your ISP are spying on you, even if you may not be aware of how they’re doing it. You’re concerned about this invasion of privacy, but aren’t sure what you can do about it.
Welcome to the ‘for dummies’ edition of the Firefox Configuration Guide for Privacy Freaks and Performance Buffs. Some of us aren’t basement dwelling tech geeks yearning to fiddle around with gobs of obscure web browser settings. It is especially for you that The Firefox Privacy Guide For Dummies! was created.
The goal here is to provide a simple guide (to the extent that’s possible) which will yield a privacy enhanced configuration of the Firefox web browser whilst breaking as few websites as possible. That said, be prepared to put a little more effort into your surfing activities, at least until the jello gels. The pay-off will be a much faster, cleaner web that is less able to track and profile you. Note i said “less“, not “not“.
IMPORTANT: If you incorporate suggestions made in this guide, please subscribe to the Firefox category on the subscription page. This article is updated fairly often and it’s the best way to stay informed.
Catching the Fox
This guide isn’t going to work spectacularly for any web browser other than Firefox and it’s the standard release version you want, so if you don’t have it, get it (if you run a Linux-based operating system, look in your package manager). Since it’s privacy we’re interested in we’re too smart to be goofing around with Google Chrome or Microsoft Edge, though if you have an
inferior alternative browser installed you could certainly retain it as a backup.
Profiling the Fox
Once Firefox is installed, run it. After the little bugger calms down, enter
about:profiles in the address bar (you can call it the “location” bar or the “awesome” bar – i call it the “address bar”), then press your ‘Enter’ key to load that address. This is where Firefox keeps a list of all your profiles. Profiles are where most of your settings, bookmarks and lots more junk gets stored.
You can have as many profiles as you want, but by default there will be just one named ‘default’. We need more, so click the ‘Create a New Profile’ button and name the new profile ‘privacy’. You can change the name later, but leave it be for now.
Firefox will now annoy you (and let it keep annoying you for the duration of our time together) by asking which profile you want to load every time you start it and you should typically choose your ‘privacy’ profile.Pro Tip
There are many ‘about:’ pages in Firefox, but not all are accessible from the various menus. To see some of those that aren’t, enter
about:about in the address bar, but be careful what you do in there!
Training the Fox
If you’ve started Firefox with your new ‘privacy’ profile, you’ve already done a bad thing. It’s OK, we’re still on (reasonably) good terms, but don’t test me like that again. Now we have to fix the mess you’ve made, so restart Firefox and when you see the window used to choose which profile you want to load, delete your privacy profile and all the files in it when you are prompted, then create a new privacy profile from
If you don’t want Firefox whining about which profile to load every time it starts, you can select your preferred profile and check the ‘Don’t ask at startup’ option, but don’t do that yet either! Another way is to create a shortcut to load any profile you want.
For more about profiles, see Use the Profile Manager to create and remove Firefox profiles and Multiple Firefox profiles.
For more about penguins being tickled, go here.
If you’re running Windows you will need to unhide file extensions, and i suggest you keep them unhidden.
Start Firefox and load your ‘default’ profile, then go to the ghacks-user.js GitHub repository. We need their prefsCleaner.bat (Windows) or prefsCleaner.sh (Linux) file and the updater.bat (Windows) or updater.sh (Linux) file. Now before you mess up, hear me out: Click on the file names in the repository, then click the ‘Raw’ button, then press Ctrl+S to save the files to your desktop. Failing to heed my advice may cause me to torture a small animal in your name. Now if you’re one of those smart-asses who knows something about something, you may already know we’re going to need that user.js file too, but don’t get ahead of me sugar-britches!
Next, go to the labwrat/Firefox-user.js GitLab repository and download the user-overrides.js file to your desktop by clicking the file name:
… then the little cloud-looking icon:What the hell are these 'user-whatever' files anyway?
It’s where we’re going to store a truck load of browser settings. Just know you aren’t cool if you don’t have them.
Now you’ll need a decent code editor with syntax highlighting. If you’re running Wintendo (that’s my derogatory name for “Windows”), PSPad is nice, simple and free. If you’re running Linux you’ve already got something installed. Poke around.
What you need to do now is open that user-overrides.js file in your code editor and read the comments in it Very Carefully! Every single little thing you could ever possibly need to know is in there (except whatever i forgot to put in there).
Now that you’ve sifted through that convoluted mess (go you!), open Firefox’s
about:profiles page again. Note that user profiles and web cache are stored in separate folders, thus why you may see more than one directory path for each profile. In the row labeled ‘Root Directory’ under your ‘privacy’ profile, click the ‘Open Directory’ button and then kill Firefox.
In your file manager you may have noticed that the folder containing your ‘privacy’ profile actually has a longer name with a bunch of gobbledygook in front of ‘profile’. Ignore that like you ignore your goofy neighbor with the tinfoil wallpaper. If you see a prefs.js file in there, then you’re probably in the right place. Next, grab those files from your desktop you pirated earlier and stick ’em in your ‘privacy’ profile folder where the prefs.js file resides.
Now don’t start Firefox with your ‘privacy’ profile anymore until i say it’s OK! OK?Pro TIp: DIY furniture
This looks fun…
Now we need to run that updater script. How to do that depends on whether…...you're using Linux
You will need to make those .sh files executable. You could try meditation or sacrificing a chicken, but it’d probably be quicker to just right-click on each of them to open the file properties dialog window and on the ‘Permissions’ tab, click the ‘Is executable’ (or similar) checkbox. If your file browser doesn’t have such an option, see How do I run .sh files?.
We need to run that updater.sh script from a terminal, so open one and change the directory to your ‘privacy’ profile directory. In the example below you’ll need to change ‘gobbledygook’ to match the correct name of your profile folder (and don’t include the ‘$’ sign):
$ cd ~/.mozilla/firefox/gobbledygook.privacy/
Let’s double check to make sure we’re in the right directory by using ‘ls’ to list the directory contents:
The output should be…
prefsCleaner.sh times.json updater.sh user.js user-overrides.js
…and possibly those couple of ‘dot’ files.
If all looks good, run the updater.sh script by preceding the file name with a dot and a slash:
Or…...or you're using Wintendo
To run that updater.bat script, hold down the Shift key and right-click in an empty space where the file is, then select “Open Command Window Here”. Enter the name of the script and hit Enter. If you have trouble, see How to Run a BAT File on Windows: 13 Steps (with Pictures).
The updater script will spit out some introductory stuff and then prompt you to continue. If by chance everything in the universe is aligned just so, and you’ve followed the directions, the script will download a fresh copy of the ‘ghacks’ user.js file and then append the contents of your user-overrides.js to it just like it says on the tin.
Fattening the Fox
We’re going to go to the Firefox Add-ons website and No. Where. Else. (except here) because we first need to install some protection. Start (or restart) Firefox and select your ‘privacy’ profile (yes, it’s OK now), then come back here.
One at a time, middle click each of the links below to open their pages in a new tab, then Read What Their Pages Say and install them. Firefox will display some notices prior to installation and you can just click your way through to allow the install just like you click your way through all those ‘Terms of Service’ agreements you never read. Don’t make a habit of installing add-ons that way though or you’ll be sorry!!! If any of the links are dead, let me know and don’t install something you think is equivalent.
- Clear URLs by Kevin R.
- CSS Exfil Protection by Mike Gualtieri
- Decentrwantaleyes by Thomas Rientjes
- Don’t touch my tabs! (rel=noopener) by Jeroen Swen
- First Party Isolation by freddyb
- HTTPZ by claustromaniac
- Privacy-Oriented Origin Policy (POOP) by claustromaniac
- Site Bleacher by wooque
- uBlock Origin by Raymond Hill
Once you have all those installed, find the ‘Customize‘ option in one of the Firefox menus or by right-clicking on a toolbar somewhere and drag the toolbar icons for your add-ons to wherever you like on the toolbar. ClearURLs, CSS Exfil Protection, Decentraleyes, Don’t touch my tabs!, HTTPZ and POOP can be dragged to the overflow menu since you will rarely be interacting with these.
Neutering the Wild World Web (and the Fox)
We need to configure some of the add-ons we installed, but first a word to the wise: Unless you know what you’re doing (and you probably wouldn’t be here if you did), configure these add-ons as suggested.
To configure your add-ons, load
about:addons in the address bar or find the ‘Add-ons’ menu item in one of the Firefox menus.
Clear URLs: Click the toolbar button and make sure the ‘Filter’ and ‘Badges’ options are enabled. The rest are optional.Pro Tip
Remember the good ol’ days when every program had a menu toolbar with stuff like File and Edit and Help on it? Press your Alt key.
Decentraleyes: Click the ‘Options’ button and select the following options where [X] indicates the option is enabled:[X] Display injection counts on icon
[_] Block requests for missing resources
[X] Disable link prefetching
[X] Strip metadata from allowed requests
Exclude domains from inspection (leave this empty)
Privacy-Oriented Origin Policy: Click the ‘Options’ button and configure it like so:
Set the ‘Global mode’ to ‘relaxed’.
In the ‘Exclusions’ section, enablee ‘Exclude root domain matches’, then paste the following code in the big text box below that. It’ll come in handy if you ever switch POOP to its ‘aggressive’ mode:
In the ‘Other’ section, make sure ‘Spoof cross-origin Referer’ is enabled, and don’t blame me for the spelling. Long story.
uBlock Origin: This is a huge biggie! I know, supposed to be the ‘for dummies’ guide and you’re not a quantum field propulsion scientist, but you really have to learn how to use uBlock Origin (uBO). The good news: It’s got a ‘dummy’ mode and it’s enabled by default!
Although there’s an ‘Options’ button for uBO in Firefox’s
about:addons page, let’s ignore that and get accustomed to working with this powerful little doohickey from its toolbar icon (that little red shield thingy). Click that, then click the ‘dashboard’ icon.
Make sure the ‘Settings’ tab is selected at the top, then enable the following options where [X] indicates the option is enabled:[_] Hide placeholders of blocked elements
[X] Show the number of blocked requests on the icon
[_] Make use of context menu where appropriate
[_] Disable tooltips
[_] Color-blind friendly
[_] Enable cloud storage support
[_] I am an advanced user (required reading)
DO NOT select the ‘I am an advanced user’ option! Don’t look at it. Don’t think about it. Don’t think about looking at it … at least not until you read all that ‘required reading’ stuff and understand fully what uBO is, does, how to configure it, and how easy it is to break the interwebs if you don’t know what you’re doing. Did i scare you? Totally intentional.
In the ‘Privacy’ section, enable the following options where [X] indicates the option is enabled:[X] Disable pre-fetching
[X] Disable hyperlink auditing
[X] Prevent WebRTC from leaking local IP addresses
[X] Block CSP reports
In the ‘Default behavior’ section, enable the following options where [X] indicates… You know.[X] Disable cosmetic filtering
[_] Block media elements larger than kB
[_] Block remote fonts (enable this later after you read about its purpose)
Now switch to the ‘Filter lists’ tab and enable only those listed below. Because this section is long i’ll list only the filters we will enable rather then listing all the check boxes. You may have to expand each section by clicking those little ‘+’ things to reveal all the options:Why does he say 'WE' when 'I' am the one doing all the f'n work?!
Plausible deniability. If i screw something up that causes your computer to implode, it’s your fault.
Beginning at the top, WE want to enable the following:
Auto-update filter lists
Ignore generic cosmetic filters
In the ‘Built-in’ section, enable all the filters with the exception of ‘uBlock filters – Experimental’.
In the ‘Ads’ , ‘Privacy’ and ‘Malware domains’ sections, enable all the filters.
In the ‘Annoyances’ section, enable the following:
Adguard’s Annoyance List
Fanboy’s Cookie List
In the ‘Multipurpose’ section, enable these:
Dan Pollock’s hosts file
Peter Lowe’s Ad and tracking server list
Don’t worry about the ‘Regions, languages’ section unless you browse sites in those languages.
Training the Foxineer
If you’ve used Firefox before, there’s going to be some changes. One of them is that you’ll be searching from the search bar (or a web page that isn’t Google hopefully) instead of the address bar. The reason for this is a little creepy, suffice to say it’s a privacy/security thing. Live search suggestions are also disabled (also a creepy privacy/security thing), though the search bar will still suggest all kinds of other things, such as stuff from your history, bookmarks and previous searches for ‘girls with big…’.
If you’re not already using your ‘privacy’ profile, restart Firefox and load it up, then middle-click this link to open it in a new tab. Click some of the colors on the color swatch and…… well that was boring, but WAIT! Now click the uBlock Origin button on your toolbar and in the lower right corner there’s an icon that looks like
Clicking that button will refresh the page at www.w3schools.com and this time your browser will allow JS to run for the w3schools.com domain. The page will now look very different and this time when you click on the color swatch, awesome things will appear that will surely keep you busy for hours on end (like that damned triangle puzzle-peg thingy in every Cracker Barrel).
Now it’s time for me to make another cup of nice hot coffee from some freshly ground beans, but you don’t get a break! You’re going to learn how to use uBlock Origin. You’re going to read this and this and, finally, this, but only up to the ‘Medium mode’ part.
What to do when the Fox bites
So my advice is to use uBlock Origin to enable the functionality you need for websites which you trust. If you cannot get a website to cooperate by making site specific changes in uBlock, you can always spin-up a fresh, empty profile, but understand that you will now be at the mercy of a completely default Firefox configuration with all of our extra privacy protections removed. For websites you don’t trust, don’t disable any protections ever and, secondly, why are you visiting them? Porn? Warez? Forget it. Seriously.
The point here is to not disable any protection globally for all websites when using your daily-driver ‘privacy’ profile. If you have to adjust something for a particular website which you trust, fine, but use other profiles if you need to make extensive changes.
Another problem that will probably creep up at some point is a website not saving settings that you wanted to save. This is the fault of the Site Bleacher add-on which deletes most of what websites store in your Firefox profile, including ‘cookies’. If you want to save site settings or preserve the ability to log-on automatically, then click the little bleach bottle icon on your toolbar and whitelist the website. I would not suggest whitelisting any privacy-hating social media site or mainstream search websites like Google or Yahoo.
The Fox hole
Congratulations! You’ve slogged through every snake infested swamp i’ve placed in your path … almost.
Even with everything we’ve done, you’re still vulnerable to being tracked and profiled, however you’re in better position then you were, except for one little problem. Know what it is?answer inside...
Your Internet Service Provider! Did you forget already???
At the very least your ISP can tell what websites you visit, what files you download, when you’re surfing the web and when you’re not. They may even inject ads, malware and other junk in your data stream. The solution: Hijack your neighbors unprotected WiFi and… Kidding! Listen, you and i have gotten to know each other throughout this difficult ordeal. We’re kinda like buddies now. Kinda. And i can already tell you’re ethics are of a higher caliber than
One solution to the problem is a Virtual Private Network (VPN). Ever wanted to be in 30 places at once?
A VPN works by encrypting the traffic between you and another computer run by the VPN service provider which we’ll call an ‘exit node’. That exit node could be anywhere in the world. From there your traffic flows as normal to whatever website you want to visit (that has good kitty videos). That website then sends the kitty vid you clicked on back to the exit node thinking IT is YOU, but alas, it is NOT! The video then secretly makes its way back to you through this secret tunnel which was secretly established between you and the exit node. So far as the website is concerned, it doesn’t know your real physical location. Ever annoyed by that galactically stupid “Sorry, this video is not available in your country” crap? Pfff. And as far as your ISP is concerned, all it sees is gobbledygook that looks like Braille to a blind pet rock with no fingers.
There are truck loads of different VPN service providers and it seems not a lot take customer privacy all that seriously, however i think both NordVPN and AirVPN are good companies that offer a good service at a good price. I’ve used both and i like both. Both have servers (think ‘exit nodes’) all around the globe and neither restrict any protocols (think ‘BitTorrent’). Both offer client applications that you can install to make using their service stupid simple. If you’d prefer to pick a VPN provider yourself however, i recommend you visit That One Privacy Site and browse the fantastic spreadsheets that dude puts together. Another good resource is TorrentFreak’s annual VPN reviews. Here’s the one for 2018.
The downside? Though VPN services are cheap, it’s still an additional expense. VPN exit node IP addresses can become blacklisted which could cause problems sending mail and accessing certain services on the web, however in my experience this hasn’t often been an issue and, even if is is, it’s usually just a couple of mouse clicks to switch exit nodes. Latency (the time between the mother-in-law jumping in front of you and your realization that you need to slam on the breaks) and bandwidth (how many tweets per second you can send to your friends notifying them of the “accident”) will be affected, but in my experience the difference is usually minimal. In short, i think the pluses far outweigh the minuses, especially for us privacy conscious folks. That said, you can never trust any VPN service 100%, but any reputable one should be OK for general web surfing and it should certainly prevent your ISP from spying on you.
WHAT THE FOX!
So now you’re all smitten thinking you’re invincible and ready to hack NASA to see if aliens really built hotels on the back of the moon (they did, pretty sure). You’re not, but you’ve taken one, small step for man, and on….. Truth is, there’s probably far more vectors for attack than even i know about, so don’t get all uppity. Perfect privacy for us casual web users is a pipe dream and that wasn’t the goal here anyway. We’ve covered a few important bases that will help to prevent websites (and your ISP) from tracking and profiling you, but not all of them. Remember that when you’re creating fake profiles on Facebook to stalk your ex (you should probably use Tor for that).
After you’ve taken plenty of time to get comfortable with your new Firefox configuration, i suggest reading everything in the uBlock Origin wiki and learning how to use it in its advanced mode. And after that, it’s the Firefox Configuration Guide for Privacy Freaks and Performance Buffs.
Be safe. Be ethical. And if you need help (after you’ve tried to help yourself), leave a comment.
IMPORTANT: If you incorporate suggestions made in this guide, please subscribe to the Firefox category on the subscription page. This article is updated fairly often and it’s the best way to stay informed.
RevisionsClick to expand...
- first (pre) release
- added more info about using the user.js updater and prefsCleaner scrips
- many small changes and polishing
- polishing, clarifications
- clarified a lot of stuff that may not have been clarified clearly enough
- eliminated the ‘relaxed_user-overrides.js’ file – the user-overrides.js is now used for both the advanced and dummy guides
- updated the user-overrides.js file
- lots of minor edits, corrections
- clarified info regarding the downloading of the configuration files
- added better description and screen-caps for how to download user-overrides.js
- minor edit
- minor edit
- added HTTPZ
- added Site Bleacher and associated information
- removed temporary profile info
- lots of minor edits