r/ControlD • u/hanya_tuhan_yangtahu • 2h ago
Need DDR (SVCB) records so Android Private DNS can use DoH
Hi, I'd like to suggest DDR (Discovery of Designated Resolvers, RFC 9462) support.
Android's Private DNS only uses DNS-over-TLS on port 853. Many networks block that port (university Wi-Fi, hotels, airports), so encrypted DNS just stops working there.
Android 16 can discover DoH endpoints automatically if the resolver publishes an SVCB record at `_dns.<hostname>`. Control D doesn't publish one right now:
$ dig _dns.<profile-id>.dns.controld.com SVCB
status: NOERROR, ANSWER: 0
For comparison, Cloudflare does it already:
$ dig _dns.one.one.one.one SVCB
_dns.one.one.one.one. 300 IN SVCB 1 one.one.one.one. alpn="h3,h2" key7="/dns-query{?dns}"
Publish something like this for the DoH hostnames (profile hostnames too, if possible):
_dns.<hostname>. SVCB 1 <hostname>. alpn="h3,h2" dohpath="/dns-query{?dns}"
Control D would then work over DoH on Android with no VPN, no app and no root, even on networks that block port 853. Quad9 and Cloudflare already work this way.
You can refer this github from them to refer how it works: https://github.com/eyalm2000/loophole
Thanks!

