Skip to main content

Scan hosts for weak TLS/SSL settings and certificate issues.

Project description

TLSleuth

TLSleuth scans hosts for weak TLS/SSL settings and common certificate issues (expiry, issuer, cipher strength), and produces JSON or a polished HTML report.

Features

  • Detects TLS protocol version negotiated (e.g., TLSv1.2, TLSv1.3)
  • Extracts cipher suite and issuer information
  • Checks certificate expiry against current UTC time
  • Flags weak cipher suites (basic list included)
  • Outputs: JSON (stdout) or pretty HTML report (tlsleuth_report.html)
  • Verbose logging with rotating file logs in ./logs/

Installation

From PyPI (after publishing):

pip install tlsleuth

From source (editable/development mode):

pip install -e .

Quick start

Scan a single host and open the HTML report:

tlsleuth --host example.com

JSON output instead of HTML:

tlsleuth --host example.com --json

Scan a list of hosts from a file:

tlsleuth --file hosts.txt

Enable verbose logging:

tlsleuth --host example.com --verbose

You can also run as a module:

python -m tlsleuth --host example.com

CLI options

  • --host, -H Single host to scan (e.g., example.com)
  • --file, -f File containing hosts (one per line)
  • --timeout, -t Connection timeout in seconds (default: 5)
  • --json, -j Print JSON to stdout instead of generating HTML
  • --verbose, -v Enable verbose logging

HTML report

When not using --json, TLSleuth writes tlsleuth_report.html to the current directory. It includes:

  • Summary (host count, scan date)
  • Per-host table with TLS version, cipher, issuer, validity, and flags

Logging

  • Console logs are INFO by default, DEBUG with --verbose.
  • File logs are written to ./logs/tlsleuth.log with daily rotation.

Development

Recommended local run:

python -m tlsleuth --host example.com

Project uses a src/ layout and setuptools packaging. The package is tlsleuth.

License

MIT © Rafael Fron

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

tlsleuth-0.1.0.tar.gz (10.4 kB view details)

Uploaded Source

Built Distribution

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

tlsleuth-0.1.0-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: tlsleuth-0.1.0.tar.gz
  • Upload date:
  • Size: 10.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.2

File hashes

Hashes for tlsleuth-0.1.0.tar.gz
Algorithm Hash digest
SHA256 883d9c10590c088d31a1732191f5bc352395cd8995d63a8c83f422fe981bdc2c
MD5 bec0821c1ab893ec2d02a0a4cceb2c83
BLAKE2b-256 c8c081cf62299a0651b2bdc9ce6387f43dab040045edd205daf2708436e33da8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tlsleuth-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 9.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.2

File hashes

Hashes for tlsleuth-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a8c215bfd25031fc492f2728bdb164b95283b7a42618d625f44b9cff10e233de
MD5 3ce1c25c040bd7ea67a666d802f48ab4
BLAKE2b-256 09f9e42525ff5f558ec106689810bdbfe16794bca567bde962ba5bc624210419

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