Updated "urlskip"

garry-ut99 2024-10-27 10:42:05 +00:00
parent 8e292fc9a1
commit 9c6d0300ef
1 changed files with 35 additions and 4 deletions

@ -1027,6 +1027,7 @@ The `urlskip=` option ...
- ... 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
- ... is enforced only on network requests which are not blocked by other filter <sup>(New in [dev build 1.60.1rc0](https://github.com/gorhill/uBlock/commit/d04dc4c767721fb13d91a67cb62ecad9b9219103))</sup>
The syntax is `urlskip=[steps]`, where steps is a serie of space-separated directives representing the transformation steps to perform to extract the final URL to which a network request should be redirected.
@ -1040,6 +1041,7 @@ Valid directives:
- or replaces already existing leading `http://` protocol with `https://`
- `-base64`: performs base64-decoding on the current string <sup>(New in [dev build 1.60.1b1+](https://github.com/gorhill/uBlock/commit/e81e70937f5b6f8f98bdd8e6f71af030486efab8))</sup>
- `-uricomponent`: performs URI component-decoding on the current string <sup>(New in [dev build 1.60.1b12+](https://github.com/gorhill/uBlock/commit/01eebffc1f))</sup>
- `-blocked`: can be used to explicitly allow a `urlskip=` filter to also apply to blocked network requests <sup>(New in [dev build 1.60.1rc0](https://github.com/gorhill/uBlock/commit/d04dc4c767721fb13d91a67cb62ecad9b9219103))</sup>
At any given step, the currently extracted string may not necessarily be a valid URL, and more transformation steps may be needed to obtain a valid URL once all the steps are applied.
@ -1096,15 +1098,37 @@ The above filter will cause navigation to: `https://www.pixiv.net/jump.php?https
```
The above filter will cause navigation to:
- `https://click.redditmail.com/CL0/https://www.reddit.com/r/natureisfuckinglit/comments/1f7l41z/orca_pod_saying_hi_to_paddle_boarder/?%24deep_link=true&correlation_id=21bc5fa3-f0f4-43b5-92e4-6d2deb135b8a&post_fullname=t3_1f7l41z&post_index=2&ref=email_digest&ref_campaign=email_digest&ref_source=email&utm_content=post_author/1/01000191bd393638-90cd632e-f420-45fd-a732-27dc3e441ee2-000000/aBs5XoGsoLNHwf95BGM6JzVs4iNSldLNZ9hOBaWN_HA=369`
- `https://click.redditmail.com/CL0/https:%2F%2Fwww.reddit.com/r/natureisfuckinglit/comments/1f7l41z/orca_pod_saying_hi_to_paddle_boarder/%3F%2524deep_link=true&correlation_id=21bc5fa3-f0f4-43b5-92e4-6d2deb135b8a&post_fullname=t3_1f7l41z&post_index=2&ref=email_digest&ref_campaign=email_digest&ref_source=email&utm_content=post_author/1/01000191bd393638-90cd632e-f420-45fd-a732-27dc3e441ee2-000000/aBs5XoGsoLNHwf95BGM6JzVs4iNSldLNZ9hOBaWN_HA=369%5D`
`https://click.redditmail.com/CL0/https://www.reddit.com/r/natureisfuckinglit/comments/1f7l41z/orca_pod_saying_hi_to_paddle_boarder/?%24deep_link=true&correlation_id=21bc5fa3-f0f4-43b5-92e4-6d2deb135b8a&post_fullname=t3_1f7l41z&post_index=2&ref=email_digest&ref_campaign=email_digest&ref_source=email&utm_content=post_author/1/01000191bd393638-90cd632e-f420-45fd-a732-27dc3e441ee2-000000/aBs5XoGsoLNHwf95BGM6JzVs4iNSldLNZ9hOBaWN_HA=369`
`https://click.redditmail.com/CL0/https:%2F%2Fwww.reddit.com/r/natureisfuckinglit/comments/1f7l41z/orca_pod_saying_hi_to_paddle_boarder/%3F%2524deep_link=true&correlation_id=21bc5fa3-f0f4-43b5-92e4-6d2deb135b8a&post_fullname=t3_1f7l41z&post_index=2&ref=email_digest&ref_campaign=email_digest&ref_source=email&utm_content=post_author/1/01000191bd393638-90cd632e-f420-45fd-a732-27dc3e441ee2-000000/aBs5XoGsoLNHwf95BGM6JzVs4iNSldLNZ9hOBaWN_HA=369%5D`
to automatically bypass navigation to `click.redditmail.com` and navigate directly to `https://` + `www.reddit.com/r/natureisfuckinglit/comments/1f7l41z/orca_pod_saying_hi_to_paddle_boarder/` (after it previously was `URI component` decoded).
<br>
<details><summary>Technical notes</summary>
First commit in [1.59.1b22](https://github.com/gorhill/uBlock/commit/266ec4894b).
Given the filter `||example.com^`, the filter:
```adb
||example.com/path/to/tracker$urlskip=?url
```
will not prevent strict-blocking when navigating to:
`https://example.com/path/to/tracker?url=https://example.org/`
However, the filter:
```adb
||example.com/path/to/tracker$urlskip=-blocked ?url
```
will cause the strict-blocking to be ignored and allow navigation
to proceed to the URL extracted as a result of applying the `urlskip=`
filter: `https://example.org/`
Related discussion: https://github.com/uBlockOrigin/uBlock-issues/issues/3206#issuecomment-2439627386
<br>
Related issues:
@ -1112,6 +1136,13 @@ Related issues:
- [Implement `$queryjump` for static network filter](https://github.com/uBlockOrigin/uBlock-issues/issues/2693)
- [[Enhancement] Add option to *automatically* visit embedded URLs w/o tracker](https://github.com/uBlockOrigin/uBlock-issues/issues/1784)
<br>
<details><summary>Technical notes</summary>
First commit in [1.59.1b22](https://github.com/gorhill/uBlock/commit/266ec4894b).
Last commit in [1.60.1rc0](https://github.com/gorhill/uBlock/commit/d04dc4c767721fb13d91a67cb62ecad9b9219103).
</details>
***