Skip to content

Commit

Permalink
add markdownlint
Browse files Browse the repository at this point in the history
  • Loading branch information
slavaleleka authored Aug 10, 2023
2 parents 0f4d983 + 34cc8aa commit b1b3da9
Show file tree
Hide file tree
Showing 15 changed files with 454 additions and 202 deletions.
20 changes: 20 additions & 0 deletions .github/workflows/markdown-lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: Lint Markdown

on:
push

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: 18.x

- name: yarn install
run: yarn install

- name: yarn lint:md
run: yarn lint:md
9 changes: 9 additions & 0 deletions .markdownlint.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"ul-indent": { "indent": 4 },
"ul-style": { "style": "dash" },
"emphasis-style": { "style": "asterisk" },
"no-duplicate-header": { "siblings_only": true },
"line-length": false,
"no-bare-urls": false,
"link-fragments": false
}
2 changes: 2 additions & 0 deletions .markdownlintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
node_modules/
i18n/
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ If you'd like to update the list of [known DNS Providers](https://github.com/Adg

1. Go to [Online DNS Stamp calculator](https://dnscrypt.info/stamps/)
2. Choose DNS-over-TLS from the drop-down menu
3. Fill out the Host name field 
3. Fill out the Host name field
4. Copy the ready DNS stamp from the Stamp field

### For DNS-over-QUIC
Expand Down
168 changes: 83 additions & 85 deletions docs/general/dns-filtering-syntax.md

Large diffs are not rendered by default.

12 changes: 6 additions & 6 deletions docs/general/dns-filtering.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ Other DNS providers may work differently, so learn more about them before commit

But by relying on DNS servers only to filter your DNS traffic you lose all flexibility. If the selected server blocks a domain, you can't access it. With AdGuard, you don't even need to configure any specific DNS server to filter DNS traffic. All AdGuard products let you employ DNS blocklists, be it simple hosts files or lists that use [more advanced syntax](dns-filtering-syntax.md). They work similarly to regular blocklists: when a DNS request matches one of the rules in the active filter list, it gets blocked. To be more precise, it gets rerouted to a "blackhole".

>In AdGuard for iOS, first you have to enable "Advanced mode" in settings in order to get access to DNS blocking.
> In AdGuard for iOS, first you have to enable "Advanced mode" in settings in order to get access to DNS blocking.
You can add as many custom blocklists as you wish. For instance, you can use [AdGuard DNS filter](https://github.com/AdguardTeam/AdGuardSDNSFilter). It quite literally blocks everything that AdGuard DNS server does, but in this case you are free to use any other DNS server. Plus, this way you can add more filters or create custom exception rules, all of which would be impossible with a simple "use a blocking DNS server" setup.

Expand All @@ -58,16 +58,16 @@ First of all, we have to mention that with AdGuard you don't have to choose. You
**Pros of DNS filtering:**

1. On some platforms, this is the only way to achieve system-wide filtering. For example, on iOS only the Safari browser supports content blocking in the familiar sense, for everything else there's only DNS filtering.
2. Some forms of tracking (like [CNAME-cloaked tracking](https://adguard.com/blog/cname-tracking.html)) can only be dealt with by DNS filtering.
3. The stage of processing a DNS request is the earliest you could possibly deal with an ad or a tracker, this helps save a little bit of battery life and traffic.
1. Some forms of tracking (like [CNAME-cloaked tracking](https://adguard.com/blog/cname-tracking.html)) can only be dealt with by DNS filtering.
1. The stage of processing a DNS request is the earliest you could possibly deal with an ad or a tracker, this helps save a little bit of battery life and traffic.

**Cons of DNS filtering:**

1. DNS filtering is "rough", meaning that it won't remove whitespaces that are left behind a blocked ad, or apply any sorts of cosmetic filtering. Many of the more complicated ads can't be blocked on DNS-level (or rather, they can, but only by blocking the entire domains which are being used for other purposes).

![Example of difference](https://cdn.adtidy.org/public/Adguard/kb/DNS_filtering/dns_diff.jpg)
*An example of the difference between DNS filtering and network filtering*
![Example of difference](https://cdn.adtidy.org/public/Adguard/kb/DNS_filtering/dns_diff.jpg)
*An example of the difference between DNS filtering and network filtering*

2. It's not possible to know the origin of a DNS request, which means you can't distinguish between different apps on the DNS-level. This impacts the statistics negatively and makes it impossible to create app-specific filtering rules.
1. It's not possible to know the origin of a DNS request, which means you can't distinguish between different apps on the DNS-level. This impacts the statistics negatively and makes it impossible to create app-specific filtering rules.

We recommend using DNS filtering in addition to network filtering, not instead of it, whenever possible.
4 changes: 0 additions & 4 deletions docs/general/dns-providers.md
Original file line number Diff line number Diff line change
Expand Up @@ -399,7 +399,6 @@ In "Protected" mode, malware and phishing protection.
| DNS-over-HTTPS | `https://protected.canadianshield.cira.ca/dns-query` | [Add to AdGuard](adguard:add_dns_server?address=https://protected.canadianshield.cira.ca/dns-query&name=protected.canadianshield.cira.ca), [Add to AdGuard VPN](adguardvpn:add_dns_server?address=https://protected.canadianshield.cira.ca/dns-query&name=protected.canadianshield.cira.ca) |
| DNS-over-TLS - Protected | Hostname: `tls://protected.canadianshield.cira.ca` IP: `149.112.121.20` and IPv6: `2620:10A:80BB::20` | [Add to AdGuard](adguard:add_dns_server?address=tls://protected.canadianshield.cira.ca&name=protected.canadianshield.cira.ca), [Add to AdGuard VPN](adguardvpn:add_dns_server?address=tls://protected.canadianshield.cira.ca&name=protected.canadianshield.cira.ca) |


#### Family

In "Family" mode, Protected + blocking adult content.
Expand Down Expand Up @@ -676,7 +675,6 @@ These servers provide no ad blocking, keep no logs, and have DNSSEC enabled.
| DNS-over-HTTPS | `https://doh.applied-privacy.net/query` | [Add to AdGuard](adguard:add_dns_server?address=https://doh.applied-privacy.net/query&name=doh.applied-privacy.net), [Add to AdGuard VPN](adguardvpn:add_dns_server?address=https://doh.applied-privacy.net/query&name=doh.applied-privacy.net) |
| DNS-over-TLS | `tls://dot1.applied-privacy.net` | [Add to AdGuard](adguard:add_dns_server?address=tls://dot1.applied-privacy.net&name=dot1.applied-privacy.net), [Add to AdGuard VPN](adguardvpn:add_dns_server?address=tls://dot1.applied-privacy.net&name=dot1.applied-privacy.net) |


### Strongarm DNS

[Strongarm DNS](https://strongarm.io) is a DNS service by Strongarm that prevents people from interacting with malicious content.
Expand Down Expand Up @@ -946,7 +944,6 @@ DNS servers with minimal logging/restrictions. These servers use some logging, s
| DNS, IPv4 | `109.69.8.51` | [Add to AdGuard](adguard:add_dns_server?address=109.69.8.51&name=), [Add to AdGuard VPN](adguardvpn:add_dns_server?address=109.69.8.51&name=) |
| DNS, IPv6 | `2a00:1508:0:4::9` | [Add to AdGuard](adguard:add_dns_server?address=2a00:1508:0:4::9&name=), [Add to AdGuard VPN](adguardvpn:add_dns_server?address=2a00:1508:0:4::9&name=) |


### DNSlify DNS

[DNSlify DNS](https://www.dnslify.com/services/) operate public DNS resolvers to speed up requests, increase redundancy. The service is provided by [Peerix](https://www.peerix.net/)
Expand Down Expand Up @@ -1009,7 +1006,6 @@ Family mode offers protection by "Safe" resolvers and blocks adult sites.
|DNS-over-HTTPS|`https://basic.rethinkdns.com/` | [Add to AdGuard](adguard:add_dns_server?address=https://basic.rethinkdns.com/&name=basic.rethinkdns.com), [Add to AdGuard VPN](adguardvpn:add_dns_server?address=https://basic.rethinkdns.com/&name=basic.rethinkdns.com) |
|DNS-over-TLS|`tls://max.rethinkdns.com` | [Add to AdGuard](adguard:add_dns_server?address=tls://max.rethinkdns.com&name=max.rethinkdns.com), [Add to AdGuard VPN](adguardvpn:add_dns_server?address=tls://max.rethinkdns.com&name=max.rethinkdns.com) |


### ControlD

[ControlD](https://controld.com/free-dns) is a customizable DNS service with proxy capabilities. This means it not only blocks things (ads, porn, etc.), but can also unblock websites and services.
Expand Down
26 changes: 13 additions & 13 deletions docs/miscellaneous/acknowledgements.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,19 @@ Our dev team would like to thank the developers of the third-party software we u

## AdGuard DNS

* DNS module by Miek Gieben: [https://github.com/miekg/dns](https://github.com/miekg/dns)
* GCache module by Jun Kimura: [https://github.com/bluele/gcache](https://github.com/bluele/gcache)
* Go-Cache module by Patrick Mylund Nielsen: [https://github.com/patrickmn/go-cache](https://github.com/patrickmn/go-cache)
* Gofumpt program by Daniel Martí: [mvdan.cc/gofumpt](https://github.com/mvdan/gofumpt)
* QUIC-Go module by Lucas Clemente: [https://github.com/lucas-clemente/quic-go](https://github.com/lucas-clemente/quic-go)
* Staticcheck program by Dominik Honnef: [https://staticcheck.io](https://staticcheck.io/)
- DNS module by Miek Gieben: [https://github.com/miekg/dns](https://github.com/miekg/dns)
- GCache module by Jun Kimura: [https://github.com/bluele/gcache](https://github.com/bluele/gcache)
- Go-Cache module by Patrick Mylund Nielsen: [https://github.com/patrickmn/go-cache](https://github.com/patrickmn/go-cache)
- Gofumpt program by Daniel Martí: [mvdan.cc/gofumpt](https://github.com/mvdan/gofumpt)
- QUIC-Go module by Lucas Clemente: [https://github.com/lucas-clemente/quic-go](https://github.com/lucas-clemente/quic-go)
- Staticcheck program by Dominik Honnef: [https://staticcheck.io](https://staticcheck.io/)

## AdGuard API and Websites

* Symfony: [http://symfony.com/](http://symfony.com/)
* React: [https://reactjs.org/](https://reactjs.org/)
* Vue: [https://vuejs.org/](https://vuejs.org/)
* PostgreSQL: [https://www.postgresql.org/](https://www.postgresql.org/)
* Spring: [https://spring.io/](https://spring.io/)
* ClickHouse: [https://clickhouse.com/](https://clickhouse.com/)
* Logstash: [https://github.com/elastic/logstash](https://github.com/elastic/logstash)
- Symfony: [http://symfony.com/](http://symfony.com/)
- React: [https://reactjs.org/](https://reactjs.org/)
- Vue: [https://vuejs.org/](https://vuejs.org/)
- PostgreSQL: [https://www.postgresql.org/](https://www.postgresql.org/)
- Spring: [https://spring.io/](https://spring.io/)
- ClickHouse: [https://clickhouse.com/](https://clickhouse.com/)
- Logstash: [https://github.com/elastic/logstash](https://github.com/elastic/logstash)
24 changes: 12 additions & 12 deletions docs/miscellaneous/take-screenshot.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,14 @@ Taking a screenshot on an Android device can be done in various ways — dependi

Generally, the following button combination can be used for Android:

+ **Press and hold the *Volume Down* and *Power* buttons simultaneously for 1–2 seconds**
- **Press and hold the *Volume Down* and *Power* buttons simultaneously for 1–2 seconds**

Your Android device will capture the entire screen and save it as a photo. So, you can find the screenshot in a Screenshots folder in your Gallery.

However, as already mentioned, the procedure may vary depending on the particular device. Let’s look at other possible combinations:

+ **Press and hold the *Home* and *Power* buttons simultaneously for 1–2 seconds;**
+ **Press and hold the *Back* and *Home* buttons simultaneously**
- **Press and hold the *Home* and *Power* buttons simultaneously for 1–2 seconds;**
- **Press and hold the *Back* and *Home* buttons simultaneously**

On Android 8 and later, a screenshot can also be taken by placing the edge of an open hand vertically along the left/right screen edge and swiping the hand to the other screen edge while touching the screen with the hand edge.

Expand All @@ -38,17 +38,17 @@ Any iOS device (barring ancient ones) lets you take a screenshot using standard

To take a screenshot on an iOS device, use the following combination:

+ **Press the *Sleep/Wake* (side) button and the *Home* button at the same time, then quickly release them**
- **Press the *Sleep/Wake* (side) button and the *Home* button at the same time, then quickly release them**

and this one for iPhone X or later:

+ **Press the *Sleep/Wake* button and the *Volume up* button at the same time, then quickly release them**
- **Press the *Sleep/Wake* button and the *Volume up* button at the same time, then quickly release them**

Your iOS device will capture the entire screen and save it as a photo. You can find it in a standard Photo app.

### Windows

+ **To take a screenshot on Windows, press the *PrtScn* button**
- **To take a screenshot on Windows, press the *PrtScn* button**

On some notebooks you have to hold *Fn* and then press *PrtScn* instead.

Expand All @@ -58,11 +58,11 @@ Windows captures the entire screen and copies it to the (invisible) clipboard.

To take a screenshot of an active window, use the following combination:

+ **Hold down *Alt* and press *PrtScn* (or *Fn + Alt + PrtScn* on some laptops)**
- **Hold down *Alt* and press *PrtScn* (or *Fn + Alt + PrtScn* on some laptops)**

To take a screenshot of a specific area, you should use the following combination:

+ **Hold down *Win* (the Windows button) and *Shift* and press *S***
- **Hold down *Win* (the Windows button) and *Shift* and press *S***

After you take a screenshot, it will be saved in the clipboard. In most cases you will be able to paste it into a document that you are currently editing by using *Ctrl + V* button combination. Alternatively, if you need to save the screenshot into a file, you should open the standard **Paint** program (or any other app that can work with images). Paste your screenshot there using the same button combination or by clicking the Paste button (usually in the top left corner of the screen) and then save it.

Expand All @@ -76,21 +76,21 @@ Besides, you can also try using different apps for taking screenshots on your co

To take a screenshot on Mac, use the following button combination:

+ **Press and hold together *⌘ Cmd + Shift + 3***
- **Press and hold together *⌘ Cmd + Shift + 3***

Your Mac will capture the entire screen and save it as a file on the desktop.

To take a screenshot of an active window, use the following combination:

+ **Press and hold together *⌘ Cmd + Shift + 4 + Space bar*. The pointer will change to a camera icon. Click the window to capture it. Press the Esc button to cancel taking a screenshot**
- **Press and hold together *⌘ Cmd + Shift + 4 + Space bar*. The pointer will change to a camera icon. Click the window to capture it. Press the Esc button to cancel taking a screenshot**

To take a screenshot of a specific area, you should use the following combination:

+ **Press and hold together *⌘ Cmd + Shift + 4***. Drag the crosshair to select the needed area. Release your mouse or trackpad to take a screenshot, press the Esc button to cancel it.
- **Press and hold together *⌘ Cmd + Shift + 4***. Drag the crosshair to select the needed area. Release your mouse or trackpad to take a screenshot, press the Esc button to cancel it.

To take a screenshot of the *Touch Bar* (MacBook Pro) use the following combination:

+ **Hold down *⌘ Cmd + Shift + 6***
- **Hold down *⌘ Cmd + Shift + 6***

Your Mac captures the entire *Touch Bar* and saves it as a file on the desktop.

Expand Down
3 changes: 2 additions & 1 deletion docs/private-dns/api/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: Overview
sidebar_position: 1
---

# AdGuard DNS API
## AdGuard DNS API

AdGuard DNS provides a REST API you can use to integrate your apps with it.

Expand Down Expand Up @@ -95,6 +95,7 @@ To revoke a refresh token, make the following POST request with the given params
$ curl 'https://api.adguard-dns.com/oapi/v1/revoke_token' -i -X POST \
-d 'token=H3SW6YFJ-tOPe0FQCM1Jd6VnMiA'
```

| Parameter | Description |
|:----------------- |:-------------------------------------- |
| **refresh_token** | `REFRESH TOKEN` which is to be revoked |
Expand Down
Loading

0 comments on commit b1b3da9

Please sign in to comment.