Skip to main content

A comprehensive SSL/TLS security scanner for analyzing certificates, protocols, and security vulnerabilities.

Project description

SSLSpy

A comprehensive SSL/TLS security scanner for analyzing certificates, protocols, and security vulnerabilities.

Features

  • SSL/TLS certificate expiration checking
  • (Coming soon) Protocol version detection (TLS 1.0, 1.1, 1.2, 1.3)
  • (Coming soon) Cipher suite analysis
  • (Coming soon) Certificate chain validation
  • (Coming soon) Security vulnerability detection
  • Beautiful terminal UI with real-time updates
  • Configurable warning thresholds
  • Concurrent processing for faster scanning
  • Detailed JSON output for further analysis

Installation

pip install sslspy

Usage

Basic Command Line Usage

Check domains listed in a file:

sslspy -f domains.txt

All Options

sslspy -f domains.txt -o results.json -t 10 -w 60 -j 5

Options:

  • -f, --file FILE - File containing domains to check (one per line) [required]
  • -o, --output FILE - Output JSON file for results (default: sslspy_results.json)
  • -t, --timeout SEC - Connection timeout in seconds (default: 5)
  • -w, --warning-days DAYS - Days before expiry to trigger warning status (default: 30)
  • -j, --workers NUM - Maximum number of concurrent workers (default: 10)
  • --no-fancy-ui - Disable the fancy terminal UI
  • -h, --help - Show help message and exit

Domain File Format

Create a text file with one domain per line:

example.com
google.com
github.com
# Lines starting with # are ignored

Python API

You can also use SSLSpy programmatically:

from sslspy import check_domains

# Check multiple domains
results = check_domains(
    domains=['example.com', 'google.com'],
    timeout=5,
    warning_threshold=30
)

# Process results
for result in results:
    print(f"Domain: {result['domain']}")
    print(f"Status: {result['status']}")
    print(f"Days left: {result['days_left']}")
    print(f"Expiry date: {result['expiry_date']}")
    if result['error_msg']:
        print(f"Error: {result['error_msg']}")
    print("---")

Output

SSLSpy provides:

  1. A real-time terminal UI showing progress and results
  2. A final summary once all checks are complete
  3. A detailed JSON output file with all results

License

MIT

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

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

sslspy-1.0.0.tar.gz (11.5 kB view details)

Uploaded Source

Built Distribution

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

sslspy-1.0.0-py3-none-any.whl (13.0 kB view details)

Uploaded Python 3

File details

Details for the file sslspy-1.0.0.tar.gz.

File metadata

  • Download URL: sslspy-1.0.0.tar.gz
  • Upload date:
  • Size: 11.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for sslspy-1.0.0.tar.gz
Algorithm Hash digest
SHA256 2ef56117fb9a7f1e47a94d7876255ddbc29687fe0eb51956e34c5386a66ffe43
MD5 7aa6e5182be347c01f2de59adb35dcd8
BLAKE2b-256 a8500ea77baeaf2ac801669426bc6b0c9444448bc32aa8fee9bfc6afc5547562

See more details on using hashes here.

Provenance

The following attestation bundles were made for sslspy-1.0.0.tar.gz:

Publisher: publish-to-pypi.yml on ehsanulhaq001/sslspy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sslspy-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: sslspy-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 13.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for sslspy-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c59d8ee2f77f3a2291a80d072b263164bb83645898b820136e2b8f5b374f8ec8
MD5 e947b60e0561a2aa3c619661952362ea
BLAKE2b-256 3ab59761c046130630f3e8b8625f9863aff0352753c173b4243525f9942b8981

See more details on using hashes here.

Provenance

The following attestation bundles were made for sslspy-1.0.0-py3-none-any.whl:

Publisher: publish-to-pypi.yml on ehsanulhaq001/sslspy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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