@fortis-tools/healthcheck
v3.0.1
Published
A rapid diagnostic CLI for DevOps
Readme
🩺 @fortis-tools/healthcheck
A production-grade, miniature SRE observability CLI tool. It deeply inspects domains and provides a comprehensive diagnostic report covering DNS, SSL, HTTP/2, and Security Posture.
It goes far beyond a simple ping by tracking HTTP redirects, detecting ALPN negotiated protocols, evaluating strict security headers, and calculating an overall Health Score. It is built to be modular, supporting multiple domains and CI/CD pipelines natively.
🚀 Quick Start
Run it instantly against any domain using npx:
npx @fortis-tools/healthcheck google.com✨ Features
- DNS Diagnostics: Concurrently resolves IPv4 (
A) and IPv6 (AAAA) records. - Deep SSL Inspection: Evaluates the SSL Certificate issuer, exact expiry dates, Cipher Suite, and negotiated TLS Version.
- ALPN HTTP/2 Detection: Injects
ALPNProtocolsinto the TLS socket to natively determine if the server supports HTTP/2 binary framing. - Actionable Security Posture: Checks for 6 strict security headers (e.g.
Content-Security-Policy,HSTS) and provides clear explanations for why they matter. - Tech Stack & WAF Recon (
--discover): Parses headers to identify the underlying cloud provider, WAF (Cloudflare, AWS, Vercel), and framework. - Port Scanner (
--ports): Concurrently scans standard vulnerable ports (22, 3306, 27017, etc.) with strict timeouts and alerts on dangerous internet exposure. - Email Security (
--mail): Queries DNS TXT records to validate SPF and DMARC configurations against spoofing. - Endpoint Spider (
--spider): Parsessitemap.xml, samples endpoints, and concurrently measures TTFB latency across the application. - Smart Scoring Engine: Calculates an Overall Health Score (out of 10) and provides a list of actionable recommendations.
- CI/CD Ready:
- Supports
--jsonflag to output raw structured data. - Returns standard exit codes (
0for Healthy,1for Security warnings,2for SSL warnings,3for HTTP errors,4for DNS failures).
- Supports
- Multi-Domain Support: Pass an array of domains to generate a sleek comparative score table.
💻 Usage
Single Domain Inspection (Standard)
npx @fortis-tools/healthcheck yourdomain.comFull Reconnaissance Mode
Run all the advanced diagnostic flags at once:
npx @fortis-tools/healthcheck yourdomain.com --discover --ports --mail --spiderMulti-Domain Comparison
npx @fortis-tools/healthcheck google.com github.com example.comCI/CD JSON Output
npx @fortis-tools/healthcheck yourdomain.com --json🛠️ Built With
- Node.js Native Modules (
dns,tls,https,http) - TypeScript
- Boxen & Chalk for the UI
📦 Local Development
- Clone the repository
- Install dependencies:
npm install - Compile the TypeScript:
npm run build - Run the CLI:
node dist/index.js google.com
👨💻 Maintainer
Ganesh Angadi
- 🐙 GitHub: @ganeshak11
- 🌐 Portfolio: ganeshangadi.online
- 💼 LinkedIn: Ganesh Angadi
Built as part of the Fortis-Tools DevOps toolkit.
