This server answers DNS queries for gadget names under zone dnssrc.fibrecat.org. Each name returns a specific value (your IP, a counter, time, etc.). Copy and paste the dig commands below.
dig @dnssrc.fibrecat.org … to query this server directly, or use your normal resolver so it forwards to this server. Shift+click Copy to paste commands with @dnssrc.fibrecat.org already in each line.TXT record with a link to this docs page (https://www.dnssrc.fibrecat.org).
dig help.dnssrc.fibrecat.org TXT
Your client's IP address. Recommend using TXT so you always get the real address. A/AAAA return both record types for DNSSEC; if the packet came via IPv6, A is 0.0.0.0 (placeholder), and if via IPv4, AAAA is :: (placeholder).
dig myip.dnssrc.fibrecat.org TXT
dig ip.dnssrc.fibrecat.org TXT
dig myip.dnssrc.fibrecat.org A
dig myip.dnssrc.fibrecat.org AAAA
Your client's source port (TXT).
dig myport.dnssrc.fibrecat.org TXT
dig port.dnssrc.fibrecat.org TXT
Your client's address and port (TXT, two strings).
dig myaddr.dnssrc.fibrecat.org TXT
dig addr.dnssrc.fibrecat.org TXT
URL-like representation of how the client connected (TXT): doh://<ip4>:<port>, dot://[<ipv6>]:<port>, doq://, udp://, or tcp://.
dig connection.dnssrc.fibrecat.org TXT
dig myconnection.dnssrc.fibrecat.org TXT
Per-server incrementing counter (TXT).
dig counter.dnssrc.fibrecat.org TXT
Random value (A, AAAA, or TXT).
dig random.dnssrc.fibrecat.org A
dig random.dnssrc.fibrecat.org AAAA
dig random.dnssrc.fibrecat.org TXT
Transport used: UDP, TCP, DoT, DoH, or DoQ (TXT).
dig protocol.dnssrc.fibrecat.org TXT
Current time in milliseconds (TXT), with TTL = N seconds (0–86400). Example: timestamp-60, timestamp-0.
dig timestamp-60.dnssrc.fibrecat.org TXT
dig timestamp-0.dnssrc.fibrecat.org TXT
Current Unix time in seconds, with TTL = N (0–86400). Example: ttl-60, ttl-0.
dig ttl-60.dnssrc.fibrecat.org TXT
dig ttl-0.dnssrc.fibrecat.org TXT
EDNS options present on the request (TXT).
dig edns.dnssrc.fibrecat.org TXT
EDNS Client Subnet from the request (TXT).
dig edns-cs.dnssrc.fibrecat.org TXT
dig ecs.dnssrc.fibrecat.org TXT
EDNS Cookie (RFC 7873) from the request, echoed as TXT. Use +cookie with dig to send a cookie.
dig +cookie cookie.dnssrc.fibrecat.org TXT
Pad the response with EDNS padding so the wire size is at least N bytes (128–4096). Stack with any gadget or set-option, e.g. setednspad-256.counter.dnssrc.fibrecat.org returns the counter with padding; setednspad-512.myip.dnssrc.fibrecat.org returns your IP with a 512-byte response.
dig setednspad-256.counter.dnssrc.fibrecat.org TXT
dig setednspad-512.myip.dnssrc.fibrecat.org A
Response wire size approximately N bytes (128–4096). Returns random TXT content to reach the requested size. TXT only.
dig size-256.dnssrc.fibrecat.org TXT
Gadget that delays the response by N milliseconds, or by a random number of milliseconds between X and Y (inclusive). Returns a TXT record (e.g. delayed 100ms). Useful for timeout and latency testing. For delaying any query (e.g. counter, myip), use the set-option set-delay-N or set-delay-X-Y instead. Example: delay-500, delay-100-500.
dig delay-500.dnssrc.fibrecat.org TXT
dig delay-100-500.dnssrc.fibrecat.org TXT
QNAME minimization testing (RFC 7816). Query any name under *.qname-min.dnssrc.fibrecat.org (e.g. a.b.c.d.qname-min.dnssrc.fibrecat.org). The TXT response includes the QNAME received and the sequence of qnames the server saw from that resolver (oldest first). Because all names are in the same zone on this server, the full sequence is visible.
With QNAME minimization: For a.b.c.d.dnssrc.fibrecat.org you should see 2 queries: first qname-min.dnssrc.fibrecat.org (or dnssrc.fibrecat.org), then a.b.c.d.qname-min.dnssrc.fibrecat.org. The resolver discovers there is no delegation and then sends the full name.
Other outcomes:
a.b.c.d.qname-min.dnssrc.fibrecat.org; indicates no QNAME minimization.qname-min.dnssrc.fibrecat.org, then d.qname-min.dnssrc.fibrecat.org, then c.d.qname-min.dnssrc.fibrecat.org, etc.; the resolver keeps adding one label at a time instead of jumping to the full name after a non-referral.Why 2 queries is expected:
qname-min.dnssrc.fibrecat.org it might ask for d.qname-min.dnssrc.fibrecat.org, then c.d.qname-min.dnssrc.fibrecat.org.a.b.c.d.qname-min.dnssrc.fibrecat.org directly.dig zzzzzzz.qname-min.dnssrc.fibrecat.org TXT
dig a.b.c.d.qname-min.dnssrc.fibrecat.org TXT
Fixed TXT records under txt-test.dnssrc.fibrecat.org for testing how resolvers, tools, or UIs display or escape TXT data. Use to check for XSS, link injection, or SQL-injection-style payload handling.
alert.txt-test.dnssrc.fibrecat.org — TXT containing <script>alert(1)</script>href.txt-test.dnssrc.fibrecat.org — TXT containing https://example.com/bobby-tables.txt-test.dnssrc.fibrecat.org — TXT containing ' OR '1'='1dig alert.txt-test.dnssrc.fibrecat.org TXT
dig href.txt-test.dnssrc.fibrecat.org TXT
dig bobby-tables.txt-test.dnssrc.fibrecat.org TXT
unresolvable.ns-test.dnssrc.fibrecat.org returns a referral (NS records in Authority) pointing to names this server does not serve (no A/AAAA glue). A recursive resolver that follows the delegation will try to resolve those NS targets and should eventually get NXDOMAIN or timeout, leading to SERVFAIL. Use to test how resolvers handle broken delegations.
dig unresolvable.ns-test.dnssrc.fibrecat.org A
These names deliberately break DNSSEC so you can check that your resolver validates (you should get SERVFAIL or no answer when validation is on). All fail-case names live under dnssec-failed.dnssrc.fibrecat.org.
sig-fail.dnssec-failed.dnssrc.fibrecat.org — invalid RRSIG (corrupted signature)rrsig-expired.dnssec-failed.dnssrc.fibrecat.org — RRSIG validity in the past (expired)rrsig-future.dnssec-failed.dnssrc.fibrecat.org — RRSIG validity in the future (not yet valid)nsec-missing.dnssec-failed.dnssrc.fibrecat.org — NODATA without NSECnsec-wrong-next.dnssec-failed.dnssrc.fibrecat.org — NSEC with wrong NextDomain (chain broken)rrsig-wrong-alg.dnssec-failed.dnssrc.fibrecat.org — RRSIG claims wrong algorithmrrsig-wrong-rrset.dnssec-failed.dnssrc.fibrecat.org — RRSIG signed over wrong RRsetrrsig-missing.dnssec-failed.dnssrc.fibrecat.org — RRset with no RRSIGnsec3-instead.dnssec-failed.dnssrc.fibrecat.org — NSEC3 in response (zone is NSEC-only)dig sig-fail.dnssec-failed.dnssrc.fibrecat.org A
dig rrsig-expired.dnssec-failed.dnssrc.fibrecat.org A
dig nsec-missing.dnssec-failed.dnssrc.fibrecat.org A
Port and transaction ID entropy check. The browser triggers DNS lookups; results show source port and ID randomness (GREAT/GOOD/POOR).
Open /entropy to run the check.
You need a modern dig (BIND 9.17+ for +https, BIND 9.19+ for +tls). Query directly at this server (@dnssrc.fibrecat.org), not via a recursive resolver.
Use the connection gadget so the TXT response shows the transport in use (dot://…, doh://…, or doq://…).
DoT (port 853):
dig +tls @dnssrc.fibrecat.org connection.dnssrc.fibrecat.org TXT
DoH (port 443, path /dns-query):
dig +https @dnssrc.fibrecat.org connection.dnssrc.fibrecat.org TXT
DoQ (port 8853): dig doesn't support DNS over QUIC. Use the doggo client (install: go install github.com/mr-karan/doggo/cmd/doggo@latest or brew install doggo). Query directly at this server; the response will show doq://….
doggo TXT connection.dnssrc.fibrecat.org @quic://dnssrc.fibrecat.org:8853
Recursive–to–authority security: Today, stub→recursive and recursive→authority are often unencrypted. The DELEG (Extensible Delegation for DNS) internet draft aims to allow delegation records to carry server capabilities (e.g. DoT/DoH), so recursive resolvers can securely reach authoritative servers in the future.
Record a query for a token, then open the dashboard in a browser. Replace mytoken with any label.
dig mytoken.diag.dnssrc.fibrecat.org TXT
Then open https://diag.dnssrc.fibrecat.org/ to enter your token, or go directly to https://diag.dnssrc.fibrecat.org/<token> to view recorded queries for that token.
You can also run a gadget under diag: <gadget>.<token>.diag.dnssrc.fibrecat.org returns the gadget response (e.g. connection URL, myip) and still records the query to the diag dashboard for that token. Example: connection.foo.diag.dnssrc.fibrecat.org returns the connection URL and records under token foo.
dig connection.foo.diag.dnssrc.fibrecat.org TXT
dig myip.mytoken.diag.dnssrc.fibrecat.org TXT