“UBO Minus (MV3)” – An Experimental uBlock Origin Build for Manifest V3

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • uBlock

    uBlock Origin - An efficient blocker for Chromium and Firefox. Fast and lean.

  • > How is DNR "not flexible" enough here?

    DNR does not allow uBO's _Block media elements larger than [x] KB_[1].

    DNR does not allow to know which network request was blocked by what rule. To do so requires the `declarativeNetRequestFeedback` permission, which is available only on locally unpacked extensions, for debugging purpose. This prevents porting to MV3 uBO's overview panel[2], including the "advanced user" version to set firewall-like rules[3], and uBO's logger[4].

    Furthermore, the filter-matching algorithm of DNR does not match the filter-matching algorithm of uBO regarding redirection. In uBO, redirect filters do not compete with block filters, they are looked-up after a network request has been blocked. With DNR, redirect rules competes with block rules, such that uBO's `redirect-rule=` filters can't be ported.

    * * *

    [1] https://github.com/gorhill/uBlock/wiki/Per-site-switches#no-...

    [2] https://github.com/gorhill/uBlock/wiki/Quick-guide:-popup-us...

    [3] https://github.com/gorhill/uBlock/wiki/Dynamic-filtering:-qu...

    [4] https://github.com/gorhill/uBlock/wiki/The-logger

  • brave-browser

    Brave browser for Android, iOS, Linux, macOS, Windows.

  • Brave has committed to retaining support for all of the APIs that were removed by Manifest v3 https://github.com/brave/brave-browser/issues/20059#issuecom... (There are other mentions in the wiki and other places)

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

    SurveyJS logo
  • uAssets

    Resources for uBlock Origin, uMatrix: static filter lists, ready-to-use rulesets, etc.

  • Brendan Eich has committed to supporting the Manifest V2 version of uBlock Origin in Brave [1].

    Brave's built-in native adblocker also definitely won't be affected, as it doesn't use any webextension APIs at all.

    [1]: https://github.com/uBlockOrigin/uAssets/discussions/14544#di...

  • adblock-rust

    Brave's Rust-based adblock engine

  • Brave's adblocker is internal and written in Rust.

    https://github.com/brave/adblock-rust

    I'm pretty sure it's also faster than any adblock extension like uBlock.

  • bromite

    Bromite is a Chromium fork with ad blocking and privacy enhancements; take back your browser!

  • Check out https://www.bromite.org/, it's a android chromium fork with adblocking built in like brave but without the crypto stuff. Also has support for userscripts!

  • google-api-javascript-client

    Google APIs Client Library for browser JavaScript, aka gapi.

  • One interesting consequence of this is that Google's own javascript api client will no longer work with MV3 and there are apparently no plans to ever make it work.

    See https://github.com/google/google-api-javascript-client/issue...

    So effectively this means extensions on MV3 can't easily access Google apis, which is quite unfortunate since Chrome extensions in particular made Google authentication super straightforward (piggybacking off of chrome's built-in google authentication). If someone knows a better way I'd love to hear it.

    I believe the reason that the current incarnation of the javascript library won't work is because it modifies the dom to add script tags to fetch and run the api library (or components of it), which is specifically what MV3 will disallow AFAIK.

  • example-chrome-extension

    Example Chrome Extension - open source examples for Chrome extension APIs

  • I was frustrated with the lack of resources, so I'm publishing a book on it: "Building Browser Extensions". Available later this year. https://www.buildingbrowserextensions.com/

    And check out the companion extension: https://www.buildingbrowserextensions.com/b2x

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • uBlock-issues

    This is the community-maintained issue tracker for uBlock Origin

  • I can't provide a source for Google axing a too-invasive extension, because they've never been straightforward about it. My favorite excuse was that the extension's description was "too detailed."

    As for the other, here you go: https://github.com/uBlockOrigin/uBlock-issues/issues/338#iss...

  • ruffle

    A Flash Player emulator written in Rust

  • I had no idea it was this bad behind the curtain. My association with Flash is positive, though entirely for the animation culture it engendered and not the problems like these. I wonder whether Director/Shockwave was any better?

    Also, mad respect to the developers at http://ruffle.rs, who are having to do it _again_! Maybe they have a chance to implement the Flash runtime cleanly.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts