DNS over HTTPS
HTTP/2 and HTTP/3. Works in every modern browser.
Public recursive resolver · Jakarta, ID
Free, encrypted and unlogged. Every lookup is filtered against 472,000+ known ad, tracker, malware and adult domains before it ever leaves the resolver — family safe on every device, with nothing to switch on.
Pick a transport. Encrypted ones are strongly preferred.
HTTP/2 and HTTP/3. Works in every modern browser.
Android Private DNS, systemd-resolved, routers.
RFC 9250. Lowest handshake cost on mobile networks.
Filtering still applies, but the query itself is in the clear.
One profile for everyone. There is no separate family endpoint to remember.
Pornography, adult and gambling sites are refused for every device pointed at this resolver, alongside malware, phishing and the usual advertising and tracking. It is not an optional mode and there is no setting to turn it on — plug in the address and the filtering is already there.
Counts are the domains each source list contributes to the store, live from the resolver. Blocklists were last rebuilt —.
Worth being straight about, because this is the part people rely on most:
Something slipping through, or something harmless caught by mistake? Tell me and the lists get adjusted.
See exactly what this resolver does with a name before you point anything at it.
Answered straight from the resolver's key/value stores — no DNS query is sent, and nothing you type here is logged.
Straight from dnsdist, refreshed every two seconds.
collecting samples…
Two minutes, no software to install.
dns.caliph.dev and save.Android 9+. This gives you DNS over TLS system-wide, including on mobile data.
https://dns.caliph.dev/dns-query.iOS 14+ supports encrypted DNS natively, but only through a configuration profile.
103.155.191.224.https://dns.caliph.dev/dns-query.Windows 11 and Windows 10 22H2 or newer.
103.155.191.224.# dnscrypt-proxy.toml
[static.'caliph']
stamp = 'https://dns.caliph.dev/dns-query'
systemd-resolved with DNS over TLS:
# /etc/systemd/resolved.conf
[Resolve]
DNS=103.155.191.224#dns.caliph.dev
DNSOverTLS=yes
Then sudo systemctl restart systemd-resolved.
https://dns.caliph.dev/dns-query.Browser-level DoH only covers that browser. The OS-level options above cover everything.
Point your router's upstream DNS at both addresses so every device on the LAN is covered:
IPv4 103.155.191.224
IPv6 2406:7540:2500:0:103:155:191:224
On OpenWrt, stubby or https-dns-proxy will give you encrypted upstream instead.
dig +short @103.155.191.224 doubleclick.net
# 0.0.0.0 → filtering is active
kdig -d +tls @dns.caliph.dev caliph.dev
# TLS handshake succeeded → DoT is working
Queries are answered and forgotten. Only aggregate counters — the ones on this page — are kept.
The blocklist targets advertising, telemetry, phishing and malware. Nothing political, nothing editorial.
Run by one person on one box. It is stable, but it carries no SLA — do not put a hospital on it.
Rate limits apply per source address. Bulk scanning and amplification attempts are dropped at the edge.