AdguardTeam / AdguardTeam/dnsproxy

Change counterintuitive implementation of “Fastest IP address“ in case of non-A/AAAA response types

オープン
#376 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
feature request
主要言語
Go
スター
3.3k
フォーク
343
PR マージ指標
30日以内にマージされた PR はありません

説明

**Current behavior:**
The switch “Fastest IP address“ makes AdGuard query all configured upstreams. Then…

- if the upstreams return an A or AAAA record type, then AdGuard measures the time to open up a TCP connection to ports 80 and 443 of all returned IP addresses of all configured upstreams. AdGuard then return a manipulated DNS record, that only contains the fastest IP address.
- else (i.e. the upstreams return a different record type) AdGuard enters the normal “load-balancing“ mode. (see https://github.com/AdguardTeam/dnsproxy/blob/a87a3dfd6b737144a16ef92d130319d12184f129/proxy/exchange.go#L28 )

**Suggested behavior:**
If the upstreams return a different record type than A or AAAA, then AdGuard enters the normal “Parallel requests“ mode, i.e. change line 28 to “return upstream.ExchangeParallel(ups, req)“ (like in https://github.com/AdguardTeam/dnsproxy/blob/a87a3dfd6b737144a16ef92d130319d12184f129/proxy/exchange.go#L22 ).

**Rationale:**
As a user of “Fastest IP address“ I have to accept that generally all upstreams are queried in order to get the best overall system performance. In the case of A/AAAA records that is the fastest content server (not the fastest DNS answer). In case of other record types, that would be the fastest DNS answer, in my opinion.

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。