Skip to content

Latest commit

 

History

History
56 lines (44 loc) · 2.22 KB

File metadata and controls

56 lines (44 loc) · 2.22 KB

HTTPS Security Checker

Modern console application for analyzing website HTTPS, TLS, certificate, header, DNS, and network posture.

Preview

HTTPS Security Checker console preview

Features

  • Windows console cybersecurity UI with top ASCII artwork
  • White-on-black banner at the top of the console
  • Automatic requirements.txt installation on startup when packages are missing
  • Spinner/progress feedback while scans run
  • HTTPS availability and certificate metadata
  • Certificate validation findings for expiry, self-signed certs, hostname mismatch, untrusted issuers, weak keys, SHA1, and MD5
  • TLS 1.0, 1.1, 1.2, and 1.3 probing with insecure protocol highlighting
  • Negotiated cipher analysis with weak cipher detection
  • HTTP security header checks with explanations
  • HTTP to HTTPS redirect chain analysis
  • HSTS parsing for max-age, includeSubDomains, and preload
  • Mixed-content detection on the homepage
  • DNS, WHOIS, GeoIP, and common web port checks
  • Transparent 100-point score breakdown
  • Human-readable risk summary and recommendations
  • SQLite history, dashboard metrics, and search from the console
  • Batch scanner for TXT/CSV domain lists
  • Minimal runtime dependencies

Quick Start

git clone https://github.com/X3roxDev/https-security-checker.git
cd https-security-checker
py -3.12 -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
python -m pip install -r requirements.txt
python main.py

If py -3.12 is not available, install Python 3.12+ from python.org and ensure it is added to PATH. The app can also auto-install missing packages from requirements.txt when started directly.

Project Structure

app/
  scanners/       Certificate, TLS, web, DNS/WHOIS/GeoIP/port scanners
  console.py      Windows console interface and artwork
  storage/        SQLite history
main.py           Application entry point

Notes

Some checks depend on optional network conditions and third-party data sources. WHOIS quality varies by TLD and registrar. OCSP responder presence is detected from the certificate, but OCSP stapling and live revocation status are reported as unavailable because Python's standard TLS client does not expose stapled OCSP responses.