Jump to content

uBlock Origin

From Wikipedia, the free encyclopedia
(Redirected from UMatrix)

uBlock Origin
Original author(s)Raymond Hill (gorhill)
Developer(s)Current:
Raymond Hill
Past:
Deathamns, Chris Aljoudi, Alex Vallat[1]
Initial releaseJune 23, 2014; 10 years ago (2014-06-23)[2]
Stable release
1.61.2[3] / 19 November 2024; 29 days ago (19 November 2024)
Repository
Written inJavaScript
Operating systemCross-platform
Available in72[4] languages
TypeBrowser extension
LicenseGPLv3
Websitegithub.com/gorhill/uBlock

uBlock Origin (/ˈjblɒk/ YOO-blok[5]) is a free and open-source browser extension for content filtering, including ad blocking. The extension is available for Chrome, Chromium, Edge, Firefox, Brave, Opera, Pale Moon, as well as versions of Safari before 13.[6] uBlock Origin has received praise from technology websites and is reported to be much less memory-intensive than other extensions[7][8] with similar functionality.[9][10] uBlock Origin's stated purpose is to give users the means to enforce their own (content-filtering) choices.[11][12]

uBlock Origin is actively developed and maintained by its creator and lead developer Raymond Hill and the open source community.[1] As of October 2024, the Chrome version of uBlock Origin had over 40 million active users and the Firefox version had over 8 million active users.[13][14]

History

[edit]

HTTP Switchboard

[edit]

HTTP Switchboard began on September 20, 2013.[15][16][17][18][19][20]

uMatrix

[edit]

"HTTP Switchboard development is discontinued and has been replaced with uMatrix. The interface is largely unchanged." (2015-05-18)[21]

uMatrix was designed for advanced users.[22][23][24] and forked and refactored from HTTP Switchboard.[25][26][27] and first released October 24, 2014.[28]

The browser request firewall has two dimensions,

  1. (sub-)domains that the requests pointed at
  2. the type of request (cookie, image, XHR, frame, script, other).

uMatrix organizes the underlying complexity intuitively in a point-and-click over both domains simultaneously.

UBlock_Origin doesn't allow the specificity that a two-dimensional model like uMatrix does.

uBlock

[edit]

"The author of HTTP Switchboard, an advanced blocker extension for Google Chrome that is probably the best right now when it comes to that, has released uBlock yesterday for the browser."[29] - (June 24, 2014)

"uBlock Origin emerged in 2014, developed by a Quebecois programmer...Raymond Hill"[30]

"uBlock, the Memory-Friendly Ad-Blocker, Is Now Available for Firefox"[31] (January 27, 2015)

uBlock was initially named "μBlock" but the name was later changed to "uBlock" to avoid confusion as to how the Greek letter μ (Mu/Micro) in "μBlock" should be pronounced.[citation needed] Development started by forking from the codebase of HTTP Switchboard along with another blocking extension called uMatrix, designed for advanced users.[32] uBlock was developed by Raymond Hill to use community-maintained block lists,[33] while adding features and raising the code quality to release standards.[34] First released in June 2014 as a Chrome and Opera extension, in 2015 the extension became available in other browsers.[citation needed]

A joint Sourcepoint and comScore survey reported an 833% growth from November 2014 to August 2015, the strongest growth among adblockers listed.[35] The report attributed the growth to the desire of users for pure blockers, outside the "acceptable ads" program operated by Adblock Plus.[36]

On April 3, 2015, Hill transferred the uBlock project to Chris Aljoudi due to frustrations with dealing with requests as the project's popularity increased.[37] "These projects are to me, not a full time job. It stopped being a hobby when it felt more and more like a tedious job. I will keep maintaining my version (and share with whoever care[s] to use it) because it guarantees the tool will match what I want out of it."[38] Hill created his own fork and renamed it uBlock Origin on April 6.[39]

Since October 2017, uBlock Origin has been completely separated from Aljoudi's uBlock.[40] Aljoudi created ublock.org to host and promote uBlock and to request donations. In response, uBlock's founder Raymond Hill stated that "the donations sought by ublock.org are not benefiting any of those who contributed most to create uBlock Origin."[6] The development of uBlock stopped in August 2015 but there were sporadic updates from January 2017.[41]

