From 899ee5b80ae93adf7bd94d41f457e8b489f0c90a Mon Sep 17 00:00:00 2001
From: garry-ut99 <72945564+garry-ut99@users.noreply.github.com>
Date: Mon, 7 Oct 2024 11:55:59 +0000
Subject: [PATCH] Updated "urlskip": positional lookup + example, also base64
example
---
Static-filter-syntax.md | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/Static-filter-syntax.md b/Static-filter-syntax.md
index 6f12b00..090c834 100644
--- a/Static-filter-syntax.md
+++ b/Static-filter-syntax.md
@@ -1033,6 +1033,8 @@ The syntax is `urlskip=[steps]`, where steps is a space-separated list of extrac
Valid directives:
- `?name`: the value of parameter named `name` will be extracted and replace the current URL as the new URL
+- `&i` ([dev build 1.60.1b6+](https://github.com/gorhill/uBlock/commit/64b2086ba4)): meant to lookup a parameter's name at position `i` (1-based). The parameter name will be used as the
+URL (whereas `?` is meant to lookup a parameter's value)
- `+https`: the protocol of the current URL will be forced to `https:`
This directive will succeed only if the protocol of the current URL is either absent or matches `http:` or `https:`
- `-base64` ([dev build 1.61.1+](https://github.com/gorhill/uBlock/commit/e81e70937f5b6f8f98bdd8e6f71af030486efab8)): decode as a base64-encoded string
@@ -1056,6 +1058,19 @@ The above filter will cause navigation to `https://example.com/path/to/tracker?u
_Note:_ No skip will occur if not all extraction directives can be fulfilled in a given URL. For example, `https://example.com/path/to/tracker?url=https%3A%2F%2Fexample.org%2Fpath%2Fto%2Ftracker` won't be skipped by the filter above because the `?to` step can't be fulfilled.
+```adb
+||shrinkearn.com/full?$urlskip=?url -base64
+```
+
+The above filter will decode `base64` encoded URL in `urlskip=` in example link `https://shrinkearn.com/full?api=3dd1f43f5fded450a0e4691e503bf19b31f35f44&url=aHR0cHM6Ly9rcmFrZW5maWxlcy5jb20vdmlldy9zamJ1RmpQVTF2L2ZpbGUuaHRtbA==&type=2`.
+
+```adb
+||pixiv.net/jump.php?$urlskip=&1
+```
+
+The above filter will lookup a parameter's name at given position in example link: `https://www.pixiv.net/jump.php?https%3A%2F%2Fx.com%2FExample_Username`, the parameter name will be used as the
+URL (whereas `?` is meant to lookup a parameter's value).
+
Technical notes
First commit in [1.59.1b22](https://github.com/gorhill/uBlock/commit/266ec4894b).