Skip to main content

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 asyncio and aiohttp
  • Retry mechanism for API failures
  • Supports both CSV and JSON output
  • Automatically waits until scan status is READY or ERROR
  • 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

lts_scan-0.1.3.tar.gz (5.2 kB view details)

Uploaded Source

Built Distribution

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

lts_scan-0.1.3-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

Details for the file lts_scan-0.1.3.tar.gz.

File metadata

  • Download URL: lts_scan-0.1.3.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

Hashes for lts_scan-0.1.3.tar.gz
Algorithm Hash digest
SHA256 39e69c4f5a19c9f8af92bbec88f31c2b8f20f5aa2ad63b927c1442b5fe726b85
MD5 a905c342896e4f4ce6f4ced8602c2874
BLAKE2b-256 b850e314d76069321672fa6a120b256290a9b2f50c0b60e29d6232afe380f8f2

See more details on using hashes here.

File details

Details for the file lts_scan-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: lts_scan-0.1.3-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

Hashes for lts_scan-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 0b4ad2188b9877beceb0dc36f2235a9f8ae918dd9623470ccc8c17d78a62359d
MD5 c4df794dec6962f3c5f54c7de29093dd
BLAKE2b-256 4ae10c4adf1a4bdfbf0e4d7ea4502cb63c6a0faa89dcb13add07d1d9196dc8d7

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