uBlock Origin (or uBlock₀) is not an ad blocker; it’s a general-purpose blocker. uBlock₀ blocks ads through its support of the Adblock Plus filter syntax. uBlock₀ extends the syntax and is designed to work with custom rules and filters.
That said, it’s important to note that using a blocker is NOT theft. Don’t fall for this creepy idea. The ultimate logical consequence of blocking = theft is the criminalisation of the inalienable right to privacy.
Ads, “unintrusive” or not, are just the visible portions of privacy-invading apparatus entering your browser when you visit most sites nowadays. uBlock₀’s main goal is to help users neutralize such privacy-invading apparatus — in a way that welcomes those users who don’t wish to use more technical, involved means (such as µMatrix).
EasyList, Peter Lowe’s Adservers, EasyPrivacy and Malware domains are enabled by default when you install uBlock₀. Many more lists are readily available to block trackers, analytics, and more. Hosts files are also supported.
Once you install uBlock₀, you may easily un-select any of the pre-selected filter lists if you think uBlock₀ blocks too much. For reference, Adblock Plus installs with only EasyList enabled by default.
There is no support for Safari for uBlock Origin.
Best is that you install chrisaljoudi/uBlock, which has official support for Safari.
Note for all browsers
To benefit from uBlock Origin’s higher efficiency, it’s advised that you don’t use other inefficient blockers at the same time (such as AdBlock or Adblock Plus). uBlock₀ will do as well or better than most popular ad blockers.
uBlock Origin extends Adblock Plus filter syntax.
uBlock Origin can also parse HOSTS file-like resources. However, this creates an ambiguity with ABP filter syntax, which is pattern-based. For example, consider the following filter entry:
ABP filter syntax dictates that this is interpreted as “block network requests which URL contains example.com at any position”. However if the entry comes from a HOSTS file, the interpretation must be “block network requests to the site example.com”.
So in uBlock Origin, any entry which can be read as a valid hostname, will be assumed to be a HOSTS file entry. If ever you want such filter to be parsed as an ABP filter, just add a wildcard at the end:
The wildcard character * can be used to apply a filter to all URLs. This is not recommended though, unless you further narrow the filter using filter options. Examples:
*$third-party: block all 3rd-party network requests.
*$script,domain=example.com: block all network requests to fetch script resources from example.com.
Usually, it is far more convenient to use dynamic filtering rules in lieu of such generic static filters.
Network filters options
document for block filters:
This will cause web pages which match the filter to be subjected to strict blocking.
This is equivalent to ~third-party. Provided strictly for convenience (0.9.9.0).
The filter option important means to ignore all exception filters (those prefixed with @@).
It applies only to network block filters. The important option will allow you to block with 100% certainty specific network requests.
||google-analytics.com^$important,third-party will block all network requests to google-analytics.com, disregarding any existing network exception filters. Another example: ||twitter.com^$important,third-party. Etc.
To specifically disable inline script tags in a main page:
Entity-based cosmetic filters: Filters which are to be applied to a specific entity:
An entity is defined as follow: a formal domain name with the Public Suffix part replaced by a wildcard.
google.* will apply to all similar Google domain names: google.com, google.com.br, google.ca, google.co.uk, etc. Another example:
facebook.* will apply to all similar Facebook domain names: facebook.com, facebook.net.
Since the base domain name is used to derive the name of the “entity”, google.evil.biz would not match google.*.
Special cosmetic filters
uBlock Origin supports a special cosmetic filter which purpose is to prevent the execution of specific inline script tags in a main HTML document. See “Inline script tag filtering” for further documentation.
Free. Open source. For users by users. No donations sought.
Without the preset lists of filters, this extension is nothing. So if ever you really do want to contribute something, think about the people working hard to maintain the filter lists you are using, which were made available to use by all for free.