uBlock Origin MV3

An unofficial port of uBlock Origin to Manifest V3, enabling webRequestBlocking with policy installation or --allowlisted-extension-id. This website currently hosts version 1.74.0 of uBlock Origin. You can download the CRX from /uBlock0_1.74.0.crx.

Installation

Chrome 138 or newer is required. To install, add "blockddmmcjpfkbhanlgegpmjpfpfjka;https://ublock.r58playz.dev/update.xml" to Chrome's ExtensionInstallForcelist policy, or install manually and use the --allowlisted-extension-id=blockddmmcjpfkbhanlgegpmjpfpfjka flag. This varies across operating systems and is heavily restricted on Windows and macOS. The flag must be present on every launch. Unlike a policy install, the flag-based install does not allow blocking handlers to return promises while uBO starts.

Linux

  1. Create /etc/opt/chrome/policies/managed/policy.json, or /etc/chromium/policies/managed/policy.json depending on your install.
  2. Write { "ExtensionInstallForcelist": ["blockddmmcjpfkbhanlgegpmjpfpfjka;https://ublock.r58playz.dev/update.xml"] } into the file.
  3. Restart the browser, then enable Allow User Scripts in the extension's details page.

Windows and macOS

Chrome refuses to force-install an extension from a non-Web-Store update URL unless the device has a management authority it considers trustworthy. Merely writing the policy locally via platform policy locations like regedit or plists does not establish that trust. Chrome shows the effective entry as [BLOCKED]... in chrome://policy.

Option 1: give the device a trusted management authority

This is the only way to get a full policy install, including promise-returning webRequestBlocking handlers.

If the device is managed through a domain or MDM, deploy the policy through that management system. A locally applied machine policy can also be used after Chrome recognises the device as managed:

Then restart the browser and enable Allow User Scripts in the extension's details page. If chrome://policy still shows the value with a [BLOCKED] prefix, the device is not being recognised as managed.

Option 2: manual install plus a launch flag

This works on any unmanaged Windows or macOS machine, but the extension ends up installed as an ordinary extension rather than by policy. Promise-returning webRequestBlocking handlers are therefore unavailable. While uBO starts, subresource requests are temporarily cancelled and affected tabs may be reloaded instead of requests being held until the filtering engine is ready.

On branded Google Chrome, the packaged CRX must also be added to the machine-level ExtensionInstallAllowlist policy so Chrome does not disable it after installation. This is not needed for unbranded Chromium. The allowlist does not install the extension or replace the launch flag.

  1. Download the CRX.
  2. Remove any ExtensionInstallForcelist entry for this extension.
  3. Add blockddmmcjpfkbhanlgegpmjpfpfjka to the machine-level ExtensionInstallAllowlist policy:
    • Windows: in regedit, create HKEY_LOCAL_MACHINE\Software\Policies\Google\Chrome\ExtensionInstallAllowlist, add a string value named 1 (or the next free number), and set it to the extension ID.
    • macOS: add ExtensionInstallAllowlist, as an array containing only the extension ID, to /Library/Managed Preferences/com.google.Chrome.plist.
  4. Completely quit Chrome, including background processes, restart it, and verify the allowlist in chrome://policy.
  5. Launch Chrome with --allowlisted-extension-id=blockddmmcjpfkbhanlgegpmjpfpfjka. Chrome will show an unsupported command-line flag warning; do not suppress it with --test-type, which changes other browser behaviour.
  6. Open chrome://extensions, enable Developer mode, then drag the CRX onto the page and approve the installation.
  7. Enable Allow User Scripts in the extension's details page. Wait for the ! badge to clear; reload the extension if it does not.

The flag is what makes Chromium grant the MV3 webRequestBlocking permission to this extension. Chrome must be started with it every time.

How it works

Check out the GitHub for the source and for build instructions.