diff --git a/docs/general/ad-filtering/create-own-filters.md b/docs/general/ad-filtering/create-own-filters.md index 0faa4b74f26..11cc2d6252b 100644 --- a/docs/general/ad-filtering/create-own-filters.md +++ b/docs/general/ad-filtering/create-own-filters.md @@ -742,6 +742,8 @@ Rules with the `$popup` modifier are not supported by AdGuard Content Blocker. Works the same as the [`$~third-party`](#third-party-modifier) modifier, but only treats the request as first-party if the referrer and origin have exactly the same hostname. +Requests without referrer are also treated as first-party requests and the rules with `$strict-first-party` modifier will be applied to such requests. + **Examples** - domain.com$strict-first-party' — this rule applies only to `domain.com`. For example, a request from `domain.com` to `http://domain.com/icon.ico` is a first-party request. A request from `sub.domain.com` to `http://domain.com/icon.ico` is treated as a third-party one (as opposed to the `$~third-party` modifier). @@ -756,6 +758,8 @@ You can use a shorter name (alias) instead of using the full modifier name: `$st Rules with the `$strict-first-party` modifier are supported by AdGuard for Windows, AdGuard for Mac, and AdGuard for Android with [CoreLibs] v1.16 or later. +Requests without referrer are matched by rules with `$strict-first-party` in Adguard for Windows, AdGuard for Mac and AdGuard for Android with [CoreLibs] v1.18 or later. + ::: #### **`$strict-third-party`** {#strict-third-party-modifier} @@ -795,13 +799,15 @@ To be considered as such, a third-party request should meet one of the following **`$third-party`:** -- `||domain.com^$third-party` — this rule applies to all domains, except `domain.com` and its subdomains. An example of a third-party request: `http://example.org/banner.jpg`. +- `||domain.com^$third-party` — this rule applies to all domains, except `domain.com` and its subdomains. The rule will never be applied if there is not referrer. An example of a third-party request: `http://example.org/banner.jpg`. -If there is a `$~third-party` modifier, the rule is only applied to the requests that are not from third parties. Which means, they have to be sent from the same domain. +If there is a `$~third-party` modifier, the rule is only applied to the requests that are not from third parties. Which means, they have to be sent from the same domain or shouldn't have referrer at all. **`$~third-party`:** -- `||domain.com$~third-party` — this rule is applied exclusively to `domain.com`. Example of a non third-party request: `http://domain.com/icon.ico`. +- `||domain.com$~third-party` — this rule is applied exclusively to `domain.com` and its subdomains. Example of a non third-party request: `http://sub.domain.com/icon.ico`. + +Requests without referrer are also treated as non-third-party requests and the rules with `$~third-party` modifier will be applied to such requests. :::note @@ -809,6 +815,12 @@ You may use a shorter name (alias) instead of using the full modifier name: `$3p ::: +:::info Compatibility + +Requests without referrer are matched by rules with `$~third-party` in Adguard for Windows, AdGuard for Mac and AdGuard for Android with [CoreLibs] v1.18 or later. + +::: + #### **`$to`** {#to-modifier} `$to` limits the rule scope to requests made **to** the specified domains and their subdomains. To add multiple domains to one rule, use the `|` character as a separator.