Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .cz.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@
name = "cz_conventional_commits"
tag_format = "$version"
version_scheme = "semver"
version = "0.14.0"
version = "0.14.1"
update_changelog_on_bump = false
major_version_zero = true
10 changes: 5 additions & 5 deletions .github/workflows/codeChecks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,15 +26,15 @@ jobs:
strategy:
max-parallel: 2
matrix:
go-version: ["1.25"]
go-version: ["1.26.5"]
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- name: Setup Go
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
with:
go-version: stable
go-version: ${{ matrix.go-version }}

- name: Run golangci-lint
uses: golangci/golangci-lint-action@1e7e51e771db61008b38414a730f564565cf7c20 # v9.2.0
Expand All @@ -47,7 +47,7 @@ jobs:
strategy:
max-parallel: 2
matrix:
go-version: ["1.25"]
go-version: ["1.26.5"]

steps:
- name: Checkout
Expand All @@ -74,7 +74,7 @@ jobs:
strategy:
max-parallel: 2
matrix:
go-version: ["1.25"]
go-version: ["1.26.5"]

steps:
- name: Checkout
Expand Down Expand Up @@ -103,7 +103,7 @@ jobs:
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1
- uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
with:
go-version: "1.25"
go-version: "1.26.5"

- name: generate test coverage
run: go test ./... -coverprofile=./cover.out -covermode=atomic -coverpkg=./...
Expand Down
5 changes: 1 addition & 4 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ permissions:
env:
CGO_ENABLED: 0
DOCKER_CLI_EXPERIMENTAL: "enabled"
GO_VERSION: "1.25"
GO_VERSION: "1.26.5"

jobs:
code-checks:
Expand Down Expand Up @@ -60,6 +60,3 @@ jobs:
workdir: .
env:
GITHUB_TOKEN: ${{ secrets.GH_GORELEASER_TOKEN }}

- name: Refresh Go Report Card
uses: creekorful/goreportcard-action@1f35ced8cdac2cba28c9a2f2288a16aacfd507f9 # v1.0
34 changes: 22 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,15 @@
# https-wrench

[![Test Coverage](https://raw.githubusercontent.com/xenOs76/https-wrench/badges/.badges/main/coverage.svg)](https://github.com/xenOs76/https-wrench/actions/workflows/codeChecks.yml)
[![Go Report Card](https://goreportcard.com/badge/github.com/xenos76/https-wrench)](https://goreportcard.com/report/github.com/xenos76/https-wrench)

<p align="center">
<img width="450" alt="HTTPS Wrench Logo" src="./assets/img/https-wrench-logo.jpg"/><br />
<i>HTTPS Wrench, a wrench not to bench</i>
</p>

**HTTPS Wrench** is a tool for maintainers of secure HTTP endpoints.
It enables executing YAML-defined HTTPS requests, inspecting x.509 certificates, private keys, JSON Web Tokens (JWT), and
generating JSON Web Key Sets (JWKS).\
**HTTPS Wrench** is a tool for maintainers of secure HTTP endpoints.\
It enables executing YAML-defined HTTPS requests, inspecting x.509 certificates,
private keys, JSON Web Tokens (JWT), and generating JSON Web Key Sets (JWKS).\
**HTTPS Wrench** was born from the desire of a disposable Bash script to become
a reliable companion for mechanics of the World Wide Web.\
`https-wrench` will, one day, take the place of `curl` in the hearts and the
Expand Down Expand Up @@ -122,7 +121,8 @@ https-wrench requests --show-sample-config > https-wrench-sample-config.yaml
<details>
<summary>Sample configuration file</summary>

A comprehensive sample configuration file can be found in the repository at [`cmd/embedded/config-example.yaml`](./cmd/embedded/config-example.yaml).
A comprehensive sample configuration file can be found in the repository at
[`cmd/embedded/config-example.yaml`](./cmd/embedded/config-example.yaml).

</details>

Expand Down Expand Up @@ -230,7 +230,8 @@ been used to generate the certificate:

### HTTPS Wrench jwtinfo

`jwtinfo` allows you to decode and inspect the claims of a JSON Web Token. It can also validate the token signature if a JWKS endpoint is provided.
`jwtinfo` allows you to decode and inspect the claims of a JSON Web Token. It
can also validate the token signature if a JWKS endpoint is provided.

<details>
<summary>View Jwtinfo Help (`https-wrench jwtinfo -h`)</summary>
Expand Down Expand Up @@ -337,7 +338,8 @@ Request a token, save it to a file, and keep it refreshed until interrupted:

### HTTPS Wrench jwks

`jwks` generates a public JSON Web Key Set from a PEM-encoded public key. This is useful for exposing your public keys at a `.well-known/jwks.json` endpoint.
`jwks` generates a public JSON Web Key Set from a PEM-encoded public key. This
is useful for exposing your public keys at a `.well-known/jwks.json` endpoint.

<details>
<summary>View Jwks Help (`https-wrench jwks -h`)</summary>
Expand Down Expand Up @@ -380,7 +382,9 @@ Generate a JWKS with a SHA-256-derived KID:

### HTTPS Wrench mcp

`mcp` runs a Model Context Protocol server on stdin/stdout. Connect it from Cursor, Claude Desktop, or other MCP clients to author `requests` YAML, validate configs, build CLI commands, and run https-wrench operations directly.
`mcp` runs a Model Context Protocol server on stdin/stdout. Connect it from
Cursor, Claude Desktop, or other MCP clients to author `requests` YAML, validate
configs, build CLI commands, and run https-wrench operations directly.

```shell
https-wrench mcp
Expand All @@ -399,13 +403,19 @@ Cursor configuration example:
}
```

**Resources:** JSON schema, sample config, example YAML files, and a requests cheat sheet (`https-wrench://schema`, `https-wrench://sample-config`, `https-wrench://examples/{name}`, `https-wrench://docs/requests`).
**Resources:** JSON schema, sample config, example YAML files, and a requests
cheat sheet (`https-wrench://schema`, `https-wrench://sample-config`,
`https-wrench://examples/{name}`, `https-wrench://docs/requests`).

**Prompts:** `author_requests_config` — parameterized guidance for writing requests YAML.
**Prompts:** `author_requests_config` — parameterized guidance for writing
requests YAML.

**Tools (assist):** `validate_requests_config`, `requests_config_template`, `build_cli_command`.
**Tools (assist):** `validate_requests_config`, `requests_config_template`,
`build_cli_command`.

**Tools (execution):** `run_requests`, `certinfo`, `jwtinfo`, `generate_jwks`. Encrypted private keys for `certinfo` require the `CERTINFO_PKEY_PW` environment variable (no interactive prompt under MCP).
**Tools (execution):** `run_requests`, `certinfo`, `jwtinfo`, `generate_jwks`.
Encrypted private keys for `certinfo` require the `CERTINFO_PKEY_PW` environment
variable (no interactive prompt under MCP).

## Sample output

Expand Down
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
module github.com/xenos76/https-wrench

go 1.25.4
go 1.26.5

require (
github.com/MicahParks/jwkset v0.11.0
Expand Down
Loading