AdguardTeam / AdguardTeam/AdGuardHome
upstream DNS server GROUP
- Lingua principale
- TypeScript
- Stelle
- 36.9k
- Fork
- 2.5k
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
### Prerequisites
- [X] I have checked the [Wiki](https://github.com/AdguardTeam/AdGuardHome/wiki) and [Discussions](https://github.com/AdguardTeam/AdGuardHome/discussions) and found no answer
- [X] I have searched other issues and found no duplicates
- [X] I want to request a feature or enhancement and not ask a question
### The problem
- For upstream DNS servers, its never possible to have just one because when that server goes down, DNS breaks after the cache timeout.
- AdguardHome, which is deployed on public network Cloud Virtual Machine, is usually not located in the same region as the user client, so it is likely that upstream DNS needs to be specified according to the specific location of the client to speed up user access.
- For public DNS, some DNS records may be hijacked according to national policies, laws or company treaties to provide wrong records, so sometimes it is necessary to specify a dedicated DNS upstream server group for a specific domain name.
- For DNS records, existing encryption techniques (DoT and DoH) should also be widely supported.
-----------------------------------------------------------------------------------
For example, I want netcut.cn to use a set of (MORE THAN ONE) upstream DNS servers to prevent special cases from causing resolution breaks, and also want these upstream servers to use some encryption (DoT and DoH).
Under the current solution, it can set directly with the syntax:
```
[/domain1/domain2/domainN/]upstreamString
```
But `upstreamString` is always "Ctrl C + Ctrl V". This is not only reflected in the direct configuration of the Web, but also reflected in the url address import configuration file similar to chinalist.
When you want to modify these upstream DNS, for Web configuration, the difficulty of modification increases with the increase of the setting content, while for url import rules, only one line of path can be seen on the Web interface, and it is impossible to directly change the upstream DNS server in the file on the Web.
### Proposed solution
is it possible to add a syntax like ("$" can be any specific character):
```
### defination of upstream DNS group ###
$upstreamA {
223.5.5.5
223.5.5.5:53
tls://223.6.6.6
https://1.12.12.12/dns-query
h3://120.53.53.53/dns-query
quic://120.53.53.53
}
$upstreamB {
1.1.1.1
1.1.1.1:53
tls://1.0.0.1
https://8.8.4.4/dns-query
h3://8.8.8.8/dns-query
quic://8.8.8.8
}
```
and in upstream DNS server settings:
```
[/eg.blocked.domainA/eg.blocked.domainB/.../]$upstreamA
[/*.blocked.domainA/eg.blocked.*/.../]$upstreamA
[/*.blocked.*/.../]$upstreamB
```
### Alternatives considered and additional information
Based on this, its highily recommand that to config this within web UI like:

and if possible, upstream server of the rules that url file import can also be covered by Web settings.
Guida per i contributori
Apri la guida per i contributori
Valutazione
Questa issue non è ancora stata valutata.