AdguardTeam / AdguardTeam/AdGuardHome

upstream DNS server GROUP

未关闭
#6,459 0 条评论 2 个 reaction 已指派 0 人 在 GitHub 查看
feature request
主要语言
TypeScript
星标
36.9k
派生
2.5k
PR 合并指标
30 天内没有已合并 PR

描述

### 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:
![pic-ui](https://github.com/AdguardTeam/AdGuardHome/assets/151989571/497550f8-f629-40a9-8b30-cc04520a0da3)
and if possible, upstream server of the rules that url file import can also be covered by Web settings.

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。