Introduces a static-binary build and Debian package (amd64/arm64) with version/commit/date stamped via -ldflags. Ships section-1 manpages for ctool, ctfetch, and ctail. Adds a `version` subcommand reachable as `ctool version`, `ctool -version`, `ctool --version`, `ctool fetch version`, `ctool tail version`, and via the ctfetch/ctail symlinks. Adds tests covering the dispatcher, fetch/tail argument parsing, and the formatter/helper functions. Adds a retrofit design document modelled on the vpp-maglev one, with FRs and NFRs for each tool and the dispatcher. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
84 lines
2.1 KiB
Groff
84 lines
2.1 KiB
Groff
.TH CTOOL 1 "April 2026" "ctool" "User Commands"
|
|
.SH NAME
|
|
ctool \- tools for working with Static CT log tiles
|
|
.SH SYNOPSIS
|
|
.B ctool
|
|
.I command
|
|
[\fIflags\fR] [\fIargs\fR...]
|
|
.PP
|
|
.B ctool
|
|
.B version
|
|
.SH DESCRIPTION
|
|
.B ctool
|
|
is a busybox\-style front\-end for a set of tools that read tiles from
|
|
a Static CT API log (c2sp.org/static\-ct\-api).
|
|
It dispatches on the first argument to one of the subcommands below.
|
|
The same binary can also be invoked through the
|
|
.B ctfetch
|
|
or
|
|
.B ctail
|
|
symlinks, in which case the subcommand name is implied by the link
|
|
name; flags and arguments are unchanged.
|
|
.SH COMMANDS
|
|
.TP
|
|
.B fetch
|
|
Fetch and decode one or more entries from a Static CT log and print
|
|
them as structured JSON. Supports both leaf\-index lookups and
|
|
full\-tile dumps, with optional SCT decoding, issuer\-certificate
|
|
lookup, and CT log\-list enrichment. See
|
|
.BR ctfetch (1)
|
|
for the full reference.
|
|
.TP
|
|
.B tail
|
|
Follow a Static CT log. Polls the log's checkpoint, walks new data
|
|
tiles as they complete, and prints a one\-line summary per certificate
|
|
or precertificate \(em leaf index, type, validity range, issuer, and
|
|
subject name. See
|
|
.BR ctail (1)
|
|
for the full reference.
|
|
.TP
|
|
.B version
|
|
Print the binary's version, git commit hash, and build date, then
|
|
exit. Equivalent forms
|
|
.B ctool fetch version
|
|
and
|
|
.B ctool tail version
|
|
also work and print the same information.
|
|
.SH EXAMPLES
|
|
Fetch a single leaf entry with all optional enrichments:
|
|
.PP
|
|
.RS
|
|
.EX
|
|
$ ctool fetch https://halloumi2026h1.mon.ct.ipng.ch 629794635 +all
|
|
.EE
|
|
.RE
|
|
.PP
|
|
Tail a log from the current tree tip:
|
|
.PP
|
|
.RS
|
|
.EX
|
|
$ ctool tail https://halloumi2026h2.mon.ct.ipng.ch
|
|
.EE
|
|
.RE
|
|
.PP
|
|
Print the build version:
|
|
.PP
|
|
.RS
|
|
.EX
|
|
$ ctool version
|
|
ctool version 0.1.0 (commit abc1234, built 2026\-04\-21T12:00:00Z)
|
|
.EE
|
|
.RE
|
|
.SH "FULL DOCUMENTATION"
|
|
This manpage is an overview only. For the complete reference of each
|
|
subcommand \(em every flag, every output modifier, and the format of
|
|
the JSON and tail\-line output \(em see the per\-command manpages:
|
|
.BR ctfetch (1)
|
|
and
|
|
.BR ctail (1).
|
|
.SH SEE ALSO
|
|
.BR ctfetch (1),
|
|
.BR ctail (1)
|
|
.SH AUTHOR
|
|
Pim van Pelt <pim@ipng.ch>
|