In July 2018, ublock.org was acquired by AdBlock and resumed development.[42] From February 2019, uBlock began allowing users to participate in "acceptable ads",[43][44] a program run by Adblock Plus that allows some ads deemed "acceptable" and nonintrusive, and for which larger publishers pay a fee.[45]

uBlock Origin

[edit]

uBlock Origin remains independent and does not allow ads for payment.[46] The project refuses donations and instead advises supporters to donate to maintainers of block lists.[47] Hill continued to work on the extension under the name uBlock Origin, abbreviated as uBO[48] and originally as uBlock0.[49][50]

In January 2016, uBlock Origin was added to the repositories for Debian 9 and Ubuntu 16.04.[51][52] The extension was awarded "Pick of the Month" by Mozilla for May 2016.[53]

On December 11, 2016, Nik Rolls released a fork of uBlock Origin for the Microsoft Edge browser (now known as Microsoft Edge Legacy).[54] In April 2020, this fork was deprecated as Microsoft replaced Microsoft Edge Legacy with a Chromium-based Edge.[55]

uBlock Origin Lite

[edit]
UBlock Origin Lite

In 2023, Google made changes known as "Manifest V3" to the WebRequest API used by ad blocking and privacy extensions to block and modify network connections.[56][57] Following Google's implementation of Manifest V3 and the end of support for V2, uBlock Origin's effectiveness is drastically reduced in Google Chrome and other Chromium-based browsers.[58][59][60]

As a result, uBlock Origin Lite was created and designed to comply with the Manifest V3 (MV3) extension framework. uBO Lite differs significantly from uBO in several key aspects, primarily due to the constraints and design goals associated with MV3. Specifically, it lacks filter list updates outside of extension updates, and has no custom filters, strict-blocked pages, per-site switches, or dynamic filtering. Non-Chromium browsers such as Firefox are unaffected.[61] Google has been criticized for implementing some of these features due to its domination in the online advertising market.[62][63][64][65]

As of October 2024, the Chrome version of uBlock Origin Lite has over 700,000 active users.[66]

Features

[edit]

Blocking and filtering

[edit]

uBlock Origin supports the majority of Adblock Plus's filter syntax. The popular filter lists EasyList and EasyPrivacy are enabled by default. The extensions are capable of importing hosts files and a number of community-maintained lists are available at installation. Among the host files available, Peter Lowe's ad servers & tracking list and lists of malware domains such as uBlock Origin's own anti-malicious filter called Badware risks are also enabled as default, preventing users from visiting malicious websites such as those used for phishing, scams, malware, and more.[67] Some additional features include dynamic filtering of scripts and iframes and a tool for webpage element hiding.[citation needed]

uBlock Origin includes a growing list of features not available in uBlock, including:

  • A mode to assist those with color vision deficiency.
  • A dynamic URL filtering feature.
  • Logging functionality.
  • Interface enhancements including a DOM inspector, privacy-oriented options to block link prefetching, hyperlink auditing, and IP address leaks via WebRTC (this feature was removed in version 1.38 on all platforms except Android, as most browsers are no longer vulnerable[68]).

Site-specific switches to toggle the blocking of pop-ups, strict domain blocking, cosmetic filtering, blocking remote fonts, and JavaScript disabling were also added to uBlock Origin.[69] The Firefox version of uBlock Origin has an extra feature which helps to foil attempts by web sites to circumvent blockers.[70]

Performance and efficiency

[edit]

Technology websites and user reviews for uBlock Origin have regarded the extension as less resource-intensive than extensions that provide similar feature sets such as Adblock Plus.[71][72][73] A benchmark test, conducted in August 2015 with ten blocking extensions, showed uBlock Origin as the most resource-efficient among the extensions tested.[74]

uBlock Origin surveys what style resources are required for an individual web page rather than relying on a universal style sheet. The extension takes a snapshot of the filters the user has enabled, which contributes to accelerated browser start-up speed when compared to retrieving filters from cache every time.[75]

Differential updates

[edit]

