summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAndrew Dunham <andrew@tailscale.com>2026-01-26 12:36:02 -0500
committerAndrew Dunham <andrew@du.nham.ca>2026-01-26 13:18:38 -0500
commit0e1b2b15f1a9a609213d99d527ca448711775b13 (patch)
treee7aaa63b162860b51d1f92843ed00ab10ffc77bf
parent9d13a6df9c4d84f2db700960ee5e64f9b272fa34 (diff)
downloadtailscale-0e1b2b15f1a9a609213d99d527ca448711775b13.tar.xz
tailscale-0e1b2b15f1a9a609213d99d527ca448711775b13.zip
net/dns/publicdns: support CIRA Canadian Shield
RELNOTE=Add DNS-over-HTTPS support for CIRA Canadian Shield Fixes #18524 Signed-off-by: Andrew Dunham <andrew@tailscale.com>
-rw-r--r--net/dns/publicdns/publicdns.go20
1 files changed, 20 insertions, 0 deletions
diff --git a/net/dns/publicdns/publicdns.go b/net/dns/publicdns/publicdns.go
index e3148a5ae..7ceaf1813 100644
--- a/net/dns/publicdns/publicdns.go
+++ b/net/dns/publicdns/publicdns.go
@@ -275,6 +275,26 @@ func populate() {
addDoH("76.76.10.4", "https://freedns.controld.com/family")
addDoH("2606:1a40::4", "https://freedns.controld.com/family")
addDoH("2606:1a40:1::4", "https://freedns.controld.com/family")
+
+ // CIRA Canadian Shield: https://www.cira.ca/en/canadian-shield/configure/summary-cira-canadian-shield-dns-resolver-addresses/
+
+ // CIRA Canadian Shield Private (DNS resolution only)
+ addDoH("149.112.121.10", "https://private.canadianshield.cira.ca/dns-query")
+ addDoH("149.112.122.10", "https://private.canadianshield.cira.ca/dns-query")
+ addDoH("2620:10a:80bb::10", "https://private.canadianshield.cira.ca/dns-query")
+ addDoH("2620:10a:80bc::10", "https://private.canadianshield.cira.ca/dns-query")
+
+ // CIRA Canadian Shield Protected (Malware and phishing protection)
+ addDoH("149.112.121.20", "https://protected.canadianshield.cira.ca/dns-query")
+ addDoH("149.112.122.20", "https://protected.canadianshield.cira.ca/dns-query")
+ addDoH("2620:10a:80bb::20", "https://protected.canadianshield.cira.ca/dns-query")
+ addDoH("2620:10a:80bc::20", "https://protected.canadianshield.cira.ca/dns-query")
+
+ // CIRA Canadian Shield Family (Protected + blocking adult content)
+ addDoH("149.112.121.30", "https://family.canadianshield.cira.ca/dns-query")
+ addDoH("149.112.122.30", "https://family.canadianshield.cira.ca/dns-query")
+ addDoH("2620:10a:80bb::30", "https://family.canadianshield.cira.ca/dns-query")
+ addDoH("2620:10a:80bc::30", "https://family.canadianshield.cira.ca/dns-query")
}
var (