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.1.0.tar.gz (12.0 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.1.0-py3-none-any.whl (13.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for sslspy-1.1.0.tar.gz
Algorithm Hash digest
SHA256 8621ee325d02401093c447935526568513c061908cc08763e0b82e767ad25d2b
MD5 d599ff53aa691c8b9c569a79c2a5a914
BLAKE2b-256 ccc5e26bd145a3c9cd9840a21382d73e8ab5ff7845b5e093e575f83e09d77e1a

See more details on using hashes here.

Provenance

The following attestation bundles were made for sslspy-1.1.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.1.0-py3-none-any.whl.

File metadata

  • Download URL: sslspy-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 13.6 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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6fe899fcf6aa37d4d8723432c492a6e3e587c4f88e2fe8ce3e06ba1ed98c477d
MD5 cdd929dd2d8809218c21781925c2335d
BLAKE2b-256 c94c05098556d59ce7b5bf2ae44e312ec5691ddb0b4c421b3ed9393b359279a4

See more details on using hashes here.

Provenance

The following attestation bundles were made for sslspy-1.1.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