lts-scan is a command-line tool written in Python that leverages the Qualys SSL Labs API to scan and evaluate SSL/TLS configurations of websites.
It supports multiple hosts, retry logic, and output in CSV or JSON formats.
- Asynchronous scans using
asyncio
andaiohttp
- Retry mechanism for API failures
- Supports both CSV and JSON output
- Automatically waits until scan status is
READY
orERROR
- Command-line options for customization
- Clear and readable logs
You can install lts-scan
from PyPI using pip:
pip install lts-scan
Or from source we recommend using Poetry for managing dependencies and environments.
git clone https://github.com/alexandre-meline/lts-scan.git
cd lts-scan
poetry install
Create a hosts.txt file with one domain per line:
google.com
github.com
expired.badssl.com
Then run the tool:
lts-scan --input hosts.txt --output results.csv
You can customize the output format:
lts-scan --input hosts.txt --output results.json --format json
Option | Description | Default |
---|---|---|
--input |
Path to the input file containing hosts | required |
--output |
Path to the output file | required |
--format |
Output format: csv or json |
csv |
--retries |
Number of retry attempts on request failure | 3 |
--delay |
Delay (in seconds) between retries | 10 |
CSV
host,status,startTime,testTime,ipAddress,grade
example.com,READY,1681234567890,1681237890123,93.184.216.34,A
JSON
[
{
"host": "example.com",
"status": "READY",
"startTime": 1681234567890,
"testTime": 1681237890123,
"endpoints": [
{
"ipAddress": "93.184.216.34",
"grade": "A"
}
]
}
]
This project is licensed under the MIT License.
- Parallel host scanning
- Export to HTML or PDF
Pull requests and suggestions are welcome! Please open an issue or submit a PR to help improve the tool.