### Install dnsclay with go install Source: https://pkg.go.dev/xmjl.nl/dnsclay Compiles dnsclay locally using the Go toolchain. Requires a recent Go toolchain. Sets GOBIN to the current directory and disables CGO. ```bash GOBIN=$PWD CGO_ENABLED=0 go install xmjl.nl/dnsclay@latest ``` -------------------------------- ### Start dnsclay server Source: https://pkg.go.dev/xmjl.nl/dnsclay Starts the dnsclay server. On first run, it creates an admin password for the web interface and a TLS private key for the DNS server. Use flags to the serve subcommand to set IPs and ports. ```bash ./dnsclay serve ``` -------------------------------- ### dnsclay serve command usage Source: https://pkg.go.dev/xmjl.nl/dnsclay Displays the flags available for the dnsclay serve command, which starts the DNS server interface. ```text usage: dnsclay serve [flags] -adminaddr string address to serve admin interface on (default "localhost:8053") -adminpasswordpath string file with admin password for http basic auth; if absent, a random password is generated and written (default "adminpassword") -dns-notify-tcpaddr string comma-separated tcp address to listen for dns notify messages on -dns-notify-tlsaddr string comma-separated tls address to listen for dns notify messages on -dns-udpaddr string comma-separated udp address to serve dns notify and authoritative soa requests on (default "localhost:1053") -dns-upxfr-tcpaddr string comma-separated tcp address to serve dns update and axfr requests on (default "localhost:1053") -dns-upxfr-tlsaddr string comma-separated tls address to serve dns update and axfr requests on (default "localhost:1853") -loglevel value log level: error, warn, info, debug (default INFO) -metricsaddr string address to serve prometheus metrics on; can be same as adminaddr, no authentication needed (default "localhost:8053") -tlscertpem string path to pem file with one or more certificates; if empty, an ephemeral minimalistic certificate is generated for the private key -tlskeypem string path to pem file with pkcs#8 private key file, for dns tls server; if empty an ephemeral tls key is generated at startup; if left at default, file is created if missing (default "server.privkey-ed25519.pkcs8.pem") -trace string if non-empty, comma-separated formats to log dns request/response traces: text for textual format, json for json, jsonindent for multi-line indented json ``` -------------------------------- ### Dnsclay CLI Command Usage Source: https://pkg.go.dev/xmjl.nl/dnsclay The primary command-line interface for dnsclay, covering server startup, key generation, and DNS protocol interactions. ```bash usage: dnsclay serve [flags] dnsclay genkey >privkey-ed25519.pkcs8.pem dnsclay dns [flags] notify [flags] addr zone dnsclay dns [flags] update [flags] addr zone [add name type ttl value | del...] ... dnsclay dns [flags] xfr [flags] addr zone dnsclay version dnsclay license ``` -------------------------------- ### dnsclay dns notify command usage Source: https://pkg.go.dev/xmjl.nl/dnsclay Displays the flags available for the dnsclay dns notify command. ```text usage: dnsclay dns [flags] notify [-trace] [-json] addr zone -json print dns packets in json too -trace print dns packets ``` -------------------------------- ### dnsclay dns update command usage Source: https://pkg.go.dev/xmjl.nl/dnsclay Displays the flags available for the dnsclay dns update command. ```text usage: dnsclay dns [flags] update [-trace] [-json] addr zone [add name ttl type value | delname name | deltype name type | delrecord name type value] ... -json print dns packets in json too -trace print dns packets ``` -------------------------------- ### dnsclay dns xfr command usage Source: https://pkg.go.dev/xmjl.nl/dnsclay Displays the flags available for the dnsclay dns xfr command. ```text usage: dnsclay dns [flags] xfr [-i serial] [-json] addr zone -i uint serial number for IXFR request instead of default AXFR -json print dns packets in json too -query print dns query ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.