whoami

package
v1.8.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 20, 2021 License: Apache-2.0 Imports: 8 Imported by: 98

README

whoami

Name

whoami - returns your resolver's local IP address, port and transport.

Description

The whoami plugin is not really that useful, but can be used for having a simple (fast) endpoint to test clients against. When whoami returns a response it will have your client's IP address in the additional section as either an A or AAAA record.

The reply always has an empty answer section. The port and transport are included in the additional section as a SRV record, transport can be "tcp" or "udp".

._<transport>.qname. 0 IN SRV 0 0 <port> .

The whoami plugin will respond to every A or AAAA query, regardless of the query name.

If CoreDNS can't find a Corefile on startup this is the default plugin that gets loaded. As such it can be used to check that CoreDNS is responding to queries. Other than that this plugin is of limited use in production.

Syntax

whoami

Examples

Start a server on the default port and load the whoami plugin.

example.org {
    whoami
}

When queried for "example.org A", CoreDNS will respond with:

;; QUESTION SECTION:
;example.org.   IN       A

;; ADDITIONAL SECTION:
example.org.            0       IN      A       10.240.0.1
_udp.example.org.       0       IN      SRV     0 0 40212

See Also

Read the blog post on how this plugin is built, or explore the source code.

Documentation

Overview

Package whoami implements a plugin that returns details about the resolving querying it.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Whoami

type Whoami struct{}

Whoami is a plugin that returns your IP address, port and the protocol used for connecting to CoreDNS.

func (Whoami) Name

func (wh Whoami) Name() string

Name implements the Handler interface.

func (Whoami) ServeDNS

func (wh Whoami) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.Msg) (int, error)

ServeDNS implements the plugin.Handler interface.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL