2e745f9bfb
Related bugzilla issue: https://bugzilla.mozilla.org/show_bug.cgi?id=1736575 The issue was fixed months ago. The removed code block is causing uBOL to be flagged as "including remotely hosted code". To be clear, the removed obsolete code block was not related to executing remote code. The referenced code was in the file itself, not remote, and this was a workaround for when Firefox was not supporting injecting script in the `MAIN` world. The issue was fixed months ago in Firefox, so there is no point for the workaround. |
||
---|---|---|
.. | ||
chromium | ||
description | ||
extension | ||
firefox | ||
scriptlets | ||
README.md | ||
make-rulesets.js | ||
make-scriptlets.js | ||
package.json | ||
safe-replace.js | ||
salvage-ruleids.mjs |
README.md
How to build MV3 uBO Lite
Instructions for reviewers.
The following assumes a linux environment.
- Open Bash console
git clone https://github.com/gorhill/uBlock.git
cd uBlock
make mv3-[platform]
, where[platform]
is eitherchromium
orfirefox
- 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)