Technitium DNS

v0.1.0

Monitor and inspect Technitium DNS Server via its HTTP API. Use for read-only health checks, DNS stats, zones, DHCP leases, token/session validation, and pro...

0· 33· 1 versions· 0 current· 0 all-time· Updated 7h ago· MIT-0
byYngvarr_75@naamah75

Install

openclaw skills install technitium-dns

Technitium DNS

Use this skill to perform read-only checks against a Technitium DNS Server instance.

Configuration

Set these environment variables before running scripts:

export TECHNITIUM_URL="http://dns-server.example:5380"
export TECHNITIUM_TOKEN="..."

Technitium v15+ accepts API/session tokens with:

Authorization: Bearer <token>

Prefer a dedicated limited/read-only user and a non-expiring API token for monitoring.

Health Check

Run the bundled helper:

python3 scripts/technitium_health_check.py

Or from another working directory:

TECHNITIUM_URL="http://dns-server.example:5380" \
TECHNITIUM_TOKEN="..." \
python3 /path/to/technitium-dns/scripts/technitium_health_check.py

The script prints JSON:

{
  "ok": true,
  "checked": [],
  "failures": []
}

Exit codes:

  • 0: no critical failures
  • 1: one or more monitored checks detected a critical condition
  • 2: configuration or core API/session check failed

What It Checks

Read-only endpoints:

  • /api/user/session/get — token/session validity and server info
  • /api/settings/get — version, uptime timestamp, DNS settings availability
  • /api/dashboard/stats/get?type=LastHour&utc=true — DNS stats
  • /api/zones/list — disabled, expired, or sync-failed zones
  • /api/dhcp/leases/list — DHCP lease visibility, if permitted/used

Alerts/failures are intended for:

  • API/server unreachable
  • invalid/expired token
  • zone disabled, isExpired, or syncFailed
  • abnormal SERVFAIL/refused/dropped error rate

DHCP permission failure is reported as a warning in checked because many deployments do not use Technitium DHCP or restrict DHCP permissions.

Proactive Use

For heartbeat/proactive monitoring:

  1. Run the health check only when due; avoid checking every wake.
  2. If JSON ok is true, stay silent.
  3. If ok is false, summarize only actionable failures.
  4. Do not modify settings, zones, DHCP, cache, or logs without explicit user confirmation.

API Docs

Technitium DNS Server API docs: https://github.com/TechnitiumSoftware/DnsServer/blob/master/APIDOCS.md

Version tags

dnsvk974jwvnha4hrk7gmft6w7qs6185tz8yhomelabvk974jwvnha4hrk7gmft6w7qs6185tz8ylatestvk974jwvnha4hrk7gmft6w7qs6185tz8ymonitoringvk974jwvnha4hrk7gmft6w7qs6185tz8ytechnitiumvk974jwvnha4hrk7gmft6w7qs6185tz8y

Runtime requirements

Binspython3
EnvTECHNITIUM_URL, TECHNITIUM_TOKEN