uBlock Origin is the most powerful and versatile ad blocker available. Unfortunately, the design is also a little obscure. This guide will explain the ins and outs of uBlock Origin’s advanced features, including adding custom lists, creating custom user filters, setting up dynamic blocking rules, and adjusting rules for uBlock Origin on specific domains with the advanced user interface.
Installing uBlock Origin
A quick warning: uBlock Origin is not and has never been connected to ublock.org or the uBlock extension.
Setting Up Advanced Options
1. Click on the uBlock Origin extension’s icon.
2. Click the Settings icon.
3. Tick the box next to “I am an advanced user.”
Once you have advanced settings enabled, you will reveal a new pane for dynamic filtering.
Dynamic Filtering Rules
Filtering is handled in uBlock Origin at two levels: globally and locally. Global rules apply to all URLs, while local rules are for the current URL only.
The first column specifies the URL that the content originates from.
The second column indicates global settings, which are inherited by the specific URLs.
The third column indicates local rules for the current URL.
If you mouse over a box in the “global” or “local” rules column, you’ll see red, grey, and green thirds.
Click on the red third to set a blocking rule for the associated content type. The green third permits the corresponding element. The grey third sets a “noop” rule, which stands for “no operation.” This setting will prevent uBlock Origin from taking action on the associated content. Setting a “noop” filter will override global settings for a specific URL.
At the top of the window are content types. These can be blocked at the global and URL-specific level. These are blunt filters but useful nonetheless.
Under the content types are the URLs loaded on the current webpage. A plus icon indicates that content from that URL is being permitted. A minus icon indicates that content from the URL is being blocked. You can sometimes see a mixture of pluses and minuses for one URL, which indicates that some of the content is permitted while other content is blocked.
You can also look at the color coding next to the URL. Green indicates that content from that URL is permitted. Yellow indicates that some content from that URL is blocked. Red indicates that all content from the URL will be blocked.
Settings an inherited based on specificity. For example, global content type rules have the lowest priority. Rules set on filtering lists have a medium priority ranking: they can override global settings, but not URL-specific user settings. The highest priority is given to URL-specific local rules set by the user.
Saving and Reverting Filtering Rules
Changes you make to filtering rules are automatically reset the next time you visit a website. To make your settings permanent, click the lock icon.
To revert to the last saved state, click the eraser icon.
Setting Smart Dynamic Rules
In general, it’s a good idea to block third-party scripts and frames by default. This protects both your privacy and your eyeballs. It can also break websites, so keep a quick finger on the “noop” override.
To block third-party scripts and frames, click the red third of the box next to each in the global column. This will automatically block all third-party scripts and frames on every URL.
If a website breaks, you can set a “noop” override to permit third-party scripts and frames. Click the grey box in the local rules column to set a “noop” rule and override the global blocking rule for this URL.
Alternatively, you can also hunt down the URL of the blocked resource and permit that resource specifically. This is easiest with the third-party frame has a clear origin, like a YouTube or Twitter embed. If you permit those frames globally and save the rule, those URL-specific filters will trump the global content type filters.
By balancing global and local filters with content type filters, you can set sensible online privacy settings while permitting content you don’t find as objectionable.
Viewing and Editing Dynamic Rules
To view the filters that you’ve already set, look at uBlock Origin’s Settings page under the My Rules tab. Here, you’ll see the rules you’ve set in two lists. The list on the left is for permanent rules and the list on the right is for temporary rules, as indicated by their headings.
The text contents of the right-most temporary rule column can be edited directly with the cursor, mouse, and keyboard. If uBlock Origin detects a difference between the two columns, you’ll see contextual buttons labeled “Revert” and “Commit” that offer the option to sync the columns with one another. Click “Revert” to copy the unchanged contents of the permanent rule list to the temporary rules list. Click “Commit” to copy the change from the temporary rules list to the permanent rules list.
You’ll notice that the text formatting of the rules follows specific conventions. The syntax is like so:
[parent site hostname] [element hostname] [request type] [rule]
If you follow the dynamic filtering rules syntax guide on uBlock Origin’s GitHub page, you can change and set rules with text strings directly from this pane.