Related issue: https://github.com/uBlockOrigin/uBOL-home/issues/326 uBOL now asks broad host permissions by default. Users can still choose narrow host permissions by using their browser's controls for this. For instance in Chromium, those host permissions controls are found in the "Site access" section in the detailed view of an extension. One can set "Site access" to "On click" to revoke broad host permissions, and grant host permissions to only specific site. In such mode, uBOL will still block through the DNR API, but no cosmetic or scriptlet filtering will occurs, as these requires permission to "read and change data" on websites for which higher filtering mode is desired. Some browsers do not automatically grant broad host permissions even when an extension asks for broad permissions at install time, and going forward all browsers will likely adopt this approach, and thus it no longer made sense for uBOL to default to no broad hosts permissions at install time, especially given this leads to issues with no solution -- issues solved with the new approach (e.g. like the ability to deploy uBOL in Optimal mode by default). |
||
|---|---|---|
| .. | ||
| chromium | ||
| description | ||
| extension | ||
| firefox | ||
| scriptlets | ||
| make-rulesets.js | ||
| make-scriptlets.js | ||
| package.json | ||
| README.md | ||
| safe-replace.js | ||
| salvage-ruleids.mjs | ||
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.gitcd uBlockmake mv3-[platform], where[platform]is eitherchromiumorfirefox- 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)