Commit Graph

12604 Commits

Author SHA1 Message Date
Raymond Hill 59487b189c
Add `+https` directive to `urlskip=` option
When present, the `+https` directive will force the protocol of the
resulting URL to be `https:`.

Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/issues/3206#issuecomment-2363392357
2024-09-20 08:15:31 -04:00
Raymond Hill 4f181b0bc5
Support matching against list of IP addresses
Related commit:
6acf97bf51
2024-09-20 07:20:55 -04:00
Raymond Hill 55ab6d6875
Make Firefox dev build auto-update 2024-09-19 09:06:24 -04:00
Raymond Hill 1139085ca5
Update changelog 2024-09-19 08:56:36 -04:00
Raymond Hill 760b2ffce6
Add advanced setting `dnsResolveEnabled`
Default to `true`.

Set to `false` to wholly disable calls to `dns.resolve()` (Firefox-
only). Disabling calls to `dns.resolve()` will prevent cname-uncloaking
and will limit ability to enforce `ipaddress` filter option.
2024-09-19 08:43:54 -04:00
Raymond Hill b01a418073
Add filtering output expressions`replace`/`urlskip` to logger
Additioanlly, removed `uritransform` as it is currently barely used,
if at all.
2024-09-19 08:08:49 -04:00
Raymond Hill 4ccc0d0fda
Minimize memory allocation in scriptlet helper `proxy-apply-fn`
Probably beneficial in cases of proxied method called in a tight
loop.

Additionally, added `throwFunc` as valid constant in script helper
`validate-constant.fn`. Does what the name implies.
2024-09-19 07:49:54 -04:00
Raymond Hill e98fdeb0a5
Mind `urlskip=` in built-in benchmark 2024-09-18 12:24:04 -04:00
Raymond Hill 7843a21428
Make Firefox dev build auto-update 2024-09-18 11:56:22 -04:00
Raymond Hill 60039ab133
New revision for release candidate 2024-09-18 11:37:06 -04:00
Raymond Hill b06c5337ec
Update changelog 2024-09-18 11:36:39 -04:00
Raymond Hill 0a6dc47a72
Fix contextual menu quirks
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3382
2024-09-18 11:33:31 -04:00
Raymond Hill b3ffba7238
Fine tune indent rules 2024-09-18 11:32:16 -04:00
Raymond Hill 11c3a16036
Fix exception thrown in `spoof-css` in Firefox
Related feedback:
https://github.com/uBlockOrigin/uAssets/issues/25358#issuecomment-2358278979
2024-09-18 10:34:18 -04:00
Raymond Hill 62d74d4f1d
Add trailing wildcard syntax to `ipaddress=` option
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3381
2024-09-18 09:56:46 -04:00
Raymond Hill f0f859c685
Make Firefox dev build auto-update 2024-09-17 18:16:11 -04:00
Raymond Hill 4094f43daf
New revision for release candidate 2024-09-17 18:10:32 -04:00
Raymond Hill fe3846b72f
Oops meant to be 5s, not 300s... 2024-09-17 18:10:09 -04:00
Raymond Hill 11f43d4a3d
Make Firefox dev build auto-update 2024-09-17 18:00:42 -04:00
Raymond Hill 3238fe48db
Import translation work from https://crowdin.com/project/ublock 2024-09-17 17:48:45 -04:00
Raymond Hill 2375ca3ca0
Update changelog 2024-09-17 17:36:12 -04:00
Raymond Hill 00d4262c0d
New revision for release candidate 2024-09-17 17:35:22 -04:00
Raymond Hill e8f6f3ddff
Throttle down repeated scriptlet logging information
Related feedback
https://github.com/uBlockOrigin/uBlock-issues/issues/3378#issuecomment-2356422784
2024-09-17 17:33:06 -04:00
Raymond Hill acffae6a21
Make Firefox dev build auto-update 2024-09-17 10:36:08 -04:00
Raymond Hill 58c13bacb7
new revision for release candidate 2024-09-17 10:28:54 -04:00
Raymond Hill 6a042f152b
Ignore browser-provided 0.0.0.0 ip address when DNS is proxied
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3379
2024-09-17 10:26:40 -04:00
Raymond Hill d238baa374
Make Firefox dev build auto-update 2024-09-17 09:35:36 -04:00
Raymond Hill 7fb626850e
New revision for release candidate 2024-09-17 09:28:31 -04:00
Raymond Hill 9155a89c08
Update changelog 2024-09-17 09:28:02 -04:00
Raymond Hill 547fae4842
Improve scriptlet helper `proxy-apply`
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3378
2024-09-17 09:09:19 -04:00
Raymond Hill ef1e134460
Import translation work from https://crowdin.com/project/ublock 2024-09-15 13:27:32 -04:00
Raymond Hill b62aabda85
Import translation work from https://crowdin.com/project/ublock 2024-09-15 13:25:58 -04:00
Raymond Hill e18a3707c7
Add an entry in _Report_ page for badware/phishing category
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3151

