DOH-CLI(1)

πŸ“¦
version 0.8 Β· 2 versions
, in ubuntu stonking

✨ DOH-CLI πŸ’…

okay bestie, gather round, because today we're talking about doh-cli β€” your new fave little User Commands icon, a simple DNS over HTTPS client πŸ¦‹


🌸 NAME 🌸

doh-cli β€” a simple DNS over HTTPS client. that's it, that's the vibe. she's simple, she's cute, she does DNS over HTTPS, and she does it WELL πŸ‘‘


✨ SYNOPSIS ✨

doh-cli [ OPTIONS ] domain [ rr ]

rr := { A | AAAA | CNAME | HTTPS | MX | NS | SOA | SPF | SRV | SVCB |
TXT | CAA | DNSKEY | DS }

so you give her some OPTIONS, a domain, and optionally an rr (that's the record type, bestie) and she goes off and does her thing 🫢 and like, those are ALL the record types she knows:

  • A
  • AAAA
  • CNAME
  • HTTPS
  • MX
  • NS
  • SOA
  • SPF
  • SRV
  • SVCB
  • TXT
  • CAA
  • DNSKEY
  • DS

no cap, that's the whole list πŸ’œ


πŸ’– DESCRIPTION πŸ’–

okay so, this is a simple DoH Python client β€” we're talking RFC 8484, and specifically the GET flavor, iykyk 😌 and the way that she supports both plain output AND json output?? it's giving versatility. it's giving main character energy. periodt πŸ’…


πŸŽ€ OPTIONS πŸŽ€

  • --debug β€” show the entire response. like, the whole thing, unfiltered, no secrets πŸ™ˆ
  • --dns dns β€” choose your DoH endpoint, bestie! the possible values of dns are:
    • libredns β€” the default value. she's the moment, she's the blueprint ✨
    • libredns-ads β€” LibreDNS No-Trackers/Ads 🚫
    • google
    • cloudflare
    • quad9
    • cleanbrowsing β€” blocks access to adult, pornographic and explicit sites, also VPNs. very protective, very demure 😀
    • cleanbrowsing-secure β€” blocks access to phishing, malware and malicious domains. she's the bodyguard fr fr πŸ›‘οΈ
    • cleanbrowsing-adult β€” blocks access to all adult, pornographic and explicit sites.
    • cira
    • cira-protect β€” malware and phishing protection 🧚
    • cira-family β€” blocking pornographic content plus protected.
    • securedns
    • securedns-ads β€” blockign ads, malware and phishing. (yes that typo is straight from the original, we do NOT fix the queen's typos, that's her lore 😭)
  • --dnssec β€” request DNSSEC signatures πŸ”
  • --json β€” display DNS response in json format. for the girlies who pipe into other things πŸ’–
  • --time β€” show query time. and listen, this value is related to the client request towards the DoH provider, NOT the actual dns response β€” so don't @ her about it, it's measuring the wrong thing on purpose bestie 🫠
  • --url url β€” provide your own DoH endpoint. this option overrides the --dns option. she's got range, she's custom πŸ’…
  • --verbose β€” show the entire request πŸ‘€
  • -v, --version β€” print version information and exit. bye bestie 🫢

🌈 EXAMPLES 🌈

the classics, as written:

doh-cli libredns.gr A

and with the json glow-up:

doh-cli --json libredns.gr A

You can use jq(1) to format, parse output:

doh-cli --json libredns.gr A | jq .

look at her. piping. formatting. parsing. she ATE πŸ‘‘


🌟 SEE ALSO: technically the page points you at jq(1) for formatting and parsing output β€” go say hi to her too πŸ’œ

okay so that's the whole page bestie, and literally every last crumb is in here β€” every flag, every DNS provider, every record type, every warning, all the typos, all preserved. no cap πŸ’–

this gorgeous piece of work is doh-cli version 0.8, dated June 2026 ✨ she's fresh, she's thriving, she's iconic, and she is not like other DNS clients. mwah πŸ’…πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from