Skip to content

How to mark a web site as trusted

garry-ut99 edited this page Jul 18, 2024 · 11 revisions


Click the big power button

It serves to turn off blocking on the current website (will add current site to Trusted sites list), and its state will be remembered next time you visit the website.

uBO is enabled uBO is disabled
uBO enabled uBO disabled

Detailed syntax

All trusted site directives are matched against the URL address of web pages.

As of version uBlock Origin (uBO) 0.8.2.0, the trusted site directive syntax is split into three classes:

  • Plain
  • Complex
  • Comment

Plain syntax is when using only hostname label(s), which means only the hostname portion of a URL will be taken into account. With plain syntax, the matching is performed by comparing the right-most portion of the page hostname with the trusted site directive. Wildcards are not allowed when using plain syntax.

Complex syntax occurs if and only if at least one / appears in a trusted site directive. Optionally, the wildcard * can be used with complex directives for more flexibility.

A comment is a line prefixed with #. Comments are ignored by uBO.

If no / appears in a trusted site directive, and if the directive contains characters which are not allowed for a plain hostname, then the trusted site directive will be commented out and ignored by uBO. This allows you to fix your directive.

Plain hostname

Matches the domain and all subdomains:

  • example.org: (i.e. example.org, www.example.org, forums.www.example.org).
  • www.example.org: (i.e. www.example.org, forums.www.example.org, but not example.org).
  • org: (i.e. example.org, wikipedia.org, www.wikipedia.org).

Single web page

  • https://www.twitch.tv/letofski: matches on only this one page, i.e. when the URL in the address bar matches exactly https://www.twitch.tv/letofski.

Section of a web site

  • https://www.twitch.tv/letofski*: matches on this one page, and everything underneath, i.e. when the URL in the address bar starts exactly with https://www.twitch.tv/letofski.

Specific pattern

  • *reddit.com/r/privacy/*

Wildcards can be used at any position. However, when a wildcard is used within the hostname portion of a directive, it cannot be at the end of the hostname, and also must be at the boundary of a hostname label.

Regular expression

  • /^https?://192\.168\.0\.\d+//
  • /^https://[0-9a-z-]+//

When you are facing a case where no other directive syntax work, you may use a regular expression ("regex") as a last resort solution. When a trusted site directive starts and ends with a forward slash (/), uBO will treat the directive as a regex-based one.

Given that trusted site directives dictate where uBO should be completely disabled, be very careful with regex-based directives, you could easily mistakenly cause uBO to be disabled on more sites than you intended. Typically, only advanced users will resort to regex-based directives, and only for cases where no other syntax can do the job.

Disable filtering on YouTube channel

There are two ways to do this:

  1. By browser extension.

    Kept updated, should be easy to use, point and click, with good description of usage.

  2. Using one of the user scripts from Greasy Fork based on YouTube - whitelist channels in uBlock Origin.

    Simple, with clearly visible code, but can be outdated. Someone posted instructions on Reddit, it was years ago, but explains few things: "Any way to whitelist certain youtube channels?".

Warning! These are third party tools, I can't vouch for them, you will have to find out for yourself whether they work.

Disabling filtering on all websites by default

(Aka "invert whitelist" in AdGuard: LINK) By design, on purpose, that is not a feature supported by uBO, at least not in a way that is too easy to achieve and handy to use. uBO is for people who share the view that the net is hostile by default and consequently uBO being disabled everywhere by default is incompatible with this view -- it would make no sense to have a malware list enabled by default just to have uBO disabled everywhere by default. AdGuard supports this mode easily & straightforwardly by a simple on/off button switching, so you may want to use AdGuard instead.

However, blocklist mode in uBO can be achieved manually, by specifically crafted Regular Expression trusted site directive:

/^((?!example\.com|different\.example\.net|another\.example\.org).)*$/

With this directive all domains separated by | characters will be treated as blocklisted, and uBO will be enabled only on these pages.

There already exists a pile of duplicated requests to implement the feature. Requests to implement the feature to be identical as in AdGuard, were always declined and will not be accepted:

Hence there is no point in spamming the issue tracker by creating new duplicates over and over, discussion and sharing opinions should be continued in already existing threads, new threads will be labeled as invalid or duplicate and closed.

Other details

If you re-enable uBO by clicking the big power button in the popup while a trusted site directive you handcrafted is in effect, your handcrafted directive will simply be commented out. This way you can bring it back to life if ever you clicked the button by mistake.

Clone this wiki locally