Operational Status: [Status] is a DNS (Domain Name System) service that, when queried with a hostname with an embedded IP address, returns that IP address. It was inspired by, which was created by Sam Stephenson.

Here are some examples:

Hostname / URL IP Address Notes dot separators, website mirror (IPv4) dash separators, website mirror (IPv4) subdomain subdomain + dashes dash prefix, website mirror (IPv4) ::1 IPv6 — always use dashes, never dots 2a01:4f8:c17:b8f::2 website mirror (IPv6)

Branding / White Label / Custom Domains can be used to brand your own site (you don’t need to use the domain). For example, say you own the domain “”, and you want your subdomain, “” to have features. To accomplish this, set the following three DNS servers as NS records for the subdomain “”

hostname IP address Location
USA USA Singapore

Let’s test it from the command line using dig:

dig +short

Yields, hopefully: [connection timed out]

But I Want My Own DNS Server!

If you want to run your own DNS server, it's simple: you can compile from source or you can use one of our pre-built binaries. In the following example, we install & run our server within a docker container:

docker run -it --rm fedora
curl -L -o dns-server
chmod +x dns-server
./dns-server 2> dns-server.log &
dnf install -y bind-utils
dig @localhost +short # returns ""


You can acquire TLS certificates for your externally-accessible hosts from certificate authorities (CAs) such as Let's Encrypt. The easiest mechanism to acquire a certificate would be to use the HTTP-01 challenge. It requires, at a minimum, a web server running on your machine. The Caddy web server is one of the most popular examples. For example, if you had a webserver with the IP address, you could obtain a TLS certificate for "", or "", or "".

If you have procured a wildcard certificate for your branded / white label / custom subdomain, you may install it on your machines for TLS-verified connections.

When using a TLS wildcard certificate in conjunction with your branded style subdomain, you must use dashes not dots as separators. For example, if you have the TLS certificate for *, you could browse to but not

if you're interested in acquiring a wildcard certificate for your domain, e.g. "*", the procedure is described here.

Experimental Features

Experimental features can change; don't depend on them.

Determining Your External IP Address via DNS Lookup

You can use's DNS servers ( to determine your public IP address by querying the TXT record of

dig txt +short    # sample reply "2607:fb90:464:ae1e:ed60:29c:884c:4b52"
dig txt +short -4 # forces IPv4 lookup; sample reply ""
dig txt +short -6 # forces IPv6 lookup; sample reply "2607:fb90:464:ae1e:ed60:29c:884c:4b52"

This feature was inspired by Google's DNS lookup, i.e. dig txt @ +short. There are also popular HTTP-based services for determining your public IP address:

A big advantage of using DNS queries instead of HTTP queries is bandwidth: querying requires a mere 592 bytes spread over 2 packets; Querying requires 8692 bytes spread out over 34 packets—over 14 times as much! Admittedly bandwidth usage is a bigger concern for the one hosting the service than the one using the service.

Determining The Server Version of Software

You can determine the server version of the software by querying the TXT record of
dig txt +short

The first number, ("2.4.1"), is the version of the DNS software, and is most relevant. The other two numbers are the date compiled and the most recent git hash, but those values can differ across servers due to the manner in which the software is deployed.

Server Metrics

You can retrieve metrics from a given server by querying the TXT records of
dig txt +short
  "Uptime (seconds): 13486"
  "Key-value store: etcd"
  "Blocklist: 2022-02-26 10:54:21-08 2,1"
  "Queries: 550488"
  "Queries/second: 40.8"
  "AnsQueries: 149974"
  "AnsQueries/second: 11.1"
  "AnsA: 113520"
  "AnsAAAA: 7993"
  "Source IP TXT: 12"
  "Version TXT: 5"
  "DNS-01 challenge: 39"
Explanation of Metrics
The time since the DNS server has been started, in seconds
Key-value store
This can be one of two values: "builtin" and "etcd". "builtin" means any changes to key/value are limited to that specific DNS server. "etcd" means changes are propagated to all servers whose key-value store is "etcd"
The first value ("2022-02-26 10:54:21-08") is the date the blocklist was last downloaded. The following two numbers are the number of string matches that are blocked (e.g. "raiffeisen" is a string that is blocked if it appears in the queried hostname) and the number of CIDR matches that are blocked (e.g. "" is blocked). The blocklist can be found here
The raw number of DNS queries that the server has responded to since starting operation
The raw number of DNS queries that the server has responded to since starting operation divided by the number of seconds
The number of queries we responded to with at least one record in the answer section. Note that the number of answered queries is typically a third or fourth the size of the overall queries. This is normal. One reason for this disparity is that often both the IPv4 (A) and IPv6 (AAAA) records will be checked, but only one reply will have a record in the answer section . For example, browsing to "" generates two lookups, one with an answer (IPv4), and one without (IPv6). Another reason is that lookups follow a chain, e.g. looking up "" may generate up to four queries for A records ("", "", "" and ""), only the last of which returns a record in the answer section. Pro-tip: if you want to shave milliseconds off name resolution, use dashes not dots in your hostname (e.g. "" instead of "")
The raw number of DNS queries that the server has responded to with at least one record in the answer section since starting operation divided by the number of seconds
The number of responses which included an A (IPv4) record since starting operation (e.g. "dig")
The number of responses which included an AAAA (IPv6) record since starting operation (e.g. "dig aaaa")
Source IP TXT
The number of responses which included a TXT record of the querier's IP address since starting operation (e.g. "dig txt")
Version TXT
The number of responses which included a TXT record of the DNS's servers version since starting operation (e.g. "dig txt")
DNS-01 Challenge
The number of responses which included a delegation of the NS (nameserver). This lookup is used for generating wildcard certificates from Let's Encrypt. Technically this is not a "successful" query in that we don't return a record in the ANSWER section, but we do return an NS record in the AUTHORITY section. (e.g. "dig soa")


[Status] A status of “build failing” rarely means the system is failing. It’s more often an indication that when the servers were last checked (currently every six hours), the CI (continuous integration) server had difficulty reaching one of the three nameservers. That’s normal. [connection timed out]

[connection timed out]

DNS runs over UDP which has no guaranteed delivery, and it’s not uncommon for the packets to get lost in transmission. DNS clients are programmed to seamlessly query a different server when that happens. That’s why DNS, by fiat, requires at least two nameservers (for redundancy). From IETF (Internet Engineering Task Force) RFC (Request for Comment) 1034:

A given zone will be available from several name servers to insure its availability in spite of host or communication link failure. By administrative fiat, we require every zone to be available on at least two servers, and many zones have more redundancy than that.