Merge branch 'master' into feature/AG-7592

This commit is contained in:
Nikita Gorskikh 2022-07-13 17:29:48 +03:00 committed by GitHub
commit 4983702a75
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 175 additions and 9 deletions

View File

@ -69,6 +69,7 @@ visible: true
* [$removeparam](#removeparam-modifier)
* [$removeheader](#removeheader-modifier)
* [$hls](#hls-modifier)
* [$jsonprune](#jsonprune-modifier)
* [noop](#noop-modifier)
* [$empty (deprecated)](#empty-modifier)
* [$mp4 (deprecated)](#mp4-modifier)
@ -719,6 +720,8 @@ In that case, the `$badfilter` rule will disable the corresponding rule for doma
* `/some$domain=example.*` is disabled for `example.com` and `example.org` by `/some$domain=example.com|example.org,badfilter`
* `/some$domain=example.com|example.org|example.io` is NOT disabled for `example.com` by `/some$domain=example.com|~example.org,badfilter` because the value of `domain` modifier contains a negated domain
> **Compatibility with different versions of AdGuard.** Rules with `$badfilter` modifier are not supported by AdGuard Content Blocker.
<a id="replace-modifier"></a>
#### **`replace`**
@ -1212,7 +1215,6 @@ Use `@@` to negate `$removeheader`:
> **Compatibility with different versions of AdGuard.** Rules with `$removeparam` modifier are supported by AdGuard for Windows, Mac, Android, and AdGuard Browser extension for Chrome, Firefox, Edge.
<a id="hls-modifier"></a>
#### **`$hls`**
@ -1320,6 +1322,58 @@ preroll.ts
> **Compatibility with different versions of AdGuard.** Rules with the `$hls` modifier are supported by AdGuard for Windows, Mac, and Android, **running CoreLibs version 1.10 or later**.
<a id="jsonprune-modifier"></a>
#### **`$jsonprune`**
`$jsonprune` rules modify the JSON response of a matching request by removing JSON items that match a modified
[JSONPath](https://goessner.net/articles/JsonPath/) expression (see below). They do not modify responses which are not valid JSON.
##### Syntax
* `||example.org^$jsonprune=expression` remove items that match the modified JSONPath expesssion `expression` from the response.
Due to the way rule parsing works, the characters `$` and `,` must be escaped with `\` inside `expression`.
The modified JSONPath syntax has the following differences from the original:
1. Script expressions are not supported.
2. The supported filter expressions are:
2.1. `?(has <key>)` — true if the current object has the specified key.
2.2. `?(key-eq <key> <value>)` — true if the current object has the specified key,
and its value is equal to the specified value.
2.3. `?(key-substr <key> <value>)` — true if the specified value is a substring
of the value of the specified key of the current object.
3. Whitespace outside of double- or single-quoted strings has no meaning.
4. Both double- and single-quoted strings can be used.
5. Expressions ending with `..` are not supported.
6. Multiple array slices can be specified in square brackets.
There are various online tools for testing JSONPath expressions, here's a couple examples:
https://jsonpath.herokuapp.com/
https://jsonpath.com/
Keep in mind, though, that all JSONPath implementations on this planet have unique features/quirks and are subtly incompatible with each other.
##### Exceptions
Basic URL exceptions shall not disable `$jsonprune` rules. They can be disabled as described below:
* `@@||example.org^$jsonprune` disable all `$jsonprune` rules for responses from URLs matching `||example.org^`.
* `@@||example.org^$jsonprune=text` disable all `$jsonprune` rules with the value of the `jsonprune` modifier equal to `text` for responses from URLs matching `||example.org^`.
* `$jsonprune` rules can also be disabled by `$document`, `$content` and `$urlblock` exception rules.
##### Restrictions
* `$jsonprune` rules are not compatible with any other modifiers except `$domain`, `$third-party`, `$app`, `$important`, `$match-case`, and `$xmlhttprequest`.
* `$jsonprune` rules do not apply if the size of the original response is more than 3 MB.
##### Notes
* When multiple `$jsonprune` rules match the same request, they are sorted in lexicographical order,
the first rule is applied to the original response, and each of the remaining rules is applied
to the result of applying the previous one.
##### Examples
* `||example.org^$jsonprune=\$..[one\, "two three"]` — remove all occurences of the keys "one" and "two three" anywhere in the JSON document.
* `||example.org^$jsonprune=\$.a[?(has ad_origin)]` remove all children of `a` that have an `ad_origin` key.
* `||example.org^$jsonprune=\$.*.*[?(key-eq 'Some key' 'Some value')]` remove all items that are at nesting level 3 and have a property "Some key" equal to "Some value".
> **Compatibility with different versions of AdGuard.** Rules with the `$jsonprune` modifier are supported by AdGuard for Windows, Mac and Android, **running CoreLibs version 1.10 or later**.
<a id="noop-modifier"></a>
#### **`noop`**

View File

@ -69,6 +69,7 @@ visible: true
* [$removeparam](#removeparam-modifier)
* [$removeheader](#removeheader-modifier)
* [$hls](#hls-modifier)
* [$jsonprune](#jsonprune-modifier)
* [noop](#noop-modifier)
* [$empty (устаревший)](#empty-modifier)
* [$mp4 (устаревший)](#mp4-modifier)
@ -721,6 +722,8 @@ domain.com###banner
* `/some$domain=example.*` отключено для `example.com` и `example.org` правилом `/some$domain=example.com|example.org,badfilter`
* `/some$domain=example.com|example.org|example.io` НЕ отключено для `example.com` правилом `/some$domain=example.com|~example.org,badfilter`, поскольку в значении модификатора `domain` содержится отрицание домена
> **Совместимость с разными версиями AdGuard.** Правила блокировки с модификатором `$badfilter` не поддерживаются в AdGuard Content Blocker.
<a id="replace-modifier"></a>
##### **`replace`**
@ -1203,7 +1206,6 @@ $removeparam=/^(utm_content|utm_campaign|utm_referrer)=/
> **Совместимость с разными версиями AdGuard.** Правила с модификатором `$removeheader` поддерживаются в AdGuard для Windows, Mac, Android и Браузерном расширении AdGuard для Chrome, Firefox, Edge.
<a id="hls-modifier"></a>
#### **`$hls`**
@ -1311,6 +1313,56 @@ preroll.ts
> **Совместимость с разными версиями AdGuard.** Правила с модификатором `$hls` поддерживаются в AdGuard для Windows, Mac, и Android, **с CoreLibs версии 1.10 или выше**.
<a id="jsonprune-modifier"></a>
#### **`$jsonprune`**
Правила `$jsonprune` модифицируют JSON-ответы на соответствующий правилу запрос. Они предназначены для удаления
элементов JSON-документа, выбираемых с помощью особого [JSONPath](https://goessner.net/articles/JsonPath/)
выражения (см. ниже). Эти правила не модифицируют ответы, не являющиеся валидным JSON-документом.
##### Синтаксис
* `||example.org^$jsonprune=expression` удалить элементы, соответствующие особому JSONPath-выражению `expression` из ответа на запрос к URL, соответствующему `||example.org`.
Символы `$` и `,` в `expression` необходимо экранировать с помощью `\`.
Особые JSONPath-выражения отступают от оригинальной [спецификации](https://goessner.net/articles/JsonPath/) в следующем:
1. "Script expressions" не поддерживаются.
2. Поддерживаемые "filter expressions":
2.1. `?(has <key>)``true` если текущий объект обладает свойством `<key>`.
2.2. `?(key-eq <key> <value>)``true` если текущий объект обладает свойством `<key>`, равным `<value>`.
2.3. `?(key-substr <key> <value>)``true` если текущий объект обладает свойством `<key>`, чье значение
имеет тип "строка", и `<value>` является подстрокой этой строки.
4. Пробелы вне двойных или одинарных кавычек игнорируются.
5. Разрешено использовать как двойные, так и одинарные кавычки для строковых литералов.
6. Выражения, заканчивающиеся на `..`, не поддерживаются.
7. Разрешено указывать несколько `array slices` в квадратных скобках.
Существуют различные online-инструменты для проверки JSONPath-выражений:
https://jsonpath.herokuapp.com/
https://jsonpath.com/
Обратите внимание, что различные имплементации JSONPath обладают
уникальными особенностями и могут быть несовместимы друг с другом.
##### Отключение правил `$jsonprune`
Базовые правила-исключения не отключают правила `$jsonprune`. Отключить их можно следующим образом:
* `@@||example.org^$jsonprune` отключить все правила `$jsonprune` для запросов к URL, соответствующим `||example.org^`.
* `@@||example.org^$jsonprune=text` отключить все правила `$jsonprune`, у которых значение модификатора `jsonprune` равно `text`, для запросов к URL, соответствующим `||example.org^`.
* `$jsonprune` также можно отключить с помощью правил-исключений с модификаторами `$document`, `$content` и `$urlblock`.
##### Ограничения
* `$jsonprune` не могут иметь других модификаторов, кроме `$domain`, `$third-party`, `$app`, `$important`, `$match-case` и `$xmlhttprequest`.
* правила `$jsonprune` не будут применены к ответам размером больше 3 МБ.
##### Замечания
* Если несколько `$jsonprune` правил соответствуют одному запросу, их эффект суммируется.
##### Примеры
* `||example.org^$jsonprune=\$..[one\, "two three"]` — удалить все вхождения свойств "one" и "two three" в JSON-документ.
* `||example.org^$jsonprune=\$.a[?(has ad_origin)]` — удалить всех прямых потомков `a`, которые обладают свойством `ad_origin`.
* `||example.org^$jsonprune=\$.*.*[?(key-eq 'Some key' 'Some value')]` — удалить все элементы на уровне вложенности 3, обладающие свойством "Some key", равным "Some value".
> **Совместимость с разными версиями AdGuard.** Правила с модификатором `$jsonprune` поддерживаются в AdGuard для Windows, Mac и Android, **с CoreLibs версии 1.10 или выше**.
<a id="noop-modifier"></a>
#### **`noop`**

View File

@ -0,0 +1,27 @@
---
title: 'How to create a dump file'
taxonomy:
category:
- docs
visible: true
---
To diagnose the reasons for certain problems that users might encounter while using AdGuard, the support team might need the dump file. The dump file helps developers to see the processes that were executed in the application over a given period of time. Below you can check on the instructions of how to collect the dump file on your PC.
1. Press **Ctrl + Shift + Esc** and click on **Task Manager**
2. In the upper menu bar select **Details**
<img src="https://cdn.adguard.com/public/Adguard/kb/Windows_dump/details_en.png" style="border: 1px solid #efefef; max-width: 550px; padding: 2px;">
3. Right-click on the process that you want to create the dump file for (For example, `Adguard.exe`)
4. In the drop-down menu click on **Create dump file**
5. The file was created successfully!
<img src="https://cdn.adguard.com/public/Adguard/kb/Windows_dump/create_dump_file_en.png" style="border: 1px solid #efefef; max-width: 700px; padding: 2px;">
After youve created the dump file, please open the file location. The created dump file (`.DMP`) has the same name as the name of the process you chose in the previous steps. The file is quite large, so please compress it into an archive.
> Please note, AdGuard has two running processes (`Adguard.exe` and `AdguardSvc.exe`). So you need to create the dump file separately for each process.
<img src="https://cdn.adguard.com/public/Adguard/kb/Windows_dump/processes_en.png" style="border: 1px solid #efefef; max-width: 550px; padding: 2px;">
When you send the dump files to the support team, please also send them together with the logs, so we can solve the problem. [Here](https://kb.adguard.com/en/windows/solving-problems/adguard-logs) you can check the instructions on how to collect the log file.

View File

@ -0,0 +1,27 @@
---
title: 'Как отправить файл дампа'
taxonomy:
category:
- docs
visible: true
---
Для диагностики проблем и ошибок, с которыми пользователи могут столкнуться при использовании AdGuard, службе поддержки может понадобиться файл дампа. Данный файл позволяет разработчикам увидеть процессы, которые выполнялись в приложении за определенный период времени. Ниже вы можете ознакомиться с инструкцией о том, как создать файл дампа на вашем ПК.
1. Нажмите **Ctrl + Shift + Esc**.
2. В открытом окне **Диспетчер задач** в верхней строке меню выберите **Подробности**.
<img src="https://cdn.adguard.com/public/Adguard/kb/Windows_dump/details_ru.png" style="border: 1px solid #efefef; max-width: 550px; padding: 2px;">
3. Щелкните правой кнопкой мыши на процесс, для которого вы хотите создать файл дампа (например, Adguard.exe).
4. В меню выберите **Создать файл дампа**.
5. Файл успешно создан!
<img src="https://cdn.adguard.com/public/Adguard/kb/Windows_dump/create_dump_file_ru.png" style="border: 1px solid #efefef; max-width: 700px; padding: 2px;">
Откройте папку с файлом. Созданный файл дампа (`.DMP`) имеет то же название, что и процесс, который вы выбрали в пункте 3. Файл довольно большой, поэтому сожмите его в архив.
> Обратите внимание, у AdGuard есть два запущенных процесса (`Adguard.exe` и `AdguardSvc.exe`). Вам нужно создать файл дампа отдельно для каждого из них.
<img src="https://cdn.adguard.com/public/Adguard/kb/Windows_dump/processes_ru.png" style="border: 1px solid #efefef; max-width: 550px; padding: 2px;">
Когда вы отправляете файлы дампа в службу поддержки, пожалуйста, отправьте их вместе с логами, чтобы мы могли решить проблему как можно быстрее. [Здесь](https://kb.adguard.com/ru/windows/solving-problems/adguard-logs) вы можете ознакомиться с инструкцией по сбору логов AdGuard.

View File

@ -34,7 +34,7 @@ No logs policy means that we dont collect, store or transfer users persona
* Tracking protection
Web traffic from any user may be of interest and is particularly valuable in terms of monetization of personal data. Both criminals and unscrupulous ISPs can access it. However, with a trustworthy VPN, you can be confident that neither your provider nor anyone else will see your internet activity.
* Ultrafast VPN servers in 39 countries
* Ultrafast VPN servers in 42 countries
- Australia
- Austria
@ -42,6 +42,7 @@ Web traffic from any user may be of interest and is particularly valuable in ter
- Brazil
- Bulgaria
- Canada
- Cambodia
- China
- Czech Republic
- Denmark
@ -49,18 +50,21 @@ Web traffic from any user may be of interest and is particularly valuable in ter
- Finland
- France
- Germany
- Greece
- Great Britain
- Hong Kong
- India
- Ireland
- Israel
- Italy
- Japan
- Luxembourg
- Mexico
- Netherlands
- Norway
- Philippined
- Philippines
- Poland
- Romania
- Russia
- Serbia
- Singapore
- South Africa
@ -69,7 +73,6 @@ Web traffic from any user may be of interest and is particularly valuable in ter
- Sweden
- Switzerland
- Taiwan
- The Netherlands
- Turkey
- UAE
- USA

View File

@ -35,7 +35,7 @@ VPN соединяет компьютер или мобильное устрой
* Защита от отслеживания
Веб-трафик любого пользователя имеет ценность, в первую очередь с точки зрения монетизации личных данных. Доступ к нему могут получить как преступники, так и недобросовестные интернет-провайдеры. Однако с надёжным VPN можно быть уверенным ни ваш провайдер, ни кто-либо ещё не увидит вашу интернет-активность.
* Ультрабыстрые VPN-серверы в 39 странах
* Ультрабыстрые VPN-серверы в 42 странах
- Австралия
- Австрия
@ -50,24 +50,27 @@ VPN соединяет компьютер или мобильное устрой
- Финляндия
- Франция
- Германия
- Греция
- Великобритания
- Гонконг
- Индия
- Ирландия
- Израиль
- Испания
- Италия
- Камбоджа
- Япония
- Люксембург
- Мексика
- Нидерланды
- Норвегия
- Филиппины
- Польша
- Россия
- Румыния
- Сербия
- Сингапур
- Южная Африка
- Южная Корея
- Испания
- Швеция
- Швейцария
- Тайвань