NAME
Punk::Command::Challenge - the punk challenge subcommand
SYNOPSIS
$ punk challenge key
fQ2k...43 characters...
$ curl -si https://example.com/api/x | grep X-Challenge
X-Challenge: v1.1725600000.16.k3x-2f.Zm9vYmFy...
$ punk challenge solve v1.1725600000.16.k3x-2f.Zm9vYmFy...
solving at 16 bits: about 65536 hashes on average
v1.1725600000.16.k3x-2f.Zm9vYmFy....48213
$ curl -si -H 'X-Challenge-Response: v1....48213' https://example.com/api/x
DESCRIPTION
Registers punk challenge when loaded, which punk does on first use, so it costs nothing on the common path.
key
Prints thirty-two random bytes as base64url, for the plugin's secret. Croaks rather than printing anything when no entropy source is available.
solve
Solves one puzzle and prints the solution. Says how many hashes it expects before it starts, because twenty bits is a moment and twenty-two is a while, and refuses anything above the twenty-two the plugin ever issues.
SEE ALSO
Punk::Plugin::Challenge, Punk::Challenge::Token, Punk::Command.
AUTHOR
LNATION <email@lnation.org>
LICENSE AND COPYRIGHT
This software is Copyright (c) 2026 by LNATION <email@lnation.org>.
This is free software, licensed under:
The Artistic License 2.0 (GPL Compatible)