diff --git a/client/src/components/Settings/Dns/Upstream/Examples.js b/client/src/components/Settings/Dns/Upstream/Examples.js index 2f145b3a..b4e0ce09 100644 --- a/client/src/components/Settings/Dns/Upstream/Examples.js +++ b/client/src/components/Settings/Dns/Upstream/Examples.js @@ -10,6 +10,15 @@ const Examples = (props) => (
  • 94.140.14.140: {props.t('example_upstream_regular')}
  • +
  • + udp://dns-unfiltered.adguard.com: example_upstream_udp +
  • +
  • + tcp://94.140.14.140: example_upstream_tcp +
  • +
  • + tcp://dns-unfiltered.adguard.com: example_upstream_tcp_hostname +
  • tls://dns-unfiltered.adguard.com: @@ -67,9 +76,6 @@ const Examples = (props) => (
  • -
  • - tcp://94.140.14.140: example_upstream_tcp -
  • sdns://...: diff --git a/internal/dnsforward/http.go b/internal/dnsforward/http.go index b0de11b9..773d55ba 100644 --- a/internal/dnsforward/http.go +++ b/internal/dnsforward/http.go @@ -404,7 +404,7 @@ func ValidateUpstreams(upstreams []string) (err error) { return nil } -var protocols = []string{"tls://", "https://", "tcp://", "sdns://", "quic://"} +var protocols = []string{"udp://", "tcp://", "tls://", "https://", "sdns://", "quic://"} func validateUpstream(u string) (useDefault bool, err error) { // Check if the user tries to specify upstream for domain. diff --git a/internal/dnsforward/http_test.go b/internal/dnsforward/http_test.go index aa78d978..a501f7dc 100644 --- a/internal/dnsforward/http_test.go +++ b/internal/dnsforward/http_test.go @@ -303,6 +303,14 @@ func TestValidateUpstream(t *testing.T) { name: "valid_default", upstream: "sdns://AQMAAAAAAAAAFDE3Ni4xMDMuMTMwLjEzMDo1NDQzINErR_JS3PLCu_iZEIbq95zkSV2LFsigxDIuUso_OQhzIjIuZG5zY3J5cHQuZGVmYXVsdC5uczEuYWRndWFyZC5jb20", wantErr: ``, + }, { + wantDef: assert.True, + name: "default_udp_host", + upstream: "udp://dns.google", + }, { + wantDef: assert.True, + name: "default_udp_ip", + upstream: "udp://8.8.8.8", }, { wantDef: assert.False, name: "valid",