Skip to content

DNS over TCP ​

A tcp DNS server sends each query behind a two-byte length (RFC 7766). One connection is reused and queries are pipelined on it; it closes after 30 seconds without an answer. Port 53 by default.

Structure ​

json
{
  "tag": "plain-tcp",
  "type": "tcp",
  "settings": { "server": "9.9.9.9", "timeout": "5s" },
  "outbound": "proxy"
}

Fields ​

settings.server ​

stringRequired

An IP or hostname with an optional port: "9.9.9.9", "dns.example:53".

settings.timeout ​

durationDefault: 5s

How long one query may take, including reaching the server.

NOTE

Nothing is encrypted. Through a proxy outbound the network sees no DNS, but the proxy's exit does; use dot or doh to hide it from the path to the server.

The common fields (tag, outbound, ip_versions, dns_server) are on DNS server.