Skip to content

CLI commands

Two layers live here: the dispatcher commands that manage the tools, and the tools themselves (Recovery, Licenser). Every tool runs two ways — through the dispatcher (oxrion <tool>) or as a standalone binary (recovery) — with identical arguments.

Add -h (or --help) to anything to print its usage.

The oxrion dispatcher manages which tools are installed. These don’t protect anything — they manage the tools:

CommandWhat it does
oxrion install <tool>Download and install a tool (e.g. oxrion install recovery).
oxrion update <tool>Update one tool to the latest version.
oxrion update --allUpdate every installed tool.
oxrion uninstall <tool>Remove a tool.
oxrion listShow which tools are installed.
oxrion versionPrint the dispatcher version.

Anything that isn’t one of those verbs is passed straight to a tool — oxrion recovery ... runs the recovery tool with your arguments untouched.

Standalone (air-gapped) users skip the dispatcher entirely and run the tool binaries directly.

The arguments are the same either way — you pass the values directly to the tool, and only the prefix differs:

Terminal window
oxrion recovery -in ./protected -out ./src -key <hex> # via the dispatcher
recovery -in ./protected -out ./src -key <hex> # standalone (recovery.exe on Windows)

Examples below use the oxrion form; drop the prefix for standalone.

Restores protected projects back to source, using your recovery private key. Works fully offline. See the Recovery service for how it fits.

Terminal window
oxrion recovery -in <file|dir|zip> -key <key> [-out <file|dir>] [-copy-unprotected]
ArgumentWhat it is
-inRequiredThe protected input: a .php file, a directory, or a .zip.
-keyRequiredYour recovery private key (64-char hex). Or set OXRION_RECOVERY_KEY instead.
-outRequired for a directory or .zipOutput file (single file) or output directory (dir/zip).
-copy-unprotectedOptionalAlso copy non-protected files, so you get the full working tree.
-agency-pubOptional (advanced)Override the built-in file-verification key. Rarely needed.

Examples

Terminal window
# One file
oxrion recovery -in app.php -key <hex> -out app.src.php
# A whole project, full working tree
oxrion recovery -in ./protected -out ./src -key <hex> -copy-unprotected
# Standalone, key from environment
export OXRION_RECOVERY_KEY=<hex>
recovery -in ./protected -out ./src

Issues .lic files tied to one exact host and an expiry, signed with your license private key. Fully offline. See the Licenser service.

Terminal window
oxrion licenser -key <key> -domain <host> [-expiry YYYY-MM-DD] [-out <dir>]
ArgumentWhat it is
-keyRequiredYour license private key (hex). Or set OXRION_LICENSE_KEY instead.
-domainRequiredThe exact host the license is valid for, e.g. www.example.com.
-expiryOptionalExpiry date, YYYY-MM-DD or RFC 3339. Lifetime if omitted.
-issuedOptionalIssue timestamp (RFC 3339). Defaults to now, UTC.
-outOptionalOutput directory for the .lic file. Defaults to the current directory.
-printOptionalAlso print the .lic content to stdout.

Examples

Terminal window
# A license that expires on a date
oxrion licenser -key <hex> -domain www.example.com -expiry 2027-01-01 -out ./dist
# A lifetime license, key from environment
export OXRION_LICENSE_KEY=<hex>
licenser -domain www.example.com

The keys you pass here come from your license and recovery keypairs in the Keys vault.