This tool calls the SSL Labs API v3 to do SSL testings on the given hosts, and generates csv and html reports.
All notable changes to this project will be documented in CHANGELOG.
- Python - support Python 3.7, 3.8, 3.9, 3.10.
- Dependabot version updates is enabled in this repository.
- CodeQL is enabled in this repository.
Sample input: sample/SampleServerList.txt
- summary.html (sample output: sample/summary.html)
- summary.csv (sample output: sample/summary.csv)
- hostname.json (sample output: sample/google.com.json)
You can change the report template and styles in these files:
ℹ️ Please note that the SSL Labs Assessment API has access rate limits. You can find more details in the sections "Error Response Status Codes" and "Access Rate and Rate Limiting" in the official SSL Labs API Documentation. Some common status codes are:
- 400 - invocation error (e.g., invalid parameters)
- 429 - client request rate too high or too many new assessments too fast
- 500 - internal error
- 503 - the service is not available (e.g., down for maintenance)
- 529 - the service is overloaded
# Create and activate a new virtual env (optional)
virtualenv env
. env/bin/activate
# Install and run
pip install -e .
ssllabs-scan sample/SampleServerList.txt
# Create and activate a new virtual env (optional)
virtualenv env
env\Scripts\activate
# Install and run
pip install -e .
ssllabs-scan sample\SampleServerList.txt
$ ssllabs-scan sample/SampleServerList.txt
Start analyzing duckduckgo.com...
Status: DNS, StatusMsg(Resolving domain names): waiting 30 secs until next check...
Status: IN_PROGRESS, StatusMsg(None): waiting 30 secs until next check...
Status: IN_PROGRESS, StatusMsg(None): waiting 30 secs until next check...
Start analyzing google.com...
Status: DNS, StatusMsg(Resolving domain names): waiting 30 secs until next check...
Status: IN_PROGRESS, StatusMsg(None): waiting 30 secs until next check...
Status: IN_PROGRESS, StatusMsg(None): waiting 30 secs until next check...
Status: IN_PROGRESS, StatusMsg(None): waiting 30 secs until next check...
Status: IN_PROGRESS, StatusMsg(None): waiting 30 secs until next check...
Status: IN_PROGRESS, StatusMsg(None): waiting 30 secs until next check...
Status: IN_PROGRESS, StatusMsg(None): waiting 30 secs until next check...
Creating summary.html ...
pip install -r requirements-build.txt
tox -r