DNS PTR validation check written in C for monitoring systems.
This repository now uses the Naid Astro template as the base for the GitHub Pages site.
For a target IP address, the check verifies:
- PTR lookup success.
- Hostname validity (strict rules, optional IDN checks).
- Forward lookup success.
- Forward-confirm match (resolved IP includes the original input IP).
Exit codes are Nagios/Icinga-compatible:
0OK1WARNING2CRITICAL3UNKNOWN
Requirements:
- C compiler (
cc,gcc, orclang) make
Build native target:
makeBuild Linux x86_64 explicitly:
make OS=linux ARCH=x86_64./build/linux-x86_64/check_ptr_validname -i 8.8.8.8 --perfdataDetailed English documentation is available in both repository docs and GitHub Pages routes:
- Code documentation:
docs/code.mdand/docs/code - CLI options:
docs/cli-options.mdand/docs/cli-options - Integrations (Icinga2, Nagios, CLI):
docs/integrations.mdand/docs/integrations
Install and run locally:
npm ci
npm run devBuild static site:
npm run buildWorkflow: .github/workflows/pages.yml
- Trigger: push to
mainor manual dispatch - Builds Astro site and deploys
dist/to GitHub Pages - Injects repository download links via
PUBLIC_*environment variables
Workflow: .github/workflows/release-linux.yml
- Trigger: tags matching
v*or manual dispatch - Builds Linux x86_64 binary
- Uploads binary and SHA256 as workflow artifacts
- Creates/updates GitHub release assets for tag builds
Release example:
git tag v1.0.0
git push origin v1.0.0