Entry:
"Add an entry in the reporting tool for badware issues"
2024-09-15 13:20:47 -04:00
Raymond Hill a9d8e96675
Update changelog 2024-09-15 10:38:52 -04:00
Raymond Hill 5fda425059
Make Firefox dev build auto-update 2024-09-15 09:51:42 -04:00
Raymond Hill 096b4d9e81
New revision for dev build 2024-09-15 09:46:06 -04:00
Raymond Hill b79fe942e1
Update changelog 2024-09-15 09:45:33 -04:00
Raymond Hill 266ec4894b
New static network filter option `urlskip=`
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3206

The main purpose is to bypass URLs designed to track whether a user
visited a specific URL, typically used in click-tracking links.

The `urlskip=` option ...

- ... is valid only when used in a trusted filter list
- ... is enforced only on top documents
- ... is enforced on both blocked and non-blocked documents
- ... is a modifier, i.e. it cannot be used along with other
      modifier options in a single filter

The syntax is `urlskip=[steps]`, where steps is a space-separated
list of extraction directives detailing what action to perform on
the current URL.

The only supported directive in this first commit is `?name`,
which purpose is to extract the value of a named URL parameter
and use the result as the new URL. Example:

  ||example.com/path/to/tracker$urlskip=?url

The above filter will cause navigation to

  https://example.com/path/to/tracker?url=https://example.org/

to automatically bypass navigation to `example.com` and navigate
directly to

  https://example.org/

It is possible to recursively extract URL parameters by using
more than one directive, example:

  ||example.com/path/to/tracker$urlskip=?url ?to

More extraction capabilities may be added in the future.
2024-09-15 09:17:19 -04:00
Raymond Hill 4b285c0593
Dynamically load DNR conversion module on-demand
DNR conversion module is a dev tool, no point loading it by
default. This was done this way because in a distant past uBO
had to be compatible with browsers not supporting dynamically
loaded modules.

Currently all supported browser versions support dynamically
loaded modules.
2024-09-14 12:13:47 -04:00
Raymond Hill c265e849e0
Fetch and cache cname of collated hostnames in page store
Related feedback:
https://github.com/uBlockOrigin/uBlock-issues/discussions/3376
2024-09-14 11:50:10 -04:00
Raymond Hill f936dfa648
Fix potential failure to unregister scriptlet
In Firefox-specific contentScripts API used to register
scriptlets. This could potentially occurs when there are
registrations pending during a reload of filter lists.
2024-09-14 09:32:37 -04:00
Raymond Hill 41d49921c8
Minor code review 2024-09-14 09:20:54 -04:00
Raymond Hill f9ab4b7504
Make Firefox dev build auto-update 2024-09-14 00:15:41 -04:00
Raymond Hill 42700a6f76
New revision for dev build 2024-09-14 00:12:00 -04:00
Raymond Hill 5e6f78a902
Fix regression re. `mp4` filter option
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/3375
2024-09-14 00:10:34 -04:00
Raymond Hill 93042eced4
Use dummy dns API when it's not present 2024-09-13 11:20:37 -04:00
Raymond Hill d1db02b04c
Make Firefox dev build auto-update 2024-09-13 10:11:27 -04:00
Raymond Hill 63e5611877
New revision for dev build 2024-09-13 10:04:13 -04:00
Raymond Hill 73ee3ffe92
Code review of DNS-related code
Related commit:
6acf97bf51
2024-09-13 10:00:41 -04:00
Raymond Hill 8fadfb2c5e
Import translation work from https://crowdin.com/project/ublock 2024-09-12 15:40:24 -04:00