Navigation Menu

Skip to content

essentialkaos/sslcli

GitHub Actions CI Status GoReportCard codebeat badge GitHub Actions CodeQL Status

Usage demoInstallationFeature listUsageBuild StatusContributingTerms of UseLicense


sslcli is command-line client for Qualys SSL Labs public API.

Caution

Currently, the SSL Labs API doesn't provide the same information as the SSL Labs website.

Usage demo

demo

Installation

From source

To build the SSLScan Client from scratch, make sure you have a working Go 1.21+ workspace (instructions), then:

go install github.com/essentialkaos/sslcli@latest
sudo yum install -y https://pkgs.kaos.st/kaos-repo-latest.el$(grep 'CPE_NAME' /etc/os-release | tr -d '"' | cut -d':' -f5).noarch.rpm
sudo yum install sslcli

Prebuilt binaries

You can download prebuilt binaries for Linux and macOS from EK Apps Repository:

bash <(curl -fsSL https://apps.kaos.st/get) sslcli

Container Image

The latest version of sslcli also available as container image on GitHub Container Registry and Docker Hub:

podman run --rm -it ghcr.io/essentialkaos/sslcli:latest mydomain.com
# or
docker run --rm -it ghcr.io/essentialkaos/sslcli:latest mydomain.com

Feature list

  • Superb UI
  • Output very similar to SSLLabs website output
  • Checking many hosts at once
  • Checking hosts defined in the file
  • Check resumption
  • JSON/XML/YAML/Text output for usage in third party scripts

Usage

Usage: sslcli {options} host…

Options

  --email, -e email          User account email (required)
  --format, -f format        Output result in different formats (text/json/yaml/xml)
  --detailed, -d             Show detailed info for each endpoint
  --ignore-mismatch, -i      Proceed with assessments on certificate mismatch
  --avoid-cache, -c          Disable cache usage
  --public, -p               Publish results on sslscan.com
  --perfect, -P              Return non-zero exit code if not A+
  --max-left, -M duration    Check expiry date (num + d/w/m/y)
  --notify, -n               Notify when check is done
  --quiet, -q                Don't show any output
  --pager, -G                Use pager for long output
  --no-color, -nc            Disable colors in output
  --help, -h                 Show this help message
  --version, -v              Show version

Examples

  sslcli --register --email john@domain.com --org 'Some Organization' --name 'John Doe'
  Register new user account for scanning

  sslcli google.com
  Check google.com

  sslcli -P google.com
  Check google.com and return zero exit code only if result is perfect (A+)

  sslcli -p -c google.com
  Check google.com, publish results, disable cache usage

  sslcli -M 3m -q google.com
  Check google.com in quiet mode and return error if cert expire in 3 months

  sslcli hosts.txt
  Check all hosts defined in hosts.txt file

Build Status

Branch Status
master CI
develop CI

Contributing

Before contributing to this project please read our Contributing Guidelines.

Terms of Use

This project is not affiliated with SSL Labs and not officially supported by SSL Labs. Before using this package please read Qualys SSL Labs Terms of Use.

Also you should:

  • Only inspect sites and servers whose owners have given you permission to do so;
  • Be clear that this tool works by sending assessment requests to remote SSL Labs servers and that this information will be shared with them.

License

Apache License, Version 2.0