See the change log at the end for a complete revision history.
First and foremost, use only uBlock Origin (uBO) by Raymond 'gorhill' Hill (uBlock Origin page on the Firefox Add-ons website). There are many other clones and wannabes out there and you do not want to be using any of them.
Following are my personal preferences for setting up uBlock Origin. This configuration is primarily intended to be used with either The Firefox Privacy Guide For Dummies! or the Firefox Configuration Guide for Privacy Freaks and Performance Buffs. Keep in mind these are my personal preferences and by no means do i claim them to be the best possible for every use case, however i like to think they are generally sensible given i've been using and tinkering with uBO for quite a while.
If you are following The Firefox Privacy Guide For Dummies!, it is essential that you read the uBlock wiki with the exception of the Advanced-user-features section. If you are following the Firefox Configuration Guide for Privacy Freaks and Performance Buffs, it is essential that you read the Advanced-user-features section as well. If you are not following my guides and not using uMatrix, i would highly suggest enabling the advanced mode option in uBO in order to leverage its dynamic filtering capability and learn how to use it.
Once uBO is installed, click its toolbar icon to reveal its popup user interface, then click the little sliders icon to reveal the "secret" Dashboard (i say "secret" because apparently quite a few people don't know it exists). These are the settings i recommend:
'Settings' tab settings
Settings not shown here are optional.
|Setting name||'Dummy' guide settings||Advanced guide settings|
|Hide placeholders of blocked elements 1||disabled||optional|
|Show the number of blocked requests on the icon||enabled||optional|
|I am an advanced user 2||disabled||disabled|
|Disable hyperlink auditing||enabled||enabled|
|Prevent WebRTC from leaking local IP addresses||enabled||enabled|
|Block CSP reports||enabled||enabled|
|Disable cosmetic filtering||enabled||enabled|
|Block media elements larger than  KB||disabled||optional|
|Block remote fonts 3||disabled||disabled|
 If you are new to uBO and content filtering, you should not enable this option. Not enabling it will sometimes provide a visual indication when something is blocked in a webpage in the form of an empty space.
 This option should not be enabled if you are using uMatrix to handle dynamic filtering. If you are following the The Firefox Privacy Guide For Dummies! and not using uMatrix, then it may be enabled only after reading the Advanced user features section of the uBO wiki.
 I do not suggest blocking remote fonts using this option. Not only will doing so uglify many websites, but there is a CSP issue to consider. See the 'My filters' tab section below for an alternative.
<noscript> HTML tags. The problem with the latter is that some page elements that might have been displayed had the
Next we want to enable the 'I am an advanced user' option after which a little gear icon will appear to the right of the "I am an advanced user" text. Click the gear icon to display some advanced settings and change
yes. Although there is no guarantee, uBO will attempt to delay network requests until it is fully loaded. This is useful if you exit Firefox with open tabs and have it set to restore your previous tabs on restart. If you are following The Firefox Privacy Guide For Dummies!, return to the Dashboard and disable the 'I am an advanced user' option.
'Filter Lists' tab settings
|Auto-update filter lists||enabled|
|Parse and enforce cosmetic filters||disabled|
|Ignore generic cosmetic filters||enabled|
|uBlock filters – Badware risks 1||enabled|
|uBlock filters – Privacy||enabled|
|uBlock filters – Resource abuse||enabled|
|uBlock filters – Unbreak||enabled|
|AdGuard Mobile Ads 2||disabled|
|AdGuard Tracking Protection||disabled|
|Fanboy’s Enhanced Tracking List||enabled|
|Malware Domain List||enabled|
|AdGuard Social Media||disabled|
|uBlock filters – Annoyances||enabled|
|Dan Pollock’s hosts file||disabled|
|Peter Lowe’s Ad and tracking server list||disabled|
 Optional for Linux users
 Enable if using Firefox on a mobile device
 Regarding EasyList and EasyPrivacy, i tend to prefer these lists, however as of 7-Jan-2020, there is a rather critical issue with Firefox involving Content Security Policy (CSP) header injection and add-ons and both of these lists use CSP injection. For more information, search for "CSP" on the FAQ: Firefox Hardening page.
Don't worry about the 'Regions, languages' section unless you browse sites in languages other than English in which case you'll want to enable those languages.
As of this writing you can find over 12 million filter lists on the FilterLists website, however i strongly advise to be very careful about what ones you add, if any. In my experience the default filter lists offered by uBO are quite sufficient for general web browsing and adding more will use more memory, slow things down and potentially break more webpages.
'My filters' tab settings
Instead of blocking remote fonts globally, i suggest adding the following to the 'My filters' tab which will allow 1st party fonts globally while blocking all 3rd party fonts except for the domains you specifically allow. Note that lines starting with an exclamation mark (
! ) are comments and are ignored by uBO:
! fonts: the following line will allow 1st party fonts globally while blocking all 3rd party fonts:
! to allow 3rd party fonts per domain:
! to allow 3rd party fonts for additional domains:
For more on font filtering see Blocking Web Fonts for Speed and Privacy | InfoSec.
'My rules' tab settings
If you are using the LocalCDN add-on you will need to add some rules to the 'My Rules' tab in the Dashboard if you enable dynamic filtering (advanced mode). The rules can be found in the preferences section of LocalCDN from where you will copy them, then paste them on a new, blank line in the 'Temporary rules' section of the 'My Rules' tab after which you need to save and commit the changes. When adding the rules, be sure to remove any conflicting rules for the same domains if there are any (there won't be if you're starting fresh).
If you are following the Firefox Configuration Guide for Privacy Freaks and Performance Buffs, i suggest making the following changes:
no-scripting: behind-the-scene true
no-large-media: behind-the-scene true
behind-the-scene * * block
behind-the-scene * 1p-script block
behind-the-scene * 3p block
behind-the-scene * 3p-frame block
behind-the-scene * 3p-script block
behind-the-scene * image block
behind-the-scene * inline-script block
If you are running uBO with the 'I am an advanced user' option selected in order to enable dynamic filtering, i recommend setting the following rules to block (red) in the global rules column and then allowing (noop/grey) these resources on an as-needed basis per domain in the local rules column:
- article first published
- added info regarding
- changed value of
- separated settings according the Firefox guide being followed
- added a table of contents
- misc. edits
cnameAliasListfrom uBO settings (depreciated)
- minor edits
- updated filter list settings
- minor edits
- removed Adblock Warning Removal List (thank you 'someone')
- changed 'I am an advanced user' setting from 'enabled' to 'disabled' for the 'Advanced guide settings' - i don't know why i ever had this set to 'enabled', especially for those using uMatrix, which is the case in the advanced guide
- removed filter lists no longer included with newest version of uBO - thanks to 'theltalpha'
- minor edits
- replaced reference to Decentraleyes with LocalCDN and added additional information