Starting with version 1.54, uBlock Origin introduced the implementation of differential updates (delta updates), which allows the extension to fetch only changes to filter lists rather than downloading the entire list. This results in lower bandwidth consumption and more frequent updates. This change was part of uBlock Origin’s efforts to reduce both requests and bandwidth usage, with the goal of not being ranked among the most bandwidth-intensive projects on jsDelivr, as reflected in public statistics.[76][77]

Environmental impact

[edit]

According to a research paper, uBlock Origin was able to reduce web page load times by 28.5%, the highest efficiency compared to other ad blockers like AdBlock Plus and Privacy Badger. Its use could significantly reduce energy consumption, saving an estimated 100 hours of browsing time annually for the average global user.[78]

If widely adopted in the United States, it could save over $117 million per year in electricity costs, and globally, it could result in savings exceeding $1.8 billion. The research report also suggests that widespread use of uBlock Origin could have environmental benefits, potentially preventing pollution-related deaths caused by coal-fired power generation used to support the extra energy consumption from ads.[78]

Limitations in Chromium-based browsers

[edit]

According to the creator and lead developer Raymond Hill of the extension, uBlock Origin works best on Firefox.[79] The main reason is that uBlock Origin (uBO) faces several technical limitations when used on Chromium-based browsers compared to its performance on Firefox, and as a result, users may experience less effective ad blocking, potential exposure to unwanted content, and slower performance when using uBO on Chromium-based browsers:[80]

CNAME Uncloaking

[edit]

In November 2019, a uBlock Origin user reported a novel technique used by some sites to bypass third-party tracker blocking. These sites link to URLs that are sub-domains of the page's domain, but those sub-domains resolve to third-party hosts via a CNAME record. Since the initial URL contained a sub-domain of the current page, it was interpreted by browsers as a first-party request and so was allowed by the filtering rules in uBlock Origin (and in similar extensions). The uBlock Origin developer came up with a solution using a DNS API which is exclusive to Firefox 60+.[81] The new feature was implemented in uBlock Origin 1.25, released on February 19, 2020.[82]

Chromium-based browsers lack the ability to uncloak third-party servers disguised as first-party through CNAME records. This limitation reduces the efficiency of blocking third-party trackers, a capability that uBO fully utilizes on Firefox.

Furthermore:

  • IP address filtering: In version 1.60, uBO introduced the ability to block network requests based on their IP addresses. This is achieved by fetching the DNS records for a specific URL and filtering according to the IPs found. Full support is available for Firefox-based browsers, while Chromium-based browsers can only filter when an IP address is directly used in the URL instead of a hostname.
  • HTML Filtering: uBO's ability to filter the response body of HTML documents before they are parsed by the browser is hindered in Chromium-based browsers. This feature, enabled by the webRequest.filterResponseData() API, is currently only available in Firefox, limiting the effectiveness of uBO's HTML filtering on Chromium-based platforms.
  • Response Body Filtering: The replace= option in network filtering, which allows for response body modification, is less effective in Chromium-based browsers. Firefox's support for this feature enables more robust content manipulation.
  • Browser Launch Filtering: On Chromium-based browsers, uBO may not be fully ready to block network requests from already opened tabs immediately upon browser launch. This can allow some tracker or advertisement payloads to load before uBO becomes active, which is especially problematic for users who utilize default-deny modes for third-party resources or JavaScript. While there is a mitigation setting available, it is not enabled by default and does not cover all use cases.
  • Pre-fetching: In Chromium-based browsers, websites may override user settings regarding pre-fetching, potentially leading to unwanted network requests. Firefox, in contrast, reliably prevents pre-fetching when it is disabled in uBO.
  • WebAssembly Usage: uBO does not use WebAssembly for core filtering code paths on Chromium-based browsers due to the additional permissions required in the extension manifest, which could complicate the extension's publication in the Chrome Web Store. This limitation can affect performance and functionality.
  • Storage Compression: uBO on Chromium-based browsers cannot effectively use LZ4 compression for storing filter lists and other data due to issues with IndexedDB in incognito mode. IndexedDB instances are reset in incognito mode, causing uBO to start with out-of-date filter lists and reduced efficiency. Firefox does not face this issue, allowing for more efficient storage and retrieval of data.

Supported platforms

[edit]

uBlock Origin is actively developed for applications based on two major layout engines.[33][71][83]

