tlsanalyzer

command module
v0.8.10 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 17, 2026 License: MIT Imports: 15 Imported by: 0

README

tlsanalyzer

CI Release Latest Release Go Version Dependencies OS - Linux OS - macOS OS - Windows

tlsanalyzer is a small, dependency-free TLS inspection CLI inspired by sslscan.

It is built for environments where the scanner should be easy to carry, easy to audit and able to run without installing extra packages or fetching runtime dependencies.

What It Does

  • Tests TLS protocol support from TLS 1.0 through TLS 1.3.
  • Reports negotiated and supported cipher suites.
  • Keeps TLS support separate from certificate validation status.
  • Prints certificate summaries and optional PEM certificate chains.
  • Exports human-readable Markdown reports.
  • Emits JSON for scripts and automation.
  • Evaluates simple TLS policy checks for CI workflows.
  • Builds multi-platform release binaries with GitHub Actions.

Quick Start

Download a binary from the GitHub releases page, then run:

tlsanalyzer --host example.com

Common examples:

tlsanalyzer --host example.com --min-version 1.2
tlsanalyzer --host example.com --json
tlsanalyzer --host example.com --markdown example.com.md
tlsanalyzer --host example.com --policy modern
tlsanalyzer --host example.com --cert --output example.pem

Policy failures return exit code 3, which makes --policy modern useful in CI.

Documentation

Build From Source

Requirements:

  • Go 1.26.3 or newer
CGO_ENABLED=0 go build -v -ldflags="-X 'github.com/olelbis/tlsanalyzer/build.Version=$(cat VERSION)' -X 'github.com/olelbis/tlsanalyzer/build.BuildUser=Team tlsanalyzer' -X 'github.com/olelbis/tlsanalyzer/build.BuildTime=$(date -u +%Y-%m-%dT%H:%M:%SZ)'" -o tlsanalyzer .

Or use the build script:

./scripts/build.sh
./scripts/build.sh --all

Project Status

tlsanalyzer is experimental software. The core workflow is covered by unit tests, local TLS integration tests, CI and automated release builds, but scan accuracy and output semantics should still be validated before relying on it for compliance, audit or production security decisions.

Release Process

Releases are created by pushing a semantic version tag:

git tag -a vX.Y.Z -m "tlsanalyzer release vX.Y.Z"
git push origin vX.Y.Z

Release checklist:

  1. Update VERSION, build/build.go and CHANGELOG.md.
  2. Run go test ./..., go test -race ./... and go vet ./....
  3. Commit the release preparation changes.
  4. Create and push an annotated tag.

GitHub Actions builds Linux, macOS and Windows binaries for amd64 and arm64, then uses the matching CHANGELOG.md section as the GitHub release body.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
File: certs/certs.go
File: certs/certs.go
File: output/output.go
File: output/output.go
File: scan/scan.go
File: scan/scan.go
File: utils/cipher.go
File: utils/cipher.go

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL