Commit graph

104 commits

Author SHA1 Message Date
Raymond Hill
e20e6addf0
[mv3] Mind excluded to= hostnames in strict-block rules 2025-04-16 08:18:26 -04:00
Raymond Hill
b5eea3ce3a
[mv3] Fix Github Actions 2025-04-13 15:45:39 -04:00
Raymond Hill
e11335f5ad
[mv3] Fix Github Actions 2025-04-13 15:37:07 -04:00
Raymond Hill
50f87c21ea
[mv3] Provide console feedback that work is ongoing when building 2025-04-13 09:04:13 -04:00
Raymond Hill
595f9fd469
[mv3] Loosen requirements to qualify for strict-blocking 2025-04-03 12:09:20 -04:00
Raymond Hill
d7ae3a185e
[mv3] Test filters are trusted 2025-03-25 12:58:26 -04:00
Raymond Hill
98b011f64c
[mv3] Add support for explicit generichide filter option
`generichide` option is implicitly enforced on all sites unless an
exception overrides `generichide`. Though rare, sometimes a
`generichide` exception needs to be overridden so that generic
cosmetic filtering is made possible on a specific site.

This commit is to add support for restoring generic cosmetic
filtering on sites which were excluded through a `generichide`
exception.

Concretely, this is needed to ensure the test suite can properly
verify that generic cosmetic filtering is working when the
filtering mode is set to "complete":

||ublockorigin.github.io^$generichide,important
2025-03-18 17:15:35 -04:00
Raymond Hill
fba662421d
[mv3] Make it easier to add filters for testing purpose 2025-03-15 15:06:51 -04:00
Raymond Hill
b98a8d5c02
[mv3] Remove stray test filters 2025-03-14 12:29:01 -04:00
Raymond Hill
68962453ff
[mv3] Eliminate false positives in new generic cosmetic exception code
Related commit:
a009623d97
2025-03-13 19:02:20 -04:00
Raymond Hill
a009623d97
[mv3] Improve generic cosmetic filtering
Specifically, properly exclude generic cosmetic filters according to
specific cosmetic exceptions.

Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/181
2025-03-13 13:15:27 -04:00
Raymond Hill
94db43c4ad
[mv3] Minor changes to account for Edge build 2025-03-08 11:31:31 -05:00
Raymond Hill
d006fd06e7
[mv3] Add support for ancestor context syntax in scriptlets
Related commit:
a483f7955f
2025-03-07 17:04:02 -05:00
Raymond Hill
536f0fba25
[mv3] Add test suite list to available rulesets
Microsoft Edge for Android requires a "link to the core function
test cases for your Edge Android extension" to verify that the
extension function properly.
2025-03-06 17:39:15 -05:00
Raymond Hill
6ca28a5b3f
[mv3] Improve output og log.txt 2025-02-22 07:38:12 -05:00
Raymond Hill
1d2378e74e
[mv3] Workaround for permissions dialog preventing proper mode change
This is a Chromium-specific issue.

Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/280
2025-02-21 08:23:27 -05:00
Raymond Hill
f8975e3a6a
Better integrate latest eslint version 2025-01-10 10:25:15 -05:00
Raymond Hill
217d001d71
[mv3] Minor changes 2024-12-30 13:40:18 -05:00
Raymond Hill
61922da24b
[mv3] Extend strict-blocking coverage; improve URL-skip behavior
This extends coverage of strict-blocking to pattern-based filters
with `doc` filter option.

When proceeding with a URL-skip URL present, no temporary bypass
will be created when the "Don't warn me again about this site" is
left unchecked. The idea is to avoid the intermediate redirects
if we navigate again on the same strict-blocked site, while a
temporary bypass would prevent this.

uBO's "Badware risks" list has been spinned off as its own list.
The idea is that should a site be strict-blocked from that list,
we would want to know the strict-block is due to the
"Badware risks" list.
2024-12-29 16:38:56 -05:00
Raymond Hill
27a72b8eef
[mv3] Hopefully this fixes Edge submission issue
Submission to Edge Addons store fails with:

----
The following checks failed:
Package acceptance validation error:
Manifest file reference 'urlhaus.full' does not exist in the zip archive.
(Note: File locations are case-sensitive)
Package acceptance validation error:
Manifest file reference 'openphish.domains' does not exist in the zip archive.
(Note: File locations are case-sensitive)
----

Guessing the use of period in ruleset file path is causing the
issue.
2024-12-23 09:57:57 -05:00
Raymond Hill
89e44131a0
[mv3] Enable OpenPhish ruleset by default
As discussed with filter list maintainers.
2024-12-21 08:57:12 -05:00
Raymond Hill
ac9e12e17c
[mv3] Add "Malware protection, security" section in "Filter lists" pane
Additionally, add "Openphish Domain Blocklist" as stock list.
2024-12-14 08:45:17 -05:00
Raymond Hill
0f373b7639
Use HOSTS version of "Malicious URL Blocklist"
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/256
2024-12-13 11:18:18 -05:00
Raymond Hill
439d608d03
Revert "Use HOSTS version of "Malicious URL Blocklist""
This reverts commit 54ebea31f7.
2024-12-13 11:15:36 -05:00
Raymond Hill
54ebea31f7
Use HOSTS version of "Malicious URL Blocklist"
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/256
2024-12-12 20:00:08 -05:00
Raymond Hill
b7bacc0fc1
Fix bad filter in urlhaus
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/256
2024-12-12 19:47:48 -05:00
Raymond Hill
09554384ef
[mv3] Replace "30-day Phishing Domain List" with "Malicious URL Blocklist"
As per team feedback.
2024-12-09 10:48:24 -05:00
Raymond Hill
56ba93700c
[mv3] Ensure no generic cosmetic filters end up in specific realm
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/254

