Skip to main content

Check SSL certificate expiry from the command line

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

certguard-0.1.0.tar.gz (6.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

certguard-0.1.0-py3-none-any.whl (6.8 kB view details)

Uploaded Python 3

File details

Details for the file certguard-0.1.0.tar.gz.

File metadata

  • Download URL: certguard-0.1.0.tar.gz
  • Upload date:
  • Size: 6.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.7

File hashes

Hashes for certguard-0.1.0.tar.gz
Algorithm Hash digest
SHA256 42b89ffb4540cf7d3770c62cb49650b0d77ab0e38de3af177797e5044d16b88f
MD5 f79cc2df3382687764ced9c942f91b8b
BLAKE2b-256 4ceecfac911ffdc4de76ef84a7ceb83331d43bdd7af0ae0d349eb0163fea84d6

See more details on using hashes here.

File details

Details for the file certguard-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: certguard-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 6.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.7

File hashes

Hashes for certguard-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cc32977358964d1d8ceacec59702bafcec0b8b37346e201cc606b84752aa9139
MD5 2683a3e971c775059c4fbf341c30f2d4
BLAKE2b-256 6a8bc7d14a3ef605a8145ca67386b730cd3349763f572c3c91023d802d5d8b01

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page