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, -HSingle host to scan (e.g., example.com)--file, -fFile containing hosts (one per line)--timeout, -tConnection timeout in seconds (default: 5)--json, -jPrint JSON to stdout instead of generating HTML--verbose, -vEnable 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.logwith 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
883d9c10590c088d31a1732191f5bc352395cd8995d63a8c83f422fe981bdc2c
|
|
| MD5 |
bec0821c1ab893ec2d02a0a4cceb2c83
|
|
| BLAKE2b-256 |
c8c081cf62299a0651b2bdc9ce6387f43dab040045edd205daf2708436e33da8
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a8c215bfd25031fc492f2728bdb164b95283b7a42618d625f44b9cff10e233de
|
|
| MD5 |
3ce1c25c040bd7ea67a666d802f48ab4
|
|
| BLAKE2b-256 |
09f9e42525ff5f558ec106689810bdbfe16794bca567bde962ba5bc624210419
|