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.
Dispatcher commands
Section titled “Dispatcher commands”The oxrion dispatcher manages which tools are installed. These don’t protect anything — they manage the tools:
| Command | What 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 --all | Update every installed tool. |
oxrion uninstall <tool> | Remove a tool. |
oxrion list | Show which tools are installed. |
oxrion version | Print 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.
Running a tool: two forms
Section titled “Running a tool: two forms”The arguments are the same either way — you pass the values directly to the tool, and only the prefix differs:
oxrion recovery -in ./protected -out ./src -key <hex> # via the dispatcherrecovery -in ./protected -out ./src -key <hex> # standalone (recovery.exe on Windows)Examples below use the oxrion form; drop the prefix for standalone.
Recovery
Section titled “Recovery”Restores protected projects back to source, using your recovery private key. Works fully offline. See the Recovery service for how it fits.
oxrion recovery -in <file|dir|zip> -key <key> [-out <file|dir>] [-copy-unprotected]| Argument | What it is | |
|---|---|---|
-in | Required | The protected input: a .php file, a directory, or a .zip. |
-key | Required | Your recovery private key (64-char hex). Or set OXRION_RECOVERY_KEY instead. |
-out | Required for a directory or .zip | Output file (single file) or output directory (dir/zip). |
-copy-unprotected | Optional | Also copy non-protected files, so you get the full working tree. |
-agency-pub | Optional (advanced) | Override the built-in file-verification key. Rarely needed. |
Examples
# One fileoxrion recovery -in app.php -key <hex> -out app.src.php
# A whole project, full working treeoxrion recovery -in ./protected -out ./src -key <hex> -copy-unprotected
# Standalone, key from environmentexport OXRION_RECOVERY_KEY=<hex>recovery -in ./protected -out ./srcLicenser
Section titled “Licenser”Issues .lic files tied to one exact host and an expiry, signed with your license private key. Fully offline. See the Licenser service.
oxrion licenser -key <key> -domain <host> [-expiry YYYY-MM-DD] [-out <dir>]| Argument | What it is | |
|---|---|---|
-key | Required | Your license private key (hex). Or set OXRION_LICENSE_KEY instead. |
-domain | Required | The exact host the license is valid for, e.g. www.example.com. |
-expiry | Optional | Expiry date, YYYY-MM-DD or RFC 3339. Lifetime if omitted. |
-issued | Optional | Issue timestamp (RFC 3339). Defaults to now, UTC. |
-out | Optional | Output directory for the .lic file. Defaults to the current directory. |
-print | Optional | Also print the .lic content to stdout. |
Examples
# A license that expires on a dateoxrion licenser -key <hex> -domain www.example.com -expiry 2027-01-01 -out ./dist
# A lifetime license, key from environmentexport OXRION_LICENSE_KEY=<hex>licenser -domain www.example.comThe keys you pass here come from your license and recovery keypairs in the Keys vault.