diff --git a/docs/adguard-for-android/solving-problems/https-certificate-for-rooted.md b/docs/adguard-for-android/solving-problems/https-certificate-for-rooted.md index a74b7a9a18d..02555e5a7aa 100644 --- a/docs/adguard-for-android/solving-problems/https-certificate-for-rooted.md +++ b/docs/adguard-for-android/solving-problems/https-certificate-for-rooted.md @@ -64,7 +64,11 @@ The module does its work during the system boot. If your AdGuard certificate cha ### Bromite browser -Please note that in order for **Bromite** browser to work properly, in addition to the steps mentioned above, you need to set "Allow user certificates" in `chrome://flags` to "Enabled" state. +:::note + +In order for the **Bromite** browser to work properly, in addition to the steps mentioned above, you need to set "Allow user certificates" in `chrome://flags` to "Enabled" state. + +::: ### Chrome and Chromium-based browsers diff --git a/docs/adguard-for-android/solving-problems/logcat.md b/docs/adguard-for-android/solving-problems/logcat.md index 360a16c3663..0f1125c84f0 100644 --- a/docs/adguard-for-android/solving-problems/logcat.md +++ b/docs/adguard-for-android/solving-problems/logcat.md @@ -21,7 +21,7 @@ To get a bug report directly from your device, do the following: ![Bug report *mobile](https://cdn.adtidy.org/public/Adguard/kb/newscreenshots/En/Android3.1/bugreporten.png) -3. Select the type of the bug report you want and tap **Report**. +3. Select the type of bug report you want and tap **Report**. :::note @@ -58,7 +58,7 @@ Follow this instruction: 3. Enable **USB debugging**. -4. Increase **Logger buffer** sizes to 4MB per log buffer. +4. Increase **Logger buffer** sizes to 4 MB per log buffer. 4 MB should be enough for storing the logs we need until you're able to do the second part (getting the log from the device); diff --git a/docs/adguard-for-android/solving-problems/low-level-settings.md b/docs/adguard-for-android/solving-problems/low-level-settings.md index 1507288ad85..20cabbedf52 100644 --- a/docs/adguard-for-android/solving-problems/low-level-settings.md +++ b/docs/adguard-for-android/solving-problems/low-level-settings.md @@ -164,7 +164,7 @@ Filtering for IPv6 ranges, listed in this section, will be disabled. #### TCP keepalive for outgoing sockets -If enabled, AdGuard sends a keepalive probe after the specified time period to ensure if the TCP connection is alive. Here you can specify the TCP keepalive idle time before starting keepalive probes and time between keepalive probes for an unresponsive peer. +If enabled, AdGuard sends a keepalive probe after the specified time period to ensure that the TCP connection is alive. Here you can specify the TCP keepalive idle time before starting keepalive probes and time between keepalive probes for an unresponsive peer. After a system-defined number of unsuccessful attempts to get a response from the server, the system automatically closes the TCP connection. diff --git a/docs/adguard-for-android/solving-problems/outbound-proxy.md b/docs/adguard-for-android/solving-problems/outbound-proxy.md index 9d79ccf0672..f5c72920a34 100644 --- a/docs/adguard-for-android/solving-problems/outbound-proxy.md +++ b/docs/adguard-for-android/solving-problems/outbound-proxy.md @@ -97,7 +97,11 @@ Proxy port | *1080* *Here we presume that you have already configured a Shadowsocks server and a client on your device.* -**Note: You should remove Shadowsocks application from filtering before setting up the process (AdGuard - Apps management - Shadowsocks - Disable AdGuard protection) to avoid infinite loops and drops.** +:::note + +You should remove Shadowsocks application from filtering before setting up the process (AdGuard → Apps management → Shadowsocks → Disable AdGuard protection) to avoid infinite loops and drops. + +::: 1. Open AdGuard and go to **Settings** → **Network** → **Proxy settings**. diff --git a/docs/adguard-for-android/solving-problems/tasker.md b/docs/adguard-for-android/solving-problems/tasker.md index 88a2521e5a1..1072a8ed9d2 100644 --- a/docs/adguard-for-android/solving-problems/tasker.md +++ b/docs/adguard-for-android/solving-problems/tasker.md @@ -48,7 +48,11 @@ So, ready to get your hands dirty? Here are actions that, when included in the i `server:adguard dns` switches to AdGuard DNS server; ->Note: the full list of supported provider names can be found inside AdGuard DNS settings under the "Custom DNS settings" +:::note + +The full list of supported provider names can be found inside AdGuard DNS settings under the "Custom DNS settings". + +::: `server:custom` switches to the previously added server named `custom`; diff --git a/docs/adguard-for-ios/solving-problems/system-wide-filtering.md b/docs/adguard-for-ios/solving-problems/system-wide-filtering.md index 98cb0703059..9d6363fd5a7 100644 --- a/docs/adguard-for-ios/solving-problems/system-wide-filtering.md +++ b/docs/adguard-for-ios/solving-problems/system-wide-filtering.md @@ -48,7 +48,7 @@ We don't recommend touching other settings you'll find inside the *Advanced sett 3. Copy this link: `https://raw.githubusercontent.com/AdguardTeam/FiltersRegistry/master/filters/filter_15_DnsFilter/filter.txt` (it's a link for AdGuard DNS filter) 4. Open *AdGuard for iOS settings* → *DNS protection* → *DNS filtering* (available while *Advanced mode* is enabled) → *DNS filters*. -5. Tap *Add a filter*, paste the link into the filter URL field, and yap 'Next'. +5. Tap *Add a filter*, paste the link into the filter URL field, and tap 'Next'. ![Adding a DNS filter screen *mobile_border](https://cdn.adtidy.org/public/Adguard/Blog/ios_adding_a_filter.PNG) diff --git a/docs/adguard-for-mac/solving-problems/big-sur-issues.md b/docs/adguard-for-mac/solving-problems/big-sur-issues.md index 700415ac21a..ae273aa92cc 100644 --- a/docs/adguard-for-mac/solving-problems/big-sur-issues.md +++ b/docs/adguard-for-mac/solving-problems/big-sur-issues.md @@ -92,9 +92,7 @@ Now AdGuard can filter local proxies (mostly) without any problems. If you encou ::: -To configure an upstream proxy in AdGuard for Mac in Big Sur, you need to go to *AdGuard menu → Advanced → Advanced Settings...*. Click on the *Value* area of the `upstream.proxy` setting to configure a proxy. - -![Proxy settings in AdGuard for Mac on Big Sur](https://cdn.adtidy.org/content/kb/ad_blocker/mac/proxy_en.jpg) +To configure an upstream proxy in AdGuard for Mac in Big Sur, open AdGuard's settings *Preferences → Network → Outbound proxy*. Click the *Value* area of the `upstream.proxy` setting to configure a proxy. Enter a string that looks like `scheme://user:password@host:port`, where diff --git a/docs/adguard-for-windows/admins-documentation.md b/docs/adguard-for-windows/admins-documentation.md index 32d4824d9d0..40c304f5d33 100644 --- a/docs/adguard-for-windows/admins-documentation.md +++ b/docs/adguard-for-windows/admins-documentation.md @@ -29,7 +29,11 @@ Otherwise, you can run the MSI on the target machine directly (and silently) wit If you need to roll out an update, use this command: `Msiexec /q /i AdGuard.msi REINSTALL=ALL REINSTALLMODE=vomus` -**Please note, that you must run these commands with admin privileges.** +:::note + +You must run these commands with admin privileges. + +::: If you want to install AdGuard on a Windows 7 computer, make sure that it has .NET 4 Client Profile installed: https://www.microsoft.com/en-us/download/details.aspx?id=24872 diff --git a/docs/adguard-for-windows/solving-problems/low-level-settings.md b/docs/adguard-for-windows/solving-problems/low-level-settings.md index 6bda2efe22b..ac72dec4ef5 100644 --- a/docs/adguard-for-windows/solving-problems/low-level-settings.md +++ b/docs/adguard-for-windows/solving-problems/low-level-settings.md @@ -75,7 +75,11 @@ Enable this option to make the main AdGuard window open after the system is load Starting from v7.12, by default, AdGuard's service does not filter traffic after OS startup if the option Launch AdGuard at system start-up is disabled. In other words, the AdGuard's service is started in “idle” mode. Enable this option to make AdGuard filter traffic even if the app is not launched. -*Note that before v7.12 the AdGuard's service started in filtering mode by default (even if the *Launch AdGuard at system start-up* was disabled). If you were satisfied with the old behavior, enable this option.* +:::note + +Before v7.12, the AdGuard service started in filtering mode by default (even if the *Launch AdGuard at system start-up* was disabled). If you were satisfied with the old behavior, enable this option. + +::: ### Filter localhost @@ -129,13 +133,21 @@ Periodically sends TCP packets over idle connection to ensure it is alive and to Here you can specify an idle time period, in seconds, before sending a keepalive probe. If 0 is specified, the value selected by the system will be used. -Note that this setting only works when the *Enable TCP keepalive* option is enabled. +:::note + +This setting only works when the *Enable TCP keepalive* option is enabled. + +::: ### TCP keepalive timeout Here you can specify time in seconds before sending another keepalive probe to an unresponsive peer. If 0 is specified, the value selected by the system will be used. -Note that this setting only works when the *Enable TCP keepalive* option is enabled. +:::note + +This setting only works when the *Enable TCP keepalive* option is enabled. + +::: ### Block Java diff --git a/docs/general/ad-filtering/create-own-filters.md b/docs/general/ad-filtering/create-own-filters.md index e67421658c3..cd3a7326745 100644 --- a/docs/general/ad-filtering/create-own-filters.md +++ b/docs/general/ad-filtering/create-own-filters.md @@ -490,7 +490,7 @@ This modifier limits the rule scope to requests that use the specified set of HT * `@@||evil.com$method=get` unblocks only GET requests to `evil.com`. * `@@||evil.com$method=~post` unblocks any requests to `evil.com` except POST. -Please note, that rules with mixed value restriction are considered invalid. So, for example, the rule +Please note that rules with mixed value restriction are considered invalid. So, for example, the rule `||evil.com^$method=get|~head` will be rejected. :::info Compatibility @@ -780,7 +780,7 @@ $extension="userscript name\, with \"quote\"" * `@@||example.com^$extension='AdGuard Assistant'|'Popup Blocker'` disables both `AdGuard Assistant` and `Popup Blocker` userscripts on `example.com` website. * `@@||example.com^$extension=~"AdGuard Assistant"` disables all user scripts on `example.com` website, except `AdGuard Assistant`. * `@@||example.com^$extension=~"AdGuard Assistant"|~"Popup Blocker"` disables all user scripts on `example.com` website, except `AdGuard Assistant` and `Popup Blocker`. -* `@@||example.com^$extension` all userscripts will not work on all pages of the `example.com` website. +* `@@||example.com^$extension` no userscript will work on webpages on `example.com`. * `@@||example.com^$extension="AdGuard \"Assistant\""` disables the `AdGuard "Assistant"` userscript on `example.com` website. :::info Compatibility @@ -1018,7 +1018,7 @@ If regular expression `name` is used for matching, two characters must be escape * `$cookie=/__utm[a-z]/` blocks Google Analytics cookies everywhere * `||facebook.com^$third-party,cookie=c_user` prevents Facebook from tracking you even if you are logged in -There are two methods to deactivate `$cookie` rules: the primary method involves using an exception marked with `@@` - `@@||example.org^$cookie`. The alternative method employs a `$urlblock` exception (also included under the `$document` exception alias - `$elemhide,jsinject,content,urlblock,extension`). +There are two methods to deactivate `$cookie` rules: the primary method involves using an exception marked with `@@` — `@@||example.org^$cookie`. The alternative method employs a `$urlblock` exception (also included under the `$document` exception alias — `$elemhide,jsinject,content,urlblock,extension`). Here's how it works: * `@@||example.org^$cookie` unblocks all cookies set by `example.org` @@ -1113,6 +1113,13 @@ Basic URL exceptions shall not disable rules with `$hls` modifier. They can be d ::: +**Restrictions** + +* `$hls` rules are only allowed in trusted filters +* `$hls` rules are only compatible with the modifiers `$domain`, `$third-party`, `$app`, `$important`, `$match-case`, and `$xmlhttprequest` +* `$hls` rules only apply to HLS playlists, which are UTF-8 encoded text starting with the line `#EXTM3U`. Any other response will not be modified by these rules +* `$hls` rules do not apply if the size of the original response is more than 3 MB + :::note When multiple `$hls` rules match the same request, their effect is cumulative. @@ -1265,6 +1272,11 @@ Basic URL exceptions shall not disable rules with `$jsonprune` modifier. They ca `$jsonprune` rules can also be disabled by `$document`, `$content` and `$urlblock` exception rules. +**Restrictions** + +* `$jsonprune` rules are only compatible with `$domain`, `$third-party`, `$app`, `$important`, `$match-case`, and `$xmlhttprequest` modifiers. +* `$jsonprune` rules do not apply if the size of the original response is more than 3 MB. + :::note 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. @@ -1549,11 +1561,11 @@ More information on redirects and their usage is available [on GitHub](https://g ##### Priorities of `$redirect` rules {#redirect-rule-priorities} -The priority of `$redirect` rules is higher than the priority of regular basic blocking rules. +`$redirect` rules have higher priority than regular basic blocking rules. This means that if there is a basic blocking rule, the `$redirect` rule will override it. Allowlist rules with `@@` mark have higher priority than `$redirect` rules. -If a basic rule with the `$important` modifier matches the same URL, -it will override the `$redirect` rule (unless the `$redirect` rule is also marked as `$important`). +If a basic rule with the `$important` modifier and the `$redirect` rule matches the same URL, +the latter is overridden unless it's also marked as `$important`. [//]: # (Please do not replace `>` by `→`) @@ -1669,7 +1681,7 @@ In case of multiple `$removeheader` rules matching a single request, we will app 1. This type of rules can be used [**only in trusted filters**](#trusted-filters). -1. In order to avoid compromising the security `$removeheader` cannot remove headers from the list below: +2. In order to avoid compromising the security `$removeheader` cannot remove headers from the list below: * `access-control-allow-origin` * `access-control-allow-credentials` * `access-control-allow-headers` @@ -1719,10 +1731,7 @@ In case of multiple `$removeheader` rules matching a single request, we will app * `transfer-encoding` * `upgrade` -1. `$removeheader` rules are not compatible with any other modifiers - except `$domain`, `$third-party`, `$app`, `$important`, `$match-case`, - and [content type modifiers](#content-type-modifiers), e.g. `$script`, `$stylesheet`, etc. - The rules which have any other modifiers are considered invalid and will be discarded. +3. `$removeheader` rules are only compatible with `$domain`, `$third-party`, `$app`, `$important`, `$match-case`, and [content type modifiers](#content-type-modifiers) such as `$script` and `$stylesheet`. The rules which have any other modifiers are considered invalid and will be discarded. ::: @@ -1768,8 +1777,7 @@ Regexp-type rules target both name and value of the parameter. To minimize mista ::: -We will try to detect and ignore unescaped `$` automatically using a simple rule of thumb: -It is not an options delimiter if all three are true: +We will try to detect and ignore unescaped `$` automatically using a simple rule of thumb — it is not an options delimiter if all three are true: 1. It looks like `$/`; 2. There is another slash character `/` to the left of it; 3. There is another unescaped dollar sign `$` to the left of that slash character. @@ -1862,7 +1870,7 @@ You will need some knowledge of regular expressions to use `$replace` modifier. **Features** -* `$replace` rules apply to any text response, but will not apply to binary (`media`, `image`, `object`, etc). +* `$replace` rules apply to any text response, but will not apply to binary (`media`, `image`, `object`, etc.). * `$replace` rules do not apply if the size of the original response is more than 3MB. * `$replace` rules have a higher priority than other basic rules (**including** exception rules). So if a request corresponds to two different rules one of which has the `$replace` modifier, this rule will be applied. * Document-level exception rules with `$content` or `$document` modifiers do disable `$replace` rules for requests matching them. @@ -2023,7 +2031,7 @@ The base priority of any rule is 1. If the calculated priority is a floating-poi :::note -Modifier aliases (`1p`, `3p`, etc) are not included in these categories, however, they are utilized within the engine to compute the rule priority. +Modifier aliases (`1p`, `3p`, etc.) are not included in these categories, however, they are utilized within the engine to compute the rule priority. ::: @@ -2190,7 +2198,7 @@ Rule weight: base weight + allowlist rule, [category 5](#priority-category-5) + **Example 7** -`@@||example.org^$document` - without additional modifiers is an alias for +`@@||example.org^$document` without additional modifiers is an alias for `@@||example.com^$elemhide,content,jsinject,urlblock,extension` Rule weight: base weight + specific exceptions, [category 4](#priority-category-4) + two allowed content types (document and subdocument), [category 2](#priority-category-2): @@ -3307,7 +3315,7 @@ The modifier's behavior and syntax perfectly match the corresponding [basic rule * `[$domain=example.com|example.org]###adblock` — hides an element with attribute `id` equals `adblock` at `example.com`, `example.org` and all subdomains. * `[$domain=~example.com]##.textad` — this rule hides `div` elements of the class `textad` for all domains, except `example.com` and its subdomains. -Please note that there are 2 ways to specify domain restrictions for non-basic rules: +There are 2 ways to specify domain restrictions for non-basic rules: 1. the "classic" way is to specify domains before rule mask and attributes: `example.com##.textad`; 2. the modifier approach is to specify domains via `$domain` modifier: `[$domain=example.com]##.textad`. diff --git a/docs/general/userscripts.md b/docs/general/userscripts.md index cf425a16599..20cf2034da6 100644 --- a/docs/general/userscripts.md +++ b/docs/general/userscripts.md @@ -115,7 +115,11 @@ AdGuard supports both old GM\_ functions and new GM4 API that use GM object. ##### Values -Note that all listed old Greasemonkey functions are deprecated but still supported. +:::note + +All listed old Greasemonkey functions are deprecated but still supported. + +::: ``` GM.info / GM_info diff --git a/docs/miscellaneous/contribute/translate/guidelines.md b/docs/miscellaneous/contribute/translate/guidelines.md index ca205696b2b..a210fe1a769 100644 --- a/docs/miscellaneous/contribute/translate/guidelines.md +++ b/docs/miscellaneous/contribute/translate/guidelines.md @@ -17,7 +17,11 @@ Choose any of available product folders and select a file — now you can start ![Files *border](https://cdn.adtidy.org/content/Kb/ad_blocker/miscellaneous/adguard_translations/files.png) ->Please note: you can also change the Crowdin interface language by clicking the *Settings* icon in the top right corner of the page. In the opened window scroll down to the *UI language* tab. Open it, choose a language and click **Change**. +:::note + +You can also change the Crowdin interface language by clicking the *Settings* icon in the top right corner of the page. In the opened window scroll down to the *UI language* tab. Open it, choose a language and click **Change**. + +::: ![Language1 *border](https://cdn.adtidy.org/content/Kb/ad_blocker/miscellaneous/adguard_translations/settings_en.png) @@ -45,7 +49,11 @@ You can suggest your translation for translatable terms in the [AdGuard Glossary ![crowdin *border](https://cdn.adtidy.org/public/Adguard/kb/en/ag-translations/screenshot.png) -Please note that you can request context by clicking the "REQUEST" button. +:::tip + +You can request context by clicking the "REQUEST" button. + +::: ![crowdin *border](https://cdn.adtidy.org/public/Adguard/kb/en/ag-translations/request.png)