CLI and TUI

cheesewaf and waf-cli share one binary. Default commands depend on the executable name.

The same binary answers to two names.

Invoked asDefault command
cheesewafserve
waf-cliinteractive TUI (panel)

Global flags:

TEXT
-c, --config     path to cheesewaf.yaml (default ./data/cheesewaf.yaml)
    --data-dir   runtime data directory (default ./data)
    --lang       en or zh-CN

Language order: flag, then environment, then data-dir, then the OS locale.

Commands

CommandPurpose
serveStart the WAF
panelTUI
statusIs the process up
healthcheckExit non-zero when unhealthy (Compose uses this)
stopStop a running process
restartStop then serve
userManage local users
clusterJoin, certs, runtime
versionVersion, channel, build time
langPersist CLI language
logsPack or inspect logs

Examples:

BASH
cheesewaf serve --config /etc/cheesewaf/cheesewaf.yaml --data-dir /var/lib/cheesewaf
cheesewaf status
waf-cli
cheesewaf user
cheesewaf cluster

On Windows, copy cheesewaf.exe to waf-cli.exe if you want the TUI name. The desktop controller is a separate binary: Windows install.