From 06cf3b52bf41418f52be6d8a5727cc802ffd61f9 Mon Sep 17 00:00:00 2001
From: Zeno Belli
Date: Tue, 13 Jan 2026 17:41:55 +0100
Subject: [PATCH] docs: update README and command descriptions, add certinfo
screenshots
---
README.md | 115 ++++++++++++------
.../vhs/https-wrench-demo-k3s-example.tape | 18 ---
.../vhs/https-wrench-demo-sample-conf.tape | 21 ----
assets/img/https-wrench-demo-k3s-example.gif | Bin 222243 -> 0 bytes
assets/img/https-wrench-demo-sample-conf.gif | Bin 443439 -> 0 bytes
assets/img/https-wrench-logo.jpg | Bin 35907 -> 0 bytes
.../https-wrench_certinfo_cert_and_key.png | Bin 0 -> 206317 bytes
.../https-wrench_certinfo_tls_endpoint.png | Bin 0 -> 302799 bytes
assets/img/https-wrench_requests_k3s.png | Bin 0 -> 218403 bytes
.../https-wrench_requests_sample-config.png | Bin 0 -> 666946 bytes
cmd/certinfo.go | 4 +-
cmd/root.go | 6 +-
12 files changed, 86 insertions(+), 78 deletions(-)
delete mode 100644 assets/examples/vhs/https-wrench-demo-k3s-example.tape
delete mode 100644 assets/examples/vhs/https-wrench-demo-sample-conf.tape
delete mode 100644 assets/img/https-wrench-demo-k3s-example.gif
delete mode 100644 assets/img/https-wrench-demo-sample-conf.gif
delete mode 100644 assets/img/https-wrench-logo.jpg
create mode 100644 assets/img/https-wrench_certinfo_cert_and_key.png
create mode 100644 assets/img/https-wrench_certinfo_tls_endpoint.png
create mode 100644 assets/img/https-wrench_requests_k3s.png
create mode 100644 assets/img/https-wrench_requests_sample-config.png
diff --git a/README.md b/README.md
index 9555e63..a5137c8 100644
--- a/README.md
+++ b/README.md
@@ -11,12 +11,13 @@
-**HTTPS Wrench** is a Golang CLI program to make HTTPS requests based on a YAML configuration file.
-**HTTPS Wrench** was born from the desire of a disposable Bash script to become a reliable tool
-for mechanics of the World Wide Web.
-`https-wrench` will, one day, take the place of `curl` in the hearts and the eyes of whoever is about
-to migrate a DNS record from a webserver to a load balancer, reverse proxy, Ingress Gateway,
-CloudFront distribution.
+**HTTPS Wrench** is a CLI program to make Yaml defined HTTPS requests and to
+inspect x.509 certificates and keys.\
+**HTTPS Wrench** was born from the desire of a disposable Bash script to become
+a reliable tool for mechanics of the World Wide Web.\
+`https-wrench` will, one day, take the place of `curl` in the hearts and the
+eyes of whoever is about to migrate a DNS record from a webserver to a load
+balancer, reverse proxy, Ingress Gateway, CloudFront distribution.
## How to use
@@ -24,14 +25,28 @@ Check the help:
```bash
❯ https-wrench -h
-HTTPS Wrench, a tool to make HTTPS requests based on a YAML configuration file
+
+HTTPS Wrench is a tool to make HTTPS requests according to a Yaml configuration file and to inspect x.509 certificates and keys.
+
+https-wrench has two subcommands: requests and certinfo.
+
+requests is the subcommand that does HTTPS requests according to the configuration provided
+by the --config flag.
+
+certinfo is a subcommand that reads information from PEM encoded x.509 certificates and keys. The certificates
+can be read from local files or TLS enabled endpoints.
+
+certinfo can compare public keys extracted from certificates and private keys to check if they match.
+
+HTTPS Wrench is distributed with an open source license and available at the following address:
+https://github.com/xenOs76/https-wrench
Usage:
https-wrench [flags]
https-wrench [command]
Available Commands:
- certinfo Show info about PEM certificates and keys
+ certinfo Shows information about x.509 certificates and keys
completion Generate the autocompletion script for the specified shell
help Help about any command
requests Make HTTPS requests defined in the YAML configuration file
@@ -45,8 +60,9 @@ Use "https-wrench [command] --help" for more information about a command.
```
Generate a sample config file:
+
```bash
-https-wrench requests --show-sample-config > sample-wrench.yaml
+https-wrench requests --show-sample-config > https-wrench-sample-config.yaml
```
@@ -99,46 +115,61 @@ requests:
-
Make the HTTPS requests defined in the YAML file:
+
```bash
-https-wrench requests --config sample-wrench.yaml
+https-wrench requests --config https-wrench-sample-config.yaml
```
-
-Output of the commands
-
-The output should look like this:
+Sample output of the commands:
-
+
+HTTPS Wrench requests, (long) sample configuration output
+
+
-Or like this, if you customize one of the files in the [examples](./assets/examples/https-wrench-k3s.yaml) folder:
+
+HTTPS Wrench requests, sample requests against a K3s cluster
+
+
-
+
+HTTPS Wrench certinfo, certificate and key
+
+
+
+HTTPS Wrench certinfo, TLS Endpoint
+
## How to install
### Go install
-HTTPS Wrench is "go gettable", so it can be installed with the following command when having a proper `go` setup:
+HTTPS Wrench is "go gettable", so it can be installed with the following command
+when having a proper `go` setup:
+
```bash
go install github.com/xenos76/https-wrench@latest
```
### Manual download
-Release binaries and DEB, RPM, APK packages can be downloaded from the [repo's releases section](https://github.com/xenOs76/https-wrench/releases).
-Binaries and packages are built for Linux and MacOS, `amd64` and `arm64`.
+Release binaries and DEB, RPM, APK packages can be downloaded from the
+[repo's releases section](https://github.com/xenOs76/https-wrench/releases).\
+Binaries and packages are built for Linux and MacOS, `amd64` and `arm64`.
### APT
Configure the repo the following way:
+
```bash
echo "deb [trusted=yes] https://repo.os76.xyz/apt stable main" | sudo tee /etc/apt/sources.list.d/os76.list
```
-then:
+
+then:
+
```bash
sudo apt-get update && sudo apt-get install -y https-wrench
```
@@ -146,6 +177,7 @@ sudo apt-get update && sudo apt-get install -y https-wrench
### YUM
Configure the repo the following way:
+
```bash
echo '[os76]
name=OS76 Yum Repo
@@ -154,54 +186,67 @@ enabled=1
gpgcheck=0
repo_gpgcheck=0' | sudo tee /etc/yum.repos.d/os76.repo
```
-then:
+
+then:
+
```bash
sudo yum install https-wrench
```
### Docker image
-Generate the config:
+Generate the config:
+
```bash
docker run --rm ghcr.io/xenos76/https-wrench:latest -h
docker run --rm ghcr.io/xenos76/https-wrench:latest --show-sample-config > sample-wrench.yaml
```
-Run the `requests` command:
+Run the `requests` command:
+
```bash
docker run -v $(pwd)/sample-wrench.yaml:/https-wrench.yaml --rm ghcr.io/xenos76/https-wrench:latest --config /https-wrench.yaml requests
```
-### Homebrew
+### Homebrew
+
+Add Os76 Homebrew repository:
-Add Os76 Homebrew repository:
```bash
brew tap xenos76/tap
```
-Install `https-wrench`:
+Install `https-wrench`:
+
```bash
brew install --casks https-wrench
```
### Nix/NUR
-Nix users can use the following Nur repository to access `https-wrench`: [https://github.com/xenOs76/nur-packages](https://github.com/xenOs76/nur-packages).
-The repository is not listed yet in the general [Nix User Repository](https://github.com/nix-community/NUR) so the following methods can be used to install the package.
+Nix users can use the following Nur repository to access `https-wrench`:
+[https://github.com/xenOs76/nur-packages](https://github.com/xenOs76/nur-packages).\
+The repository is not listed yet in the general
+[Nix User Repository](https://github.com/nix-community/NUR) so the following
+methods can be used to install the package.
+
+Set a Nix channel:
-Set a Nix channel:
```bash
nix-channel --add https://github.com/xenos76/nur-packages/archive/main.tar.gz nur-os76
nix-channel --update
```
-and add the package to a Nix shell:
+and add the package to a Nix shell:
+
```bash
nix-shell -p '(import { pkgs = import {}; }).https-wrench'
```
-Or use a `flake.nix` like the one from the [nix-shell](/assets/examples/nix-shell) example to achieve a similar result:
+Or use a `flake.nix` like the one from the
+[nix-shell](/assets/examples/nix-shell) example to achieve a similar result:
+
```nix
{
description = "Flake to fetch https-wrench from xenos76's NUR repo";
@@ -243,4 +288,6 @@ Or use a `flake.nix` like the one from the [nix-shell](/assets/examples/nix-shel
}
```
-NixOS users could use a [flake like this](https://raw.githubusercontent.com/xenOs76/nixos-configs/refs/heads/main/flake.nix) to fetch the package.
+NixOS users could use a
+[flake like this](https://raw.githubusercontent.com/xenOs76/nixos-configs/refs/heads/main/flake.nix)
+to fetch the package.
diff --git a/assets/examples/vhs/https-wrench-demo-k3s-example.tape b/assets/examples/vhs/https-wrench-demo-k3s-example.tape
deleted file mode 100644
index 889a635..0000000
--- a/assets/examples/vhs/https-wrench-demo-k3s-example.tape
+++ /dev/null
@@ -1,18 +0,0 @@
-
-Output https-wrench-demo-k3s-example.gif
-#Output https-wrench-demo-k3s-example.mp4
-#Output https-wrench-demo-k3s-example.webm
-
-Require echo
-Require https-wrench
-
-Set Shell "bash"
-Set FontSize 20
-Set FontFamily Hack
-Set Theme catppuccin-frappe
-Set Width 1500
-Set Height 1500
-
-Type "https-wrench --config https-wrench-k3s.yaml requests" Enter
-
-Sleep 5s
diff --git a/assets/examples/vhs/https-wrench-demo-sample-conf.tape b/assets/examples/vhs/https-wrench-demo-sample-conf.tape
deleted file mode 100644
index d45fcbd..0000000
--- a/assets/examples/vhs/https-wrench-demo-sample-conf.tape
+++ /dev/null
@@ -1,21 +0,0 @@
-
-Output https-wrench-demo-sample-conf.gif
-#Output https-wrench-demo-sample-conf.mp4
-#Output https-wrench-demo-sample-conf.webm
-
-Require echo
-Require https-wrench
-
-Set Shell "bash"
-Set FontSize 20
-Set FontFamily Hack
-Set Theme catppuccin-frappe
-Set Width 1500
-Set Height 2000
-
-Type "https-wrench -h" Sleep 500ms Enter
-Type "https-wrench --show-sample-config > sample-wrench.yaml" Sleep 500ms Enter
-Ctrl+l
-Type "https-wrench --config sample-wrench.yaml requests" Enter
-
-Sleep 5s
diff --git a/assets/img/https-wrench-demo-k3s-example.gif b/assets/img/https-wrench-demo-k3s-example.gif
deleted file mode 100644
index ab9fd5edb491b2eff45eb136690a2a40ef33beb0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 222243
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