Skip to main content

certguard

Check SSL certificate expiry from the command line.

PyPI version Downloads Python License: MIT

Install

pip install certguard
uv tool install certguard
brew install hamzaplojovic/tap/certguard

Usage

Check a single host:

certguard check example.com

Check multiple hosts at once:

certguard check example.com google.com github.com

Use a custom port:

certguard check example.com:8443

Read hosts from a file (one per line, comments with #):

certguard check --file hosts.txt

Output as JSON:

certguard check example.com --json

Set a custom warning threshold (default is 30 days):

certguard check example.com --warn-days 14

Output

certguard prints a table with one row per host. Columns include the host, port, status, expiry date, days remaining, and certificate issuer.

Status is color-coded:

  • OK (green) means the certificate is valid and not expiring soon.
  • EXPIRING (yellow) means the certificate expires within the warning threshold.
  • EXPIRED (red) means the certificate has already expired.
  • ERROR (red) means the connection failed (DNS, timeout, refused, etc.).

The exit code is 0 if all certificates are valid and not expiring soon, or 1 if any certificate is expired, expiring, or unreachable.

Options

Option Short Description
--file PATH -f Read hosts from a file
--json -j Output results as JSON
--warn-days N -w Warning threshold in days (default: 30)
--timeout N -t Connection timeout in seconds (default: 10)
--version -V Show version and exit

Why I built this

I got tired of manually checking certificate expiry dates across a bunch of domains. I wanted a single command I could run (or throw into a cron job) that tells me which certs are about to expire so I can fix them before they cause downtime. certguard does that and nothing more.

License

MIT

Metadata

Release files for certguard 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for certguard 0.1.0
File Size Uploaded
certguard-0.1.0.tar.gz 6.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for certguard 0.1.0
File Interpreter ABI Platform
certguard-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 12.9 kB

Release files / certguard-0.1.0.tar.gz

Download URL certguard-0.1.0.tar.gz
Size 6.1 kB
Tags Source
SHA-256 checksum
How to use checksums
42b89ffb4540cf7d3770c62cb49650b0d77ab0e38de3af177797e5044d16b88f
BLAKE2b-256 checksum
How to use checksums
4ceecfac911ffdc4de76ef84a7ceb83331d43bdd7af0ae0d349eb0163fea84d6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.7

Release files / certguard-0.1.0-py3-none-any.whl

Download URL certguard-0.1.0-py3-none-any.whl
Size 6.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cc32977358964d1d8ceacec59702bafcec0b8b37346e201cc606b84752aa9139
BLAKE2b-256 checksum
How to use checksums
6a8bc7d14a3ef605a8145ca67386b730cd3349763f572c3c91023d802d5d8b01
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.7

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page