1
0
mirror of https://github.com/gorhill/uBlock.git synced 2024-07-05 11:37:01 +02:00
Go to file
Raymond Hill cbfd2ad942
Create a MVP version of uBOLite for Firefox
What does not work at the time of commit:

Cosmetic filtering does not work:

The content scripts responsible for cosmetic filtering fail when
trying to inject the stylesheets through document.adoptedStyleSheets,
with the following error message:

  XrayWrapper denied access to property Symbol.iterator
  (reason: object is not safely Xrayable).
  See https://developer.mozilla.org/en-US/docs/Xray_vision for more
  information. ... css-declarative.js:106:8

A possible solution is to inject those content scripts in the
MAIN world. However Firefox scripting API does not support MAIN
world injection at the moment.

Scriptlet-filtering does not work:

Because scriptlet code needs to be injected in the MAIN world,
and this is currently not supported by Firefox's scripting API,
see https://bugzilla.mozilla.org/show_bug.cgi?id=1736575

There is no count badge on the toolbar icon in Firefox, as it
currently does not support the `DNR.setExtensionActionOptions`
method.

Other than the above issues, it does appear uBO is blocking
properly with no error reported in the dev console.

The adoptedStyleSheets issue though is worrisome, as the
cosmetic filtering content scripts were designed with ISOLATED
world injection in mind. Being forced to inject in MAIN world
(when available) make things a bit more complicated as uBO
has to ensure it's global variables do not leak into the page.
2023-04-07 10:19:43 -04:00
.github actions/create-release@v1=deprecated, use ncipollo/release-action@v1 2022-12-16 12:17:15 -05:00
assets Add logging ability to acs scriptlet, for the benefit of filter list 2023-04-02 12:01:58 -04:00
dist Make Firefox dev build auto-update 2023-04-06 13:30:42 -04:00
docs Fix typos in README, docs, and JS comments 2022-03-13 08:56:26 -04:00
platform Create a MVP version of uBOLite for Firefox 2023-04-07 10:19:43 -04:00
src Minor CSS tweak 2023-04-06 17:43:03 -04:00
tools Create a MVP version of uBOLite for Firefox 2023-04-07 10:19:43 -04:00
.gitignore git ignore ./tmp/ 2016-04-05 07:55:22 -04:00
.gitmodules Use git clone instead of submodule to pull uAssets dependencies 2022-11-14 09:50:53 -05:00
.jshintrc Refactor scriptlets injection code 2023-03-24 14:05:18 -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 Create a MVP version of uBOLite for Firefox 2023-04-07 10:19:43 -04:00
MANIFESTO.md Update MANIFESTO.md 2015-03-12 23:22:30 +00:00
README.md Remove extraneous whitespaces causing misalignement 2023-01-31 10:04:35 -05:00
REMOVED.md Added data about old popup panel 2022-11-08 16:53:04 -05:00

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


uBlock Origin (uBO)

BEWARE! uBO is (and has always been) COMPLETELY UNRELATED to the website ublock.org.


Get uBlock Origin for Firefox Get uBlock Origin for Chromium Get uBlock Origin for Microsoft Edge Get uBlock Origin for Opera


uBO is NOT an "ad blocker"; it is a wide-spectrum content blocker for Chromium and Firefox with CPU and memory efficiency as primary features. After a new installation, the default behavior of uBO is to block ads, trackers, and malware sites through EasyList, EasyPrivacy, Peter Lowe's Blocklist, Online Malicious URL Blocklist, and uBO's filter lists.


Documentation

Basic mode Advanced-user mode
Popup user interface A point-and-click firewall that is configurable on a per-site basis

.
.

Configure as you wish.
The image shows 3rd-party scripts and frames blocked by default everywhere.

Visit the wiki for documentation.

For support, questions, or help, visit /r/uBlockOrigin.

General Information

uBO is NOT an "ad blocker"; it is a wide-spectrum content blocker. uBO blocks ads through the EasyList filter syntax and extends the syntax to work with custom rules and filters. Furthermore, the advanced mode allows uBO to work in default-deny mode, which will cause all 3rd-party network requests to be blocked by default unless allowed by the user.

It is important to note that using a blocker is NOT theft. Do not fall for this creepy idea. The ultimate logical consequence of blocking = theft is the criminalization of the inalienable right to privacy.

Ads, "unintrusive" or not, are just the visible portion of the privacy-invading means entering your browser when you visit most sites. uBO's primary goal is to help users neutralize these privacy-invading methods in a way that welcomes those users who do not wish to use more technical, involved means (such as uMatrix).

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

Once you install uBO, you may easily unselect any preselected filter lists if you think uBO blocks too much. For reference, Adblock Plus installs with only EasyList, ABP filters, and Acceptable Ads enabled by default.

Installation

Required Permissions

Chromium

Chrome Web Store

Microsoft Edge Add-ons (Published by: Nicole Rolls)

Opera Add-ons

Development Build

uBO should be compatible with any Chromium-based browser.

Firefox / Firefox for Android

Firefox Add-ons

Development Build

All Browsers

Do NOT use any other content blocker concurrently with uBO to benefit from its higher efficiency. uBO will perform as well as or better than most of the other popular ad blockers. Other blockers can prevent uBO's privacy or anti-blocker-defusing features from working correctly.

Do NOT use uBO along with other similarly-purposed blockers.

Manual Installation

Enterprise Deployment

Deploying uBO

Release History

Releases Page

About

Manifesto

Free. Open-source. For users by users. No donations sought.

Without the preset filter lists, this extension is nothing. If you ever 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 help contribute by translating uBO on Crowdin.

License

GPLv3