From 9c6d0300efed6118304a5da293e9831cba77f135 Mon Sep 17 00:00:00 2001 From: garry-ut99 <72945564+garry-ut99@users.noreply.github.com> Date: Sun, 27 Oct 2024 10:42:05 +0000 Subject: [PATCH] Updated "urlskip" --- Static-filter-syntax.md | 39 +++++++++++++++++++++++++++++++++++---- 1 file changed, 35 insertions(+), 4 deletions(-) diff --git a/Static-filter-syntax.md b/Static-filter-syntax.md index 0180e0e..63eeadb 100644 --- a/Static-filter-syntax.md +++ b/Static-filter-syntax.md @@ -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 (New in [dev build 1.60.1rc0](https://github.com/gorhill/uBlock/commit/d04dc4c767721fb13d91a67cb62ecad9b9219103)) 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 (New in [dev build 1.60.1b1+](https://github.com/gorhill/uBlock/commit/e81e70937f5b6f8f98bdd8e6f71af030486efab8)) - `-uricomponent`: performs URI component-decoding on the current string (New in [dev build 1.60.1b12+](https://github.com/gorhill/uBlock/commit/01eebffc1f)) +- `-blocked`: can be used to explicitly allow a `urlskip=` filter to also apply to blocked network requests (New in [dev build 1.60.1rc0](https://github.com/gorhill/uBlock/commit/d04dc4c767721fb13d91a67cb62ecad9b9219103)) 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).
-
Technical notes -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 + +
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) +
+ +
Technical notes + +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). +
***