1
0
mirror of https://github.com/gorhill/uBlock.git synced 2024-07-05 11:37:01 +02:00
Go to file
Raymond Hill a559f5f271
Add experimental mv3 version
This create a separate Chromium extension, named
"uBO Minus (MV3)".

This experimental mv3 version supports only the blocking of
network requests through the declarativeNetRequest API, so as
to abide by the stated MV3 philosophy of not requiring broad
"read/modify data" permission. Accordingly, the extension
should not trigger the warning at installation time:

    Read and change all your data on all websites

The consequences of being permission-less are the following:

- No cosmetic filtering (##)
- No scriptlet injection (##+js)
- No redirect= filters
- No csp= filters
- No removeparam= filters

At this point there is no popup panel or options pages.

The default filterset correspond to the default filterset of
uBO proper:

Listset for 'default':
  https://ublockorigin.github.io/uAssets/filters/badware.txt
  https://ublockorigin.github.io/uAssets/filters/filters.txt
  https://ublockorigin.github.io/uAssets/filters/filters-2020.txt
  https://ublockorigin.github.io/uAssets/filters/filters-2021.txt
  https://ublockorigin.github.io/uAssets/filters/filters-2022.txt
  https://ublockorigin.github.io/uAssets/filters/privacy.txt
  https://ublockorigin.github.io/uAssets/filters/quick-fixes.txt
  https://ublockorigin.github.io/uAssets/filters/resource-abuse.txt
  https://ublockorigin.github.io/uAssets/filters/unbreak.txt
  https://easylist.to/easylist/easylist.txt
  https://easylist.to/easylist/easyprivacy.txt
  https://malware-filter.gitlab.io/malware-filter/urlhaus-filter-online.txt
  https://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&showintro=1&mimetype=plaintext

The result of the conversion of the filters in all these
filter lists is as follow:

Ruleset size for 'default': 22245
  Good: 21408
  Maybe good (regexes): 127
  redirect-rule= (discarded): 458
  csp= (discarded): 85
  removeparams= (discarded): 22
  Unsupported: 145

The fact that the number of DNR rules are far lower than the
number of network filters reported in uBO comes from the fact
that lists-to-rulesets converter does its best to coallesce
filters into minimal set of rules. Notably, the DNR's
requestDomains condition property allows to create a single
DNR rule out of all pure hostname-based filters.

Regex-based rules are dynamically added at launch time since
they must be validated as valid DNR regexes through
isRegexSupported() API call.

At this point I consider being permission-less the limiting
factor: if broad "read/modify data" permission is to be used,
than there is not much point for an MV3 version over MV2, just
use the MV2 version if you want to benefit all the features
which can't be implemented without broad "read/modify data"
permission.

To locally build the MV3 extension:

    make mv3

Then load the resulting extension directory in the browser
using the "Load unpacked" button.

From now on there will be a uBlock0.mv3.zip package available
in each release.
2022-09-06 13:47:52 -04:00
.github Add experimental mv3 version 2022-09-06 13:47:52 -04:00
assets Fix bad alias 2022-08-13 09:09:36 -04:00
dist Make Firefox dev build auto-update 2022-09-01 09:50:47 -04:00
doc Update CPU chart image with name ublock instead of μblock (#3566) 2018-03-02 06:47:47 -05:00
docs Fix typos in README, docs, and JS comments 2022-03-13 08:56:26 -04:00
platform Add experimental mv3 version 2022-09-06 13:47:52 -04:00
src Add experimental mv3 version 2022-09-06 13:47:52 -04:00
submodules Add experimental mv3 version 2022-09-06 13:47:52 -04:00
tools Add experimental mv3 version 2022-09-06 13:47:52 -04:00
.gitignore git ignore ./tmp/ 2016-04-05 07:55:22 -04:00
.gitmodules Make uAssets a submodule 2021-07-29 19:36:49 +05:30
.jshintrc Further work on JS modules 2021-10-07 14:41:29 -04:00
CONTRIBUTING.md Update CONTRIBUTING.md 2018-04-15 11:52:41 -04:00
LICENSE.txt first commit 2014-06-23 18:42:43 -04:00
Makefile Add experimental mv3 version 2022-09-06 13:47:52 -04:00
MANIFESTO.md Update MANIFESTO.md 2015-03-12 23:22:30 +00:00
README.md removed /firefox from AMO link (#3871) 2022-07-26 13:52:50 -04:00

Badge Commits Badge Issues Badge Localization Badge License Badge NPM Badge Mozilla Badge Chrome


uBlock Origin

pronounced you-block origin (/ˈjuːˌblɒk/) — you decide what enters your browser.
BEWARE! uBlock Origin is (and has always been) COMPLETELY UNRELATED to the web site ublock.org.


Get uBlock Origin for Firefox Get uBlock Origin for Chromium Get uBlock Origin for Microsoft Edge Get uBlock Origin for Opera
Do not use uBlock Origin along with other similarly-purposed blockers.
See below for more installation options.


An efficient blocker add-on for various browsers. Fast, potent, and lean.

uBlock Origin is NOT an "ad blocker": it is a wide-spectrum blocker -- which happens to be able to function as a mere "ad blocker". The default behavior of uBlock Origin when newly installed is to block ads, trackers and malware sites -- through EasyList, EasyPrivacy, Peter Lowes ad/tracking/malware servers, Online Malicious URL Blocklist, and uBlock Origin's own filter lists.


Documentation

Basic mode Advanced-user mode
Popup user interface A point-and-click firewall which can be configured on a per-site basis

.
.

Configure as you wish:
picture shows 3rd-party scripts and frames blocked by default everywhere

Visit the uBlock Origin's wiki for documentation.

For support/questions/help, there is /r/uBlockOrigin on Reddit.

Philosophy

uBlock Origin (or uBlock₀) is not an ad blocker; it's a general-purpose blocker. uBlock Origin blocks ads through its support of the Adblock Plus filter syntax. uBlock Origin extends the syntax and is designed to work with custom rules and filters. Furthermore, advanced mode allows uBlock Origin to work in default-deny mode, which mode will cause all 3rd-party network requests to be blocked by default, unless allowed by the user.

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 Origin'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 uMatrix).

EasyList, EasyPrivacy, Peter Lowe's, Online Malicious URL Blocklist and uBO's own lists are enabled by default when you install uBlock Origin. Many more lists are readily available to block trackers, analytics, and more. Hosts files are also supported.

Once you install uBlock Origin, you may easily un-select any of the pre-selected filter lists if you think uBlock Origin blocks too much. For reference, Adblock Plus installs with only EasyList, ABP filters and Acceptable Ads enabled by default.

Installation

Feel free to read about the extension's required permissions.

Chromium

You can install the latest version manually, from the Chrome Web Store, or from the Opera add-ons.

There is also a development version in the Chrome Web Store if you want to test uBlock Origin with the latest changes: see uBlock Origin dev build.

It is expected that uBlock Origin is compatible with any Chromium-based browsers.

Firefox / Firefox for Android

Firefox Add-ons web site.

There is also a development version if you want to test uBlock Origin with the latest changes: for installation, see Install / Firefox webext / For beta version

uBlock Origin is compatible with SeaMonkey, Pale Moon, and possibly other browsers based on Firefox: for installation, see Install / Firefox legacy.

uBO may also be installed as a Debian package:

  • Firefox 56-: apt-get install xul-ext-ublock-origin
  • Firefox 55+: apt-get install webext-ublock-origin

There is no guarantee the package will be available on your specific platform -- in which case, you will have to install from Firefox Add-ons web site.

Microsoft Edge

Publisher: Nicole Rolls.

Chromium-based Edge: Stable version available in Microsoft Edge Add-ons.

Safari (macOS)

Developer: @el1t.

Development version available at https://github.com/el1t/uBlock-Safari#ublock-originfor-safari.

Warning: It is not possible for extensions like uBlock Origin to work with Safari 13+. See https://github.com/el1t/uBlock-Safari/issues/158.

Note that issues specific to the Safari fork are the responsibility of the current maintainer, I have no control over the code base of the fork.

Note for all browsers

To benefit from uBlock Origin's higher efficiency, it's advised that you don't use other content blockers at the same time (such as Adblock Plus, AdBlock). uBlock Origin will do as well or better than most popular ad blockers. Other blockers can also prevent uBlock Origin's privacy or anti-blocker-defusing features from working properly.

Deploying

Below is documentation to assist administrators in deploying uBlock Origin:

Release History

See the releases pages for a history of releases and highlights for each release.

About

uBlock Origin's manifesto.

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.

You can contribute by helping translate uBlock Origin on Crowdin.

License

GPLv3.