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).
+
***