Recent changes to this guide are listed at the end of the document.
First and foremost, use only uBlock Origin (uBO) by Raymond 'gorhill' Hill (here's the uBlock Origin page on the Firefox Add-ons website). While there may be some legitimate forks, there are also many ripoffs out there, including one named 'uBlock', and i would highly recommend avoiding them.
Following are my personal preferences for setting up uBlock Origin. There are no "best" settings since every use case is different, however i like to think they are generally sensible settings to start with. The configurations in the 2nd and 3rd columns of the table are intended to be used with the The Firefox Privacy Guide For Dummies! and the Firefox Configuration Guide for Privacy Freaks and Performance Buffs, respectively. In the former case the advanced mode option is disabled because i thought it might be too overwhelming for followers of the 'dummy' guide.
Regardless of which guide you are following, it is essential that you read the uBlock wiki with the exception of the Advanced-user-features section if uBO's advanced mode will not be enabled. If you are not following either guide i would suggest enabling the advanced mode option in order to leverage its dynamic filtering capability, as well as reading the Advanced-user-features section of the wiki.
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 some users don't know it exists). Following are the settings i recommend:
Settings not shown here are optional.
||'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||enabled|
|Disable hyperlink auditing 3||disabled||disabled|
|Block CSP reports||enabled||enabled|
|Uncloak canonical names||enabled||enabled|
|Disable cosmetic filtering||enabled||enabled|
|Block media elements larger than  KB||disabled||optional|
|Block remote fonts 4||disabled||disabled|
1 - If you are new to uBO and content filtering, you should probably not enable this option. Leaving this option disabled will sometimes provide a visual indication when something is blocked in the form of a placeholder where the object was, thus letting you know that something was blocked.
2 - This option may be enabled only after reading the Advanced user features section of the uBO wiki.
3 - This option can be left disabled as long as
dom.security.https_only_mode is enabled in prefs.js, or in user.js or user-overrides.js if you're using the 'arkenfox' user.js, otherwise it should be enabled.
4 - Instead of blocking remote fonts globally and then allowing them per-site, you can automatically allow all 1st party fonts while blocking only 3rd party fonts. See the 'My filters tab' section below for more information. Novice users, or those that simply don't want to fool with filters for unblocking a 3rd party font needed for a given domain, may find it easier to set this to 'enabled' and then allow all remote fonts (1st and 3rd party) as needed from the uBO Dashboard.
<noscript> HTML tags. A potential problem with this is that some page elements that might have been displayed had the
'Filter Lists' tab
|Auto-update filter lists||enabled|
|Suspend network activity until all filter lists are loaded||enabled|
|Parse and enforce cosmetic filters||disabled|
|Ignore generic cosmetic filters||enabled|
|uBlock filters – Badware risks||enabled 1|
|uBlock filters – Privacy||enabled|
|uBlock filters – Resource abuse||enabled|
|uBlock filters – Unbreak||enabled|
|AdGuard Mobile Ads||disabled 2|
|AdGuard Tracking Protection||disabled|
|AdGuard URL Tracking Protection||enabled|
|Block Outsider Intrusion into LAN||enabled|
|Online Malicious URL Blocklist||enabled|
|Phishing URL Blocklist||enabled|
|PUP Domains Blocklist||enabled|
|AdGuard Social Media||disabled|
|EasyList Cookie||disabled 3|
|uBlock filters – Annoyances||enabled|
|Dan Pollock’s hosts file||disabled|
|Peter Lowe’s Ad and tracking server list||enabled|
1 - Optional for Linux users, highly suggested for non-technical Windows users
2 - Enable if using Firefox on a mobile device
3 - Enabling this list will hide a lot of those idiotic cookie notices however this list is already included in the Fanboy’s Annoyance.
4 - This list will shorten links - see here for further information
5 - This list eliminates the need for the Clear URLs add-on - for a description see this
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.
There are millions of additional filter lists available for uBO, however i strongly advise you 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 cause more conflicts and breakages.
'My filters' tab
You might wish to disable the 'Block remote fonts' option on the 'Settings' tab add the following to the 'My filters' settings instead. Depending on which line you uncomment (remove the ! ) you can allow all 1st party fonts while blocking all 3rd party fonts, or block all 3rd party fonts except for a single domain, or block all 3rd party fonts except for multiple domains. As written, the code below will allow all 1st party fonts while blocking all 3rd party fonts. All lines beginning with ! are comments and are not read by uBO. Only uncomment one line.
! >>> UNCOMMENT ONLY ONE LINE AND EDIT IT AS NECESSARY <<< ! uncomment the line below to allow 1st party fonts + block 3rd party fonts (default): *$font,third-party ! uncomment the line below to allow 1st party fonts + allow 3rd party fonts for a single domain (example.com): !*$font,third-party,domain=~example.com ! uncomment the line below to allow 1st party fonts + allow 3rd party fonts for multiple domains: !*$font,third-party,domain=~example.com|~example2.net
'My rules' tab settings
If you are following the Firefox Configuration Guide for Privacy Freaks and Performance Buffs or otherwise using uBO on its own, and you have enabled the 'I am an advanced user' setting, you can optionally replace the default
behind-the-scene rules on the 'My rules' tab with the the following, however understand that these filters can break some websites for which you may need to add exceptions by using uBlock's logger feature:
no-large-media: behind-the-scene true 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 using the LocalCDN add-on you will need to add some rules to the 'My Rules' tab in the uBO Dashboard. The rules can be found in the preferences section of the LocalCDN add-on from where you will copy the rules specific to uBlock and paste them on a new, blank line in the 'Temporary rules' section of the 'My Rules' tab. Make sure 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 running uBO with its 'I am an advanced user' option enabled in order to activate dynamic filtering, i recommend setting the following rules in the 'Global rules' column of the popup interface:
If you decide to block '3rd-party' (all 3rd party content) globally, uBO will not be able to update its filter lists until you create a 'noop' rule for the Filter Lists settings page which you can do from the dashboard pop-up interface while viewing the Filter Lists page.
- minor edits
Note that both reader and my comments, while they may have been accurate at the time, might not be inaccurate today. This is a highly dynamic environment so please verify the accuracy of comments should you wish to utilize it. Failing that, ask me and i'll give it a crack.