Lightweight TLS Scanner using SSL Labs API
Project description
LTS scan
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.
✨ Features
- Asynchronous scans using
asyncioandaiohttp - Retry mechanism for API failures
- Supports both CSV and JSON output
- Automatically waits until scan status is
READYorERROR - Command-line options for customization
- Clear and readable logs
🚀 Installation
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
🧪 Usage
Create a hosts.txt file with one domain per line:
google.com
github.com
expired.badssl.com
lts-scan --input hosts.txt --output results.csv
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
🔧 Command-line options
| 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 |
📄 Output Examples
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"
}
]
}
]
📋 License
This project is licensed under the MIT License.
🙌 Acknowledgements
💡 Future Improvements
- Parallel host scanning
- Export to HTML or PDF
🤝 Contributions
Pull requests and suggestions are welcome! Please open an issue or submit a PR to help improve the tool.
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
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 lts_scan-0.0.0.tar.gz.
File metadata
- Download URL: lts_scan-0.0.0.tar.gz
- Upload date:
- Size: 5.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.0 CPython/3.10.12 Linux/6.8.0-40-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
921db9f238b86bf6f545ac5d3199a53bcd06c3409b9e4e1a5ed70e476733b5fb
|
|
| MD5 |
e1ce5b6aa488e1c472c29fe84475d3c0
|
|
| BLAKE2b-256 |
1bcc4edc4b1b63110115ce262663ec238815efb3ea7a6918c9263e10fc462148
|
File details
Details for the file lts_scan-0.0.0-py3-none-any.whl.
File metadata
- Download URL: lts_scan-0.0.0-py3-none-any.whl
- Upload date:
- Size: 6.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.0 CPython/3.10.12 Linux/6.8.0-40-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f42afca5c83f6e3f4b3f28e5e3d9cf72196f8424618d2e0421558e4c69eaee21
|
|
| MD5 |
19f7bd954cbecc5667df3749bdb5eb48
|
|
| BLAKE2b-256 |
82d51a3ad6d166f80c450e30f2e1650874bc1213879fa904e14792c31a6f3db4
|