Prepared for release, added upstreams settings description

Andrey Meshkov 2019-03-22 13:44:37 +03:00
parent ff53bd0a68
commit 1f53a2c33c
5 changed files with 88 additions and 33 deletions

@ -2,6 +2,13 @@
Most of these settings can be changed via the web-based admin interface. However, we decided to list them all here just in case. Most of these settings can be changed via the web-based admin interface. However, we decided to list them all here just in case.
* [Command-line arguments](#command-line)
* [Configuring upstreams](#upstreams)
* [Specifying upstreams for domains](#upstreams-for-domains)
* [Configuring clients friendly names](#friendly-names)
* [Configuration file](#configuration-file)
<a id="command-line"></a>
## Command-line arguments ## Command-line arguments
Here is a list of all available command-line arguments. Here is a list of all available command-line arguments.
@ -25,6 +32,70 @@ Options:
Please note, that the command-line arguments override settings from the configuration file. Please note, that the command-line arguments override settings from the configuration file.
<a id="upstreams"></a>
## Configuring upstreams
AdGuard Home is basically a DNS proxy that sends your DNS queries to the upstream servers. You can specify multiple upstream servers in AdGuard Home settings, or you can even specify a DNS server that will be used to resolve specific domains.
Examples:
* `1.1.1.1` - regular DNS (over UDP).
* `tls://1dot1dot1dot1.cloudflare-dns.com` encrypted [DNS-over-TLS](https://en.wikipedia.org/wiki/DNS_over_TLS).
* `https://cloudflare-dns.com/dns-query` encrypted [DNS-over-HTTPS](https://en.wikipedia.org/wiki/DNS_over_HTTPS).
* `tcp://1.1.1.1` regular DNS (over TCP).
* `sdns://...` you can use [DNS Stamps](https://dnscrypt.info/stamps/) for [DNSCrypt](https://dnscrypt.info/) or [DNS-over-HTTPS](https://en.wikipedia.org/wiki/DNS_over_HTTPS) resolvers.
* `[/example.local/]1.1.1.1` you can specify DNS upstream for a specific domain(s).
<a id="upstreams-for-domains"></a>
### Specifying upstreams for domains
![](upstreams.png)
You can specify upstreams that will be used for a specific domain(s). We use the dnsmasq-like syntax (see `--server` description [here](http://www.thekelleys.org.uk/dnsmasq/docs/dnsmasq-man.html)). This feature is intended for private nameservers which deal with intranet domains.
**Syntax:** `[/[domain1][/../domainN]/]upstreamString`
If one or more domains are specified, that upstream (`upstreamString`) is used only for those domains. Usually, it is used for private nameservers. For instance, if you have a nameserver on your network which deals with `xxx.internal.local` at `192.168.0.1` then you can specify `[/internal.local/]192.168.0.1`, and dnsproxy will send all queries to that nameserver. Everything else will be sent to the default upstreams (which are mandatory!).
1. An empty domain specification, // has the special meaning of "unqualified names only" ie names without any dots in them.
2. More specific domains take precedence over less specific domains, so: `--upstream=[/host.com/]1.2.3.4 --upstream=[/www.host.com/]2.3.4.5` will send queries for *.host.com to 1.2.3.4, except *.www.host.com, which will go to 2.3.4.5
3. The special server address '#' means, "use the standard servers", so: `--upstream=[/host.com/]1.2.3.4 --upstream=[/www.host.com/]#` will send queries for *.host.com to 1.2.3.4, except *.www.host.com which will be forwarded as usual.
#### Examples
Sends queries for `*.local` domains to `192.168.0.1:53`. Other queries are sent to `8.8.8.8:53`.
```
./dnsproxy -u 8.8.8.8:53 -u [/local/]192.168.0.1:53
```
Sends queries for `*.host.com` to `1.1.1.1:53` except for `*.maps.host.com` which are sent to `8.8.8.8:53` (as long as other queries).
```
./dnsproxy -u 8.8.8.8:53 -u [/host.com/]1.1.1.1:53 -u [/maps.host.com/]#`
```
<a id="friendly-names"></a>
## Configuring clients friendly names
It may be useful to set up a friendly name for each IP address that clients use to connect to AdGuard Home. To do this, follow these steps:
1. Open `/etc/hosts` file in your text editor and add a name for each IP address, for example:
192.168.0.2 Mom
192.168.0.3 Dad
192.168.0.4 Sister
192.168.0.5 Brother
Note that on Windows file path to "hosts" file is different: `c:\windows\system32\drivers\etc\hosts`
2. Restart AdGuard Home
As a result you will see that the clients names are now shown:
![](top-clients-names.png)
In the future, we plan to add more configuration options in this area.
<a id="configuration-file"></a>
## Configuration file ## Configuration file
Upon the first execution, a file named `AdGuardHome.yaml` will be created, with default values written in it. You can modify the file while your AdGuard Home service is not running. Otherwise, any changes to the file will be lost because the running program will overwrite them. Upon the first execution, a file named `AdGuardHome.yaml` will be created, with default values written in it. You can modify the file while your AdGuard Home service is not running. Otherwise, any changes to the file will be lost because the running program will overwrite them.
@ -78,25 +149,4 @@ Settings are stored in [YAML format](https://en.wikipedia.org/wiki/YAML), possib
* `log_file` — Path to the log file. If empty, writes to stdout, if `syslog` -- system log (or eventlog on Windows). * `log_file` — Path to the log file. If empty, writes to stdout, if `syslog` -- system log (or eventlog on Windows).
* `verbose` — Enable our disables debug verbose output. * `verbose` — Enable our disables debug verbose output.
Removing an entry from settings file will reset it to the default value. Deleting the file will reset all settings to the default values. Removing an entry from settings file will reset it to the default value. Deleting the file will reset all settings to the default values.
## Configuring clients friendly names
It may be useful to set up a friendly name for each IP address that clients use to connect to AdGuard Home. To do this, follow these steps:
1. Open `/etc/hosts` file in your text editor and add a name for each IP address, for example:
192.168.0.2 Mom
192.168.0.3 Dad
192.168.0.4 Sister
192.168.0.5 Brother
Note that on Windows file path to "hosts" file is different: `c:\windows\system32\drivers\etc\hosts`
2. Restart AdGuard Home
As a result you will see that the clients names are now shown:
![](top-clients-names.png)
In the future, we plan to add more configuration options in this area.

@ -16,11 +16,16 @@ Download the archive with the binary file for your operating system from the [la
We currently **officially** support the following operating systems: We currently **officially** support the following operating systems:
* [MacOS](https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.93/AdGuardHome_v0.93_MacOS.zip) * [Rapsberry Pi (32-bit ARM)](https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.94/AdGuardHome_v0.94_linux_arm.tar.gz)
* [Windows 64-bit](https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.93/AdGuardHome_v0.93_Windows.zip) * [MacOS](https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.94/AdGuardHome_v0.94_MacOS.zip)
* [Linux 64-bit](https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.93/AdGuardHome_v0.93_linux_amd64.tar.gz) * [Windows 64-bit](https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.94/AdGuardHome_v0.94_Windows_amd64.zip)
* [Linux 32-bit](https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.93/AdGuardHome_v0.93_linux_386.tar.gz) * [Windows 32-bit](https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.94/AdGuardHome_v0.94_Windows_386.zip)
* [Rapsberry Pi (32-bit ARM)](https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.93/AdGuardHome_v0.93_linux_arm.tar.gz) * [Linux 64-bit](https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.94/AdGuardHome_v0.94_linux_amd64.tar.gz)
* [Linux 32-bit](https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.94/AdGuardHome_v0.94_linux_386.tar.gz)
* [64-bit ARM](https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.94/AdGuardHome_v0.94_linux_arm64.tar.gz)
* [MIPS](https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.94/AdGuardHome_v0.94_linux_mips.tar.gz)
* [MIPSLE](https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.94/AdGuardHome_v0.94_linux_mipsle.tar.gz)
> AdGuard Home can work on other operating systems as well (for instance, it can work on devices with MIPS CPU), but we need your help with testing it. > AdGuard Home can work on other operating systems as well (for instance, it can work on devices with MIPS CPU), but we need your help with testing it.

@ -55,13 +55,13 @@ Once you're done and everything went successfully, you will be greeted by Raspbe
Go to [AdGuard Home page](https://github.com/AdguardTeam/AdGuardHome#installation) and download binaries for Raspberry Pi. Go to [AdGuard Home page](https://github.com/AdguardTeam/AdGuardHome#installation) and download binaries for Raspberry Pi.
At the time of writing this guide, the latest version is v0.93. At the time of writing this guide, the latest version is v0.94.
Let's download AdGuard Home and unpack it: Let's download AdGuard Home and unpack it:
```bash ```bash
cd $HOME cd $HOME
wget https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.93/AdGuardHome_v0.93_linux_arm.tar.gz wget https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.94/AdGuardHome_v0.94_linux_arm.tar.gz
tar xvf AdGuardHome_v0.93_linux_arm.tar.gz tar xvf AdGuardHome_v0.94_linux_arm.tar.gz
``` ```
It will unpack into a new directory called `AdGuardHome`. It will unpack into a new directory called `AdGuardHome`.

6
VPS.md

@ -11,12 +11,12 @@ apt-get install sudo nano bind9-host
Go to [AdGuard Home page](https://github.com/AdguardTeam/AdGuardHome#installation) and download binaries for your architecture (64-bit Linux in this example). Go to [AdGuard Home page](https://github.com/AdguardTeam/AdGuardHome#installation) and download binaries for your architecture (64-bit Linux in this example).
As of the time of writing, the latest version is v0.93. As of the time of writing, the latest version is v0.94.
To download AdGuard Home and unpack it execute following commands: To download AdGuard Home and unpack it execute following commands:
```bash ```bash
wget https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.93/AdGuardHome_v0.93_linux_amd64.tar.gz wget https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.94/AdGuardHome_v0.94_linux_amd64.tar.gz
tar xvf AdGuardHome_v0.93_linux_amd64.tar.gz tar xvf AdGuardHome_v0.94_linux_amd64.tar.gz
``` ```
You can find out the directory where you've unpacked it to by running these commands: You can find out the directory where you've unpacked it to by running these commands:

BIN
upstreams.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB