Check SSL/TLS certificate status for any domain with concurrent scanning, HTML reports, and JSON output.
bash
python3 skills/ssl-checker/scripts/check_ssl.py example.com
Output:
text
🔍 Checking 1 domain(s)...
[1/1] 🟢 example.com: valid (87d)
Hostname Port Status Days Left Issuer Expiry Date
========================================================================================================
example.com 443 🟢 Valid 87 Let's Encrypt 2026-08-10
📊 Summary: 1 healthy, 0 warnings, 0 errors — 1 total
CommandDescriptionpython3 check_ssl.py example.comCheck one domainpython3 check_ssl.py domain1.com domain2.comCheck multiple domainspython3 check_ssl.py --file domains.txtCheck domains from filepython3 check_ssl.py example.com --port 8443Custom portpython3 check_ssl.py example.com --jsonJSON outputpython3 check_ssl.py example.com --reportHTML reportpython3 check_ssl.py --output report.html --reportCustom output pathpython3 check_ssl.py --threads 20Concurrent checks (default: 10)
text
# domains.txt
example.com
google.com
mysite.io:8443
LevelDays RemainingBadge✅ Valid> 60 days🟢🟡 Expiring Soon31–60 days🟡🟠 Warning15–30 days🟠🔴 Critical≤ 14 days🔴⛔ Expired< 0 days⛔
Generates a styled Bootstrap report with status badges, SAN details, and issuer info:
bash
python3 skills/ssl-checker/scripts/check_ssl.py --file domains.txt --report
# Creates: ssl-report-20260515-090500.html
For programmatic consumption and monitoring integrations:
bash
python3 skills/ssl-checker/scripts/check_ssl.py example.com --json