Currently supported

[edit]

Previously supported

[edit]

See also

[edit]

Notes

[edit]
  1. ^ uBlock also supports Firefox legacy browsers (including SeaMonkey and Pale Moon), use the firefox-legacy release starting with firefox-legacy-1.16.4, see github.com/gorhill/uBlock-for-firefox-legacy)
  2. ^ Unofficial release. Fork by Ellis Tsung (el1t) for Safari from the official project.
  3. ^ Unofficial release. Fork by Nik Rolls (nikrolls) for Microsoft Edge.

References

[edit]
  1. ^ a b "Contributors to gorhill/uBlock". GitHub. Retrieved December 4, 2019.
  2. ^ "Changelog for the first versions". GitHub. Retrieved December 4, 2019.
  3. ^ "Release 1.61.2". Retrieved November 19, 2024.
  4. ^ "Completed translations". Crowdin.com. Retrieved May 16, 2024.
  5. ^ "uBlock Origin: README.md". uBlock GitHub Repository. December 25, 2022 – via GitHub. pronounced you-block origin (/ˈjuːˌblɒk/)
  6. ^ a b "uBlock / README.md". GitHub. Retrieved December 4, 2019.
  7. ^ Henry, Alan (January 27, 2015). "uBlock, the Memory-Friendly Ad-Blocker, Is Now Available for Firefox". Retrieved December 4, 2019.
  8. ^ Brinkmann, Martin (October 10, 2014). "How to add custom filters to Chrome ad-blocking extension μBlock". Retrieved December 4, 2019.
  9. ^ Schofield, Jack (January 29, 2015). "Are there any trustworthy sources for downloading software?". TheGuardian.com. Retrieved December 4, 2019.
  10. ^ Whitwam, Ryan (February 12, 2015). "μBlock aims to block ads without draining system resources". ExtremeTech.com. Archived from the original on March 24, 2020. Retrieved December 4, 2019.
  11. ^ "uBlock". github.com. GitHub. Retrieved December 4, 2019.
  12. ^ Gardiner, Michael (November 5, 2015). "Adblock Plus vs. Ghostery vs. Ublock Origin: Not All Adblockers Were Created Equal". International Business Times. Archived from the original on July 22, 2017. Retrieved December 4, 2019.
  13. ^ "uBlock Origin Chrome". chrome.google.com. Retrieved September 3, 2024.
  14. ^ "uBlock Origin Firefox". addons.mozilla.org. Retrieved September 3, 2024.
  15. ^ "History for icon_128.png - gorhill/httpswitchboard". GitHub. Retrieved December 17, 2024.
  16. ^ gorhill. "FAQ". httpswitchboard. GitHub. Retrieved December 17, 2024.
  17. ^ gorhill. "HTTP Switchboard 1.0.0.2 ·". Release. GitHub.
  18. ^
  19. ^ Hill, Raymond (December 9, 2024). "Browser session benchmarker". sessbench. gorhill/github. Retrieved December 17, 2024.
  20. ^ Brinkmann, Martin (June 24, 2014). "uBlock for Chrome is a resource-friendly adblocker by the HTTP Switchboard author - gHacks Tech News". gHacks. Retrieved December 17, 2024.
  21. ^ Maude, Steven (September 28, 2014). "Taking control of Chromium (and Chrome) with ublock and HTTP Switchboard". stevenmaude.co.uk. Retrieved December 17, 2024.
  22. ^ "uMatrix". GitHub. Retrieved December 4, 2019.
  23. ^ Raymond Hill (gorhill). "uMatrix". chromewebstore.google.com - Chrome Web Store. Retrieved December 17, 2024.
  24. ^ "uMatrix – Extension for Firefox". addons.mozilla.org. Retrieved December 17, 2024.
  25. ^ "Home". uMatrix wiki. GitHub. Retrieved December 17, 2024.
  26. ^ "Adblock Plus is probably the reason Firefox and Chrome are such memory hogs". news.ycombinator.com | Hacker News. Retrieved December 17, 2024.
  27. ^ "uMatrix has been archived". news.ycombinator.com | Hacker News. Retrieved December 17, 2024.
  28. ^ gorhill. "µMatrix 0.8.0.0-alpha.2". Release. GitHub. Retrieved December 17, 2024.
  29. ^ Brinkmann, Martin (June 24, 2014). "uBlock for Chrome is a resource-friendly adblocker by the HTTP Switchboard author - gHacks Tech News". gHacks. Retrieved December 17, 2024.
  30. ^ Merwansky (May 25, 2024). "The Battle Between YouTube and Adblockers: A Never-Ending Cat-and-Mouse Game". just-merwan. Medium.com. Archived from the original on December 17, 2024. Retrieved December 17, 2024.
  31. ^ Henry, Alan (January 27, 2015). "uBlock, the Memory-Friendly Ad-Blocker, Is Now Available for Firefox". Lifehacker. Retrieved December 17, 2024.
  32. ^ "uMatrix". GitHub. Retrieved December 4, 2019.
  33. ^ a b Brinkmann, Martin (June 24, 2014). "uBlock for Chrome is a resource-friendly adblocker by the HTTP Switchboard author". ghacks.net. Retrieved December 4, 2019.
  34. ^ Hill, Raymond. "Changes from HTTP Switchboard". GitHub. Retrieved December 4, 2019.
  35. ^ Levine, Barry (October 14, 2015). "The Ad Blocker Landscape: What You Need To Know Today". Marketing Land. Retrieved October 17, 2015.
  36. ^ "The state of ad blocking - September 2015". Sourcepoint and comScore. September 16, 2015. Retrieved October 17, 2015.
  37. ^ Hill, Raymond (April 3, 2015), "Release 0.9.3.0", gorhill/uBlock, retrieved December 8, 2023
  38. ^ Hill, Raymond. "Please clarify uBlock0 vs. uBlock". Github.com. Retrieved December 4, 2019.
  39. ^ Hill, Raymond, Update README.md, retrieved December 8, 2023
  40. ^ Hill, Raymond (October 21, 2017). "uBlock Origin is completely unrelated to the web site ublock.org". github.com. Retrieved December 4, 2019.
  41. ^ "uBlockAdmin/uBlock". github.com. Retrieved December 4, 2019.
  42. ^ "An update on uBlock". ublock.org. July 13, 2018. Archived from the original on July 19, 2018. Retrieved December 4, 2019.
  43. ^ "uBlock Incorporates Acceptable Ads". February 23, 2019. Archived from the original on November 30, 2019. Retrieved December 4, 2019.
  44. ^ "uBlock 0.9.5.13". GitHub. February 13, 2019. Retrieved June 26, 2020.
  45. ^ "About Adblock Plus". adblockplus.org. Retrieved December 4, 2019.
  46. ^ "MANIFESTO.md". github.com. Retrieved December 4, 2019.
  47. ^ "Why don't you accept donations?". GitHub. Retrieved January 20, 2020.
  48. ^ "uAssets". github.com. Retrieved October 2, 2022. Resources for uBlock Origin (uBO) [...]
  49. ^ "Official uBlock Origin add-on lands for Firefox". April 25, 2015. Retrieved April 25, 2015.
  50. ^ "uBlock Origin 1.50.0". news.ycombinator.com | Hacker News. Retrieved December 17, 2024.
  51. ^ "Debian Sid - uBlock Origin". Retrieved January 21, 2016.
  52. ^ "Ubuntu - uBlock Origin". Retrieved January 21, 2016.
  53. ^ DeVaney, Scott (May 2, 2016). "May 2016 Featured Add-ons". Mozilla Add-ons Blog. Retrieved May 28, 2016.
  54. ^ a b Rubino, Daniel (December 11, 2016). "uBlock Origin adblocker now available for Microsoft Edge via the Store". Windows Central. Retrieved December 12, 2016.
  55. ^ a b Rolls, Nik (June 12, 2021), nikrolls/uBlock-Edge, retrieved July 9, 2021
  56. ^ Amadeo, Ron (November 21, 2023). "Google Chrome will limit ad blockers starting June 2024". Ars Technica. Archived from the original on November 22, 2023. Retrieved November 22, 2023.
  57. ^ Tung, Liam. "Google Chrome could soon kill off most ad-blocker extensions". ZDNet. Archived from the original on December 19, 2020. Retrieved June 13, 2019.
  58. ^ "Chrome Users Beware: Manifest V3 is Deceitful and Threatening". December 9, 2021.
  59. ^ "uBO Lite". GitHub.
  60. ^ "More details on the transition to Manifest V3".
  61. ^ Brinkmann, Martin (September 24, 2022). "Mozilla reaffirms that Firefox will continue to support current content blockers". Ghacks Technology News.
  62. ^ Cyphers, Bennett (August 30, 2019). "Don't Play in Google's Privacy Sandbox". Electronic Frontier Foundation. Retrieved April 25, 2024.
  63. ^ O'Reilly, Lara. "Google is once again dictating the future of the online ad industry and all its rivals can do is brace for impact". Business Insider. Retrieved April 25, 2024.
  64. ^ Cyphers, Alexei Miagkov and Bennett (December 14, 2021). "Google's Manifest V3 Still Hurts Privacy, Security, and Innovation". Electronic Frontier Foundation. Retrieved April 25, 2024.
  65. ^ Claburn, Thomas (September 8, 2022). "Ad blockers struggle under Chrome's new rules". The Register. Retrieved April 26, 2024.
  66. ^ "uBlock Origin Lite - Chrome Web Store". chromewebstore.google.com. Retrieved October 20, 2024.
  67. ^ "uAssets/filters/badware.txt at master · uBlockOrigin/uAssets". GitHub. Retrieved August 3, 2024.
  68. ^ "Prevent WebRTC from leaking local IP address". GitHub, gorhill/uBlock. Retrieved May 5, 2023.
  69. ^ "uBlock wiki". GitHub. Retrieved June 13, 2015.
  70. ^ "Inline script tag filtering – Overwiew". GitHub, gorhill/uBlock. Retrieved March 20, 2017.
  71. ^ a b "uBlock ad blocker added to Mozilla's extensions site". Jim Lynch, Technology and Other Musings. Archived from the original on June 9, 2015. Retrieved February 17, 2015.
  72. ^ Kesari, Varun (October 28, 2017). "Adblock Plus vs uBlock Origin | Which one to Choose In 2017? | RMG". rootmygalaxy.net. Retrieved October 28, 2017.
  73. ^ Harper, Christopher (May 2, 2015). "uBlock Origin - Better Than AdBlock Plus? - Make Tech Easier". Make Tech Easier. Retrieved May 27, 2017.
  74. ^ "10 Ad Blocking Extensions Tested for Best Performance". Raymond Tech Resources. August 26, 2015. Retrieved August 26, 2015.
  75. ^ "Notes on memory benchmarks, selfies". uBlock GitHub documentation. Retrieved February 17, 2015.
  76. ^ "Release 1.54.0 · gorhill/uBlock". GitHub. Retrieved October 20, 2024.
  77. ^ "Usage Statistics". jsDelivr. Retrieved October 20, 2024.
  78. ^ a b Pearce, Joshua M. (June 2020). "Energy Conservation with Open Source Ad Blockers". Technologies. 8 (2): 18. doi:10.3390/technologies8020018. ISSN 2227-7080.
  79. ^ "uBlock Origin works best on Firefox". GitHub. Retrieved October 20, 2024.
  80. ^ "uBlock Origin works best on Firefox". GitHub. Retrieved September 3, 2024.
  81. ^ "uBlock Origin Now Blocks Sneaky First-Party Trackers in Firefox". BleepingComputer. Retrieved February 26, 2020.
  82. ^ "uBlock Origin 1.25 Now Blocks Cloaked First-Party Scripts, Firefox Only". BleepingComputer. Retrieved February 26, 2020.
  83. ^ "Apple - Safari - Safari Extensions Gallery". Apple. Archived from the original on March 10, 2016. Retrieved February 19, 2015.
  84. ^ "What is Kiwi Browser about ?". Kiwi Browser. September 22, 2019.
  85. ^ "el1t/uBlock-Safari". github.com. Retrieved January 19, 2017.
  86. ^ "Catalina compatibility · Issue #156 · el1t/uBlock-Safari". github.com. Retrieved August 18, 2019.
  87. ^ "Explanation of the state of uBlock Origin (and other blockers) for Safari". GitHub.
[edit]