Pull request: 4639-dnscrypt-win

Updates AdguardTeam/AdGuardHome#4639.

Squashed commit of the following:

commit 6f195d69cfbbb30fd39934d1c920eac2fa1cb3fb
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Aug 24 16:14:32 2022 +0300

    DNSCrypt: fmt

commit 4592e1570c82143fdf226a168ee7893ad608837c
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Aug 24 16:06:38 2022 +0300

    DNSCrypt: imp windows docs
Ainar Garipov 2022-08-24 16:19:28 +03:00
parent e27cc59d96
commit bb6eca5d5b

@ -16,17 +16,79 @@ it:
1. **Important!** Make sure that your TLS settings are valid and encryption is 1. **Important!** Make sure that your TLS settings are valid and encryption is
enabled. enabled.
1. Get the latest version of the [`dnscrypt`] utility for your system. 1. Get the latest version of the [`dnscrypt`] utility for your system. Extract
the archive and navigate to the resulting directory.
1. Run: * On Unix, using a POSIX-compatible shell:
```sh (Here and below, `linux-amd64` is used as an example. Make sure to
dnscrypt generate --provider-name '2.dnscrypt-cert.example.org' --out ./dnscrypt.yaml download and use the one for your platform.)
```
1. ```sh
tar -f ./dnscrypt-linux-amd64-v2.2.3.tar.gz -v -x -z
```
Output example:
```none
linux-amd64/
linux-amd64/README.md
linux-amd64/LICENSE
linux-amd64/dnscrypt
```
1. ```sh
cd ./linux-amd64/
```
1. ```sh
./dnscrypt generate --provider-name '2.dnscrypt-cert.example.org'\
--out ./dnscrypt.yaml
```
Output example:
```none
2022/01/02 12:34:56 [info] Generating configuration for 2.dnscrypt-cert.example.org
2022/02/02 12:34:56 [info] Configuration has been written to ./dnscrypt.yaml
2022/02/02 12:34:56 [info] Go to https://dnscrypt.info/stamps to generate an SDNS stamp
2022/02/02 12:34:56 [info] You can run a DNSCrypt server using the following command:
2022/02/02 12:34:56 [info] dnscrypt server -c ./dnscrypt.yaml -f 8.8.8.8
```
* On Windows, using PowerShell:
(Here and below, `windows-amd64` is used as an example. Make sure to
download and use the one for your CPU architecture.)
1. ```ps1
Expand-Archive -Path .\dnscrypt-windows-amd64-v2.2.3.zip
```
1. ```ps1
Set-Location -Path .\dnscrypt-windows-amd64-v2.2.3\windows-amd64\
```
1. ```ps1
.\dnscrypt.exe generate --provider-name '2.dnscrypt-cert.example.org' `
--out .\dnscrypt.yaml
```
Output example:
```none
2022/01/02 12:34:56 [info] Generating configuration for 2.dnscrypt-cert.example.org
2022/02/02 12:34:56 [info] Configuration has been written to .\dnscrypt.yaml
2022/02/02 12:34:56 [info] Go to https://dnscrypt.info/stamps to generate an SDNS stamp
2022/02/02 12:34:56 [info] You can run a DNSCrypt server using the following command:
2022/02/02 12:34:56 [info] dnscrypt server -c .\dnscrypt.yaml -f 8.8.8.8
```
Where `example.org` is the name of your host and `./dnscrypt.yaml` is the Where `example.org` is the name of your host and `./dnscrypt.yaml` is the
name of the configuration output file. name of the configuration output file.
You may add the path to the binary into your `PATH`/`$env:PATH`.
1. Before changing the configuration file, it is important to **stop AdGuard 1. Before changing the configuration file, it is important to **stop AdGuard
Home**. In your *AdGuardHome* configuration file (typically Home**. In your *AdGuardHome* configuration file (typically
`AdGuardHome.yaml`), add the following lines: `AdGuardHome.yaml`), add the following lines:
@ -43,6 +105,9 @@ it:
Where `5443` is the port for your DNSCrypt server and `./dnscrypt.yaml` is Where `5443` is the port for your DNSCrypt server and `./dnscrypt.yaml` is
the name of the configuration file generated in step 2. the name of the configuration file generated in step 2.
On Windows, it is recommended to use the full path to the configuration
file. For example, `C:\Users\Me\Files\dnscrypt.yaml`.
[`dnscrypt`]: https://github.com/ameshkov/dnscrypt/releases [`dnscrypt`]: https://github.com/ameshkov/dnscrypt/releases
@ -66,12 +131,21 @@ Here is how to generate a DNSCrypt stamp and check your installation:
Check your installation by running: Check your installation by running:
```sh ```sh
dnscrypt lookup-stamp\ ./dnscrypt lookup-stamp\
--domain 'example.com'\ --domain 'example.com'\
--stamp 'sdns://AQcAAAAAAAAADTEyNy4wLjAuMTo0NDMg8R3bzEgX5UOEX93Uy4gYSbZCJvPeOXYlZp2HuRm8T7AbMi5kbnNjcnlwdC1jZXJ0LmV4YW1wbGUub3Jn'\ --stamp 'sdns://AQcAAAAAAAAADTEyNy4wLjAuMTo0NDMg8R3bzEgX5UOEX93Uy4gYSbZCJvPeOXYlZp2HuRm8T7AbMi5kbnNjcnlwdC1jZXJ0LmV4YW1wbGUub3Jn'\
--type 'a' --type 'a'
``` ```
Or, on Windows:
```sh
.\dnscrypt.exe lookup-stamp `
--domain 'example.com' `
--stamp 'sdns://AQcAAAAAAAAADTEyNy4wLjAuMTo0NDMg8R3bzEgX5UOEX93Uy4gYSbZCJvPeOXYlZp2HuRm8T7AbMi5kbnNjcnlwdC1jZXJ0LmV4YW1wbGUub3Jn' `
--type 'a'
```
Where `example.com` is the domain name to lookup. Where `example.com` is the domain name to lookup.