Table of Contents
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
In uBlock Origin (uBO), strict blocking is the blocking of a whole page, i.e. the root document is blocked, so that not a single connection is made to the remote server hosting the web page.
By default, strict blocking is enabled in uBO for domain-only filters (this reduces false-positive matches). To force it on any other pattern matching filter, use document
or all
static filter option.
This feature is not supported by other blockers, like Adblock Plus (ABP), which only blocks secondary resources (see web pages themselves are never filtered).
So if you were to create a filter such as ||example.com^
, and then navigate to https://example.com, ABP would not prevent you from connecting and loading the web page itself served at https://example.com
, though all secondary resources pulled by that web page would be subject to filtering.
uBO respected that semantic until version 0.9.3.0. With version 0.9.3.0, uBO will subject web pages themselves to filtering.
This means that using the same test case above, uBO will block the web page served by a server found in one of the malware list (unlike ABP):
Why the change? Because issue #1013 brought forth why it is desirable sometimes to completely block a website, as opposed to what the EasyList syntax-based filtering semantic dictates.
In the end, the chosen solution is to now have web page themselves subject to filtering, just like all secondary resources.
In the figure above, the user will be given the choice to go back to the previous webpage, or proceed to the currently blocked webpage by disabling strict blocking either:
- Temporarily: Click Proceed to disable strict-blocking for a limited time (120 seconds – configurable).
- Permanently: Check Dont warn me again about this site, then click Proceed.
This will prevent the web page proper for the site from being blocked by uBO in the future: the filtering of the site will be done exactly as per EasyList syntax-based filtering semantic, and just like with uBO pre-0.9.3.0.
There are many benefits to strict blocking. For example, there is no good reason one should want to connect at all to any of the sites present in any one of the malware domain lists. Strict blocking will prevent this from happening.
Important note: Keep in mind that when the above warning occurs, it doesn't necessarily mean the site is harmful, it just means that there is a matching filter in the selected filter lists. You decide whether the site is safe, and whether disabling strict blocking permanently for the site is appropriate.
Tip: If you wish, you may entirely disable strict blocking everywhere by adding the rule no-strict-blocking: * true
to the My rules pane in the dashboard (don't forget to click Commit to make the rule stick).
Ability to parse the strict-blocked URL
Sometimes, the strict-blocked URL contains a query string component which uBO can parse and decompose into detailed query parameters. Oftentimes, once decomposed, the query parameters will show you information which can be useful.
A top example of this is when a redirection URL is strict blocked, you will often find in the query parameters the destination URL which you intended to visit when you clicked a link, which makes it possible to bypass the redirection URL -- typically used for tracking purpose -- and navigate directly to the intended destination URL by just clicking on it.
Example:
In the example above, a link to BestBuy site was clicked (from DuckDuckGo search page), but doing so caused the browser to navigate to a strict-blocked redirection link instead of navigating directly to the BestBuy site. By expanding the query strings into components, we can see our actual destination URL -- just click on it and you will finally reach your intended destination without having to go through the clickserve.dartsearch.net
server which was strict-blocked by an entry in StevenBlack/hosts list.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
- Wiki home
- About the Wiki documentation
- Permissions
- Privacy policy
- Info:
- The toolbar icon
- The popup user interface
- The context menu
- Dashboard
- Settings pane
- Filter lists pane
- My filters pane
- My rules pane
- Trusted sites pane
- Keyboard shortcuts
- The logger
- Element picker
- Element zapper
- Blocking mode
- Very easy mode
- Easy mode (default)
- Medium mode (optimal for advanced users)
- Hard mode
- Nightmare mode
- Strict blocking
- Few words about re-design of uBO's user interface
- Reference answers to various topics seen in the wild
- Overview of uBlock's network filtering engine
- Overview of uBlock's network filtering engine: details
- Does uBlock Origin block ads or just hide them?
- Doesn't uBlock Origin add overhead to page load?
- About "Why uBlock Origin works so much better than Pi‑hole does?"
- uBlock's blocking and protection effectiveness:
- uBlock's resource usage and efficiency:
- Memory footprint: what happens inside uBlock after installation
- uBlock vs. ABP: efficiency compared
- Counterpoint: Who cares about efficiency, I have 8 GB RAM and|or a quad core CPU
- Debunking "uBlock Origin is less efficient than Adguard" claims
- Myth: uBlock consumes over 80MB
- Myth: uBlock is just slightly less resource intensive than Adblock Plus
- Myth: uBlock consumes several or several dozen GB of RAM
- Various videos showing side by side comparison of the load speed of complex sites
- Own memory usage: benchmarks over time
- Contributed memory usage: benchmarks over time
- Can uBO crash a browser?
- Tools, tests
- Deploying uBlock Origin
- Proposal for integration/unit testing
- uBlock Origin Core (Node.js):
- Troubleshooting:
- Good external guides:
- Scientific papers
uBlock Origin - An efficient blocker for Chromium and Firefox. Fast and lean.