-
Notifications
You must be signed in to change notification settings - Fork 81
Dynamic filtering: precedence
First: Trusted site directives override both dynamic filtering and static filtering. Trusted site directives appear in the Trusted sites pane in the dashboard, and they are used to completely disable filtering. The big blue button in the popup UI is used to easily add current site/page to the Trusted sites list.
Dynamic allow
/block
rules override static filtering rules.
- Use
allow
to force requests to be allowed regardless of whether they would normally be blocked by static filtering.- Useful to fix sites broken by false positives in EasyList, EasyPrivacy (or any other static filter lists).
- Use
block
to force requests to be blocked regardless of whether they would normally be allowed by static filtering.- Useful to block with 100% certainty, to bypass exception filters with which you may disagree in EasyList, EasyPrivacy (or any other static filter lists).
There is a precedence logic for dynamic filtering cells. Narrower rules override broader ones; ties are broken first by destination domain, then by request type. From highest to lowest precedence, we have:
Precedence rule | Example |
---|---|
More qualified destination domains take precedence over less qualified ones |
* www.dest.com * block overrides * dest.com * noop
|
Specific destination domains take precedence over specific request types |
* dest.com * noop overrides * * 3p-script block
|
Party-and-content types take precedence over party types |
* * 3p-script block overrides * * 3p noop
|
Party types take precedence over content types |
* * 3p noop overrides * * image block
|
Specific request types take precedence over specific source domains |
* * image block overrides source.com * * noop
|
More qualified source domains take precedence over less qualified ones |
www.source.com * * noop overrides source.com * * block
|
Specific source domains take precedence over universal rules |
source.com * * block overrides * * * noop
|
The UI is designed in such way that the precedence logic should hopefully become clear with usage. Lower rows in the grid of cells always take precedence over higher rows, and a cell in the right column takes precedence over the cell to its left. Rules in the left column (global, all source domains) "bleed" to the right (local, this particular source domain) when there's not a specific rule in the right column.
- 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
- 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