Skip to content

Improve description of partiness modifiers #681

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 15 additions & 3 deletions docs/general/ad-filtering/create-own-filters.md
Original file line number Diff line number Diff line change
@@ -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.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Requests without referrer are also treated as first-party requests and the rules with `$strict-first-party` modifier will be applied to such requests.
Requests without a referrer are also treated as first-party requests, and the rules with the `$strict-first-party` modifier are 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.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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.
Requests without a 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,20 +799,28 @@ 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`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- `||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`.
- `||domain.com^$third-party` — this rule applies to all domains except `domain.com` and its subdomains. The rule is never applied if there is no 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.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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.
If there is a `$~third-party` modifier, the rule is only applied to requests that are not from third parties. Which means they have to be sent from the same domain or shouldn't have a 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`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- `||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`.
- `||domain.com$~third-party` — this rule applies only 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.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Requests without referrer are also treated as non-third-party requests and the rules with `$~third-party` modifier will be applied to such requests.
Requests without a referrer are also treated as non third-party requests and the rules with the `$~third-party` modifier are applied to such requests.


:::note

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.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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.
Requests without a 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.


:::

#### **`$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.