Cosmetic filters with only negated hostnames would end up being
classified as specific, while in reality the filter is generic, with
specific exceptions.

This commit fixes the improper classification. Enforcing specific
exception filters in the generic realm is still an issue to
address.
2024-12-08 08:37:29 -05:00
Raymond Hill
38390bab9c
[mv3] Add urlskip support for strict-blocked page + extra info
Add information about which ruleset caused a page to be strict-
blocked.

Whenever possible, add ability to URL-skip an incoming redirect
in a strict-blocked page.

Add new default list: "30-day Phishing Domain List"
2024-12-05 12:56:25 -05:00
Raymond Hill
aa05cb32c6
[mv3] Implement strict blocking
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/214

This implements basic functionality for strict blocking, i.e. the
ability to block navigation to undesirable websites. This is a
first implementation, which converts only filters that are plain
hostnames.

Unlike with uBO, it is not possible to know from which ruleset a
blocking rule originates. Nonetheless, users will have to make a
choice as to whether navigation should proceed or not.

A setting has been added to the dashboard to wholly enable/disable
strict blocking. It is enabled by default.

Potential future improvements, pending investigation on feasability
in an MV3 framework:
- Extend coverage to explicit `document` filters
- Leverage and use `urlskip=` filters in the blocking page in order
  to proceed while bypassing unwanted redirects.
2024-12-03 16:41:34 -05:00
Raymond Hill
b2d7bb72c7
[mv3] Write log.txt file to extension folder 2024-11-20 12:55:13 -05:00
Raymond Hill
ae4754415c
[mv3] Re-work dashboard: move list of rulesets in its own pane
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/229

Add "Filter lists" pane in dashboard

The DNR API now supports enabling 50 static rulesets put of a
maximum of 100 (instead of 10 out of 50 originally). Thus given
the potentially growing number of static rulesets, the available
stock rulesets has been moved to its own pane, with the following
improvements:
- Support sublists
- Support search

Aditionally, "RU AdList: Counter" has been added as a stock
ruleset.

Other changes:
- Do not re-evaluate regexes which failed validation
- Better reduce `removeparam` rules
2024-11-17 17:27:27 -05:00
Raymond Hill
89c353640e
[mv3] Add EST-0 list 2024-10-17 12:27:49 -04:00
Raymond Hill
0a048eb64e
Address eslint warnings 2024-08-22 12:36:31 -04:00
Raymond Hill
665648ba97
[mv3] Re-word some text for accuracy 2024-08-07 10:03:03 -04:00
Raymond Hill
ad77938f24
[mv3] Raise minimum chromium version to 118
This allows to drop the special handling of `isUrlFilterCaseSensitive`
for chromium-based browsers.
2024-05-29 09:57:09 -04:00
Raymond Hill
65b6753c69
Simpler to use an extra property than to use a new assets.json 2024-03-14 10:20:25 -04:00
Raymond Hill
633135745f
Need new assets.son file for next release
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3154
2024-03-11 18:41:18 -04:00
Raymond Hill
8533fa74ee
[mv3] Use EasyList lists for "Annoyances" section 2024-03-07 09:14:30 -05:00
Raymond Hill
fcc77e7c92
[mv3] Add ability to manually add filters to a ruleset 2024-02-25 20:39:21 -05:00
Raymond Hill
f2d7413a42
[mv3] Reuse rule ids across release where possible
This is to reduce the diff size of rulesets in new
releases. Beside smaller diff size, this also makes it
easier to investigate rule changes across releases.
2024-02-14 14:27:36 -05:00
Raymond Hill
3d576603c4
[mv3] uritransform cannot be converted to DNR 2024-01-21 14:32:14 -05:00
Raymond Hill
acc2950736
[mv3] Fine tuning ruleset output 2023-12-11 09:29:59 -05:00
Raymond Hill
af0a3f4abb
[mv3] Have one rule per line in ruleset files 2023-12-09 11:02:20 -05:00
Raymond Hill
a969a672e0
Change official description in source code top comment 2023-12-04 12:10:34 -05:00
Raymond Hill
857abb380b
[mv3] Add support for converting ^responseheader() filters to DNR
Additionally, finalize versioning scheme for uBOL. Since most updates
will be simply related to update rulesets, the version will from now
on reflects the date at which the extension package was created:

  year.month.day.minutes

So for example:

  2023.8.19.690
2023-08-19 07:48:14 -04:00
Raymond Hill
f049aea65e
Provide instructions on how to build uBO Lite
Required by AMO when submitting an extension to be hosted on AMO.
2023-08-12 08:02:42 -04:00
Raymond Hill
a9a78d415d
[mv3] Various approach to minimize DNR ruleset file
Related issue:
https://github.com/mozilla/addons-server/issues/4717
2023-08-11 20:42:03 -04:00
Raymond Hill
bb41d9594f
[mv3] Use workaround to inject scriptlets in Firefox
Additionally:

Use `export UBO_VERSION=local` at the console to build MV3 extension using
current version of uBO code base. By default, the version is taken from
`./platform/mv3/ubo-version' and usually set to last stable release.
2023-08-11 13:22:25 -04:00
Raymond Hill
4a83b80328
[mv3] Properly enforce generic cosmetic exception filters
Related issue:
- https://github.com/uBlockOrigin/uBOL-issues/issues/58
2023-07-11 14:38:35 -04:00