1
0
mirror of https://github.com/gorhill/uBlock.git synced 2024-11-25 03:43:25 +01:00
uBlock/platform/mv3
Raymond Hill 6355a17187
[mv3] Fix flaw breaking scriptlets injection in optimal/basic mode
Not all matching scriptlets were injected on a given site in Optimal
or Complete mode when default mode was set to Basic or less.

A high profile manifestation of this bug was that Youtube ads were
not being blocked when using Optimal on Youtube while default mode
was Basic.
2024-11-20 09:04:52 -05:00
..
chromium [mv3] Fix injection of scriptlets into embedded contexts 2024-08-20 08:18:03 -04:00
description Import translation work from https://crowdin.com/project/ublock 2024-11-18 10:24:08 -05:00
extension [mv3] Fix flaw breaking scriptlets injection in optimal/basic mode 2024-11-20 09:04:52 -05:00
firefox Add browser_specific_settings.gecko_android to Firefox manifests 2023-10-11 12:32:38 -04:00
scriptlets [mv3] Remove obsolete Firefox-only workaround in scriptlet template 2024-11-13 09:10:51 -05:00
make-rulesets.js [mv3] Re-work dashboard: move list of rulesets in its own pane 2024-11-17 17:27:27 -05:00
make-scriptlets.js Change official description in source code top comment 2023-12-04 12:10:34 -05:00
package.json
README.md Update README.md 2024-09-27 11:04:42 -04:00
safe-replace.js Change official description in source code top comment 2023-12-04 12:10:34 -05:00
salvage-ruleids.mjs Fix the salvaging of rule ids 2024-03-11 22:22:57 -04:00

How to build MV3 uBO Lite

Instructions for reviewers.

The following assumes a linux environment.

  1. Open Bash console
  2. git clone https://github.com/gorhill/uBlock.git
  3. cd uBlock
  4. make mv3-[platform], where [platform] is either chromium or firefox
  5. This will fully build uBO Lite, and during the process filter lists will be downloaded from their respective remote servers

Upon completion of the script, the resulting extension package will become present in:

  • Chromium: dist/build/uBOLite.chromium
  • Firefox: dist/build/uBOLite.firefox

The folder dist/build/mv3-data will cache data fetched from remote servers, so as to avoid fetching repeatedly from remote servers with repeated build commands. Use make cleanassets to remove all locally cached filter lists if you want to build with latest versions of filter lists.

The file dist/build/mv3-data/log.txt will contain information about what happened during the build process.

The entry in the Makefile which implement the build process is tools/make-mv3.sh [platform].[1] This Bash script copy various files from uBlock Origin branch and MV3-specific branch into a single folder which will be the final extension package.

Notably, tools/make-mv3.sh [platform] calls a Nodejs script which purpose is to convert the filter lists into various rulesets to be used in a declarative way. The Nodejs version required is 17.5.0 or above.

All the final rulesets are present in the dist/build/uBOLite.[platform]/rulesets in the final extension package.


[1] c4d324362f/tools/make-mv3.sh [2] c4d324362f/tools/make-mv3.sh (L103)