We made use of the google-ima shim script from uBlock in the
DuckDuckGo Privacy Essentials extension recently, but found a few
issues with website breakage. After debugging and fixing those[1], I
thought it would be worth sharing the improvements back again. Issues
we ran into:
- The AdDisplayContainer[2] constructor usually creates some DOM
elements inside the given container. They are all nested within a
DIV and some websites break when at least that top DIV element isn't
created.
- While not documented (that I could see), the event listeners can be
added using an array of event types. Some websites make use of that
and then hang forever when the expected events aren't fired. This
caused videos not to play on some websites.
- The Ad.prototype.getUniversalAdIds()[3] method should return an
array of UniversalAdIdInfo Objects, instead of an Array of
strings. When an array of strings are returned, some websites then
break when the UniversalAdIdInfo's methods are missing.
- The UniversalAdIdInfo.prototype.getAdIdValue()[4] method had a typo
in the name ("getAsIdValue") and was effectively missing. That
caused some websites to break when the missing method was called.
- The google.ima.OmidVerificationVendor[5] Object was missing, which
broke some websites that attempted to access it.
1 -
|
||
---|---|---|
.github | ||
assets | ||
dist | ||
docs | ||
platform | ||
src | ||
tools | ||
.gitignore | ||
.gitmodules | ||
.jshintrc | ||
CONTRIBUTING.md | ||
LICENSE.txt | ||
Makefile | ||
MANIFESTO.md | ||
README.md | ||
REMOVED.md |
uBlock Origin (uBO)
BEWARE! uBO is (and has always been) COMPLETELY UNRELATED to the website ublock.org
.
uBlock Origin (uBO) is a CPU and memory-efficient wide-spectrum content blocker for Chromium and Firefox. It blocks ads, trackers, coin miners, popups, annoying anti-blockers, malware sites, etc., by default using EasyList, EasyPrivacy, Peter Lowe's Blocklist, Online Malicious URL Blocklist, and uBO filter lists. There are many other lists available to block even more. Hosts files are also supported. uBO uses the EasyList filter syntax and extends the syntax to work with custom rules and filters.
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.
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 means.
Documentation
Basic Mode | Advanced Mode |
---|---|
The simple popup user interface for an install-it-and-forget-it type of installation that is configured optimally by default. | The advanced popup user interface includes a point-and-click firewall that is configurable on a per-site basis. |
![]() |
![]() |
Visit the Wiki for documentation.
For support, questions, or help, visit /r/uBlockOrigin.
Installation
Firefox
uBO works best on Firefox and is available for desktop and Android versions.
Thunderbird
In Thunderbird, uBlock Origin does not affect emails, just feeds.
Chromium
Microsoft Edge Add-ons (Published by: Nicole Rolls)
uBO should be compatible with any Chromium-based browser.
All Programs
Do NOT use uBO with any other content blocker. uBO performs as well as or better than most popular blockers. Other blockers can prevent uBO's privacy or anti-blocker-defusing features from working correctly.
Enterprise Deployment
Release History
Translations
Help translate uBO via Crowdin.
About
Free. Open-source. For users by users. No donations sought.
If you ever want to contribute something, think about the people working hard to maintain the filter lists you are using, which are available to use by all for free.