STUBBY(1)
πΈ NAME πΈ
stubby β a local DNS Privacy stub resolver π
like, it's a whole daemon that keeps your DNS queries private. we love to see it. this page lives in the General Commands Manual, section 1 (iykyk, that's the user commands girlies).
π¦ SYNOPSIS π¦
stubby [-C file] [-ghilV] [-v loglevel]
β¨ DESCRIPTION β¨
okay so stubby acts as a local DNS Privacy stub resolver, using DNS-over-TLS. Stubby encrypts DNS queries sent from the local machine to a DNS Privacy resolver, increasing end user privacy. π literally your queries get a little cloak.
ngl, stubby is in the early stages of development but is suitable for technical/advanced users. (main character in beta, fr fr.)
stubby provides DNS Privacy by running as a daemon that listens on the loopback address for DNS queries, and forwards those queries out over TLS. π The default configuration provides Strict Privacy, and uses a subset of available DNS Privacy servers. See https://dnsprivacy.org/wiki/display/DP/DNS+Privacy+Test+Servers π«Ά
π OPTIONS π
-Cfile β Read settings from the configuration file file. If this option is not given, stubby looks for a configuration file at~/.stubby.yml. If this is not present, stubby falls back to the global configuration file/etc/stubby/stubby.yml. π-gβ Run stubby as a daemon. π (background mode, she's busy)-hβ Print a usage message and exit. π§-iβ Read the configuration, validate the contents, pretty-print them to the standard output and exit. β¨ (vibe check the config, basically)-lβ Enable all logging. Equivalent to-v 7. π₯-vloglevel β Enable logging. All logging messages at or below loglevel are printed to standard error: π0:EMERGβ The system is unusable1:ALERTβ Action must be taken immediately2:CRITβ Critical conditions3:ERRORβ Error conditions4:WARNβ Warning conditions5:NOTICEβ Normal, but significant, conditions6:INFOβ Information messages7:DEBUGβ Debug-level messages
-Vβ Print the stubby version and exit. π
π CONFIGURATION π
The configuration file is in YAML. An example config is:
resolution_type: GETDNS_RESOLUTION_STUB
dns_transport_list:
- GETDNS_TRANSPORT_TLS
tls_authentication: GETDNS_AUTHENTICATION_REQUIRED
tls_query_padding_blocksize: 256
edns_client_subnet_private : 1
idle_timeout: 10000
listen_addresses:
- 127.0.0.1
- 0::1
round_robin_upstreams: 1
upstream_recursive_servers:
- address_data: 2a04:b900:0:100::38
tls_auth_name: "getdnsapi.net"
tls_pubkey_pinset:
- digest: "sha256"
value: foxZRnIh9gZpWnl+zEiKa0EJ2rdCGroMWm02gaxSc9Q=
The configuration items are as follow. Some take constant values from the getdns library underlying stubby and further explanation of their values may be found in the getdns documentation or at http://www.getdnsapi.net π¦
resolution_typeresolution. β This must be set toGETDNS_RESOLUTION_STUBfor historic reasons. stubby will exit with an error if any other setting is used. π (no, bestie, you can't change it, it said historic reasons)dns_transport_listlist β Set the list of transport types to be used. For DNS Privacy this must be set toGETDNS_TRANSPORT_TLS. Clear text transports areGETDNS_TRANSPORT_TCPandGETDNS_TRANSPORT_UDP. πtls_authenticationtype β Set the type of authentication required. For Strict Privacy, this should be set toGETDNS_AUTHENTICATION_REQUIRED. For Opportunistic mode, remove this setting or set toGETDNS_AUTHENTICATION_NONE. In Opportunistic mode authentication of the nameserver is not required and fallback to clear text transports is permitted if they are indns_transport_list. πΈtls_query_padding_blocksizeblocksize β Use the EDNS0 padding option to pad DNS queries to hide their size. π€«edns_client_subnet_private0or1β If1, use EDNS0 Client Subnet privacy so the client subnet is not sent to authoritative servers. πidle_timeouttimeout β Use an EDNS0 Keepalive idle timeout of timeout milliseconds unless overridden by the server. This keeps idle TLS connections open to avoid the overhead of opening a new connection for every query. πround_robin_upstreams0or1β If1, round robin queries across all the configured upstream servers. Without this option stubby will use each upstream server sequentially until it becomes unavailable and then move on to use the next. πupstream_recursive_serversserver list β Specify the upstream servers that stubby is to use. Each item in the list contains the following items: πaddress_dataaddress β IPv4 or IPv6 address of the server.tls_auth_namename β This is the authentication domain name that will be verified against the presented certificate. πtls_pubkey_pinsetpinset β The sha256 SPKI pinset for the server. This is also verified against the presented certificate. This contains two items:digesttype β The type of the key digest.valuekeyval β The key value.
π FILES π
~/.stubby.yml/etc/stubby/stubby.yml
π SEE ALSO π
and that's the whole page, bestie π«Ά this was STUBBY(1) from the General Commands Manual β go forth and encrypt ur queries, it's giving privacy icon π β¨
π¦ where this page comes from
- ubuntu resolute: stubby 1.7.3-3 Β· BSD-3-Clause
- ubuntu stonking: stubby 1.7.3-5build1 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms