CLI reference.
Commands and arguments verified against the current clap definitions. Defaults and tier constraints are called out explicitly.
dove provision
dove provision <simple|full> [--bucket <name>] [--region <region>]
[--profile <profile>] [--expire-days <days>] --regiondefaults tous-east-1.--expire-daysdefaults to 7 and controls S3 cleanup.- Omit
--profileto choose interactively. - Provisioning always asks for confirmation.
dove request
dove request <description> [--from <name>] [--message <text>]
[--pin [value]] [--expires <duration>] [--uploads <n>] - File requests require a full-tier backend.
--expiresdefaults to3d;--uploadsdefaults to1.--pinwith no value generates a zero-padded six-digit PIN. A supplied PIN is currently used as given.- The printed
/r/<id>#fragmentlink contains the only copy of the fragment outside the requester’s local ledger. Treat it as a secret. - The current browser flow accepts one file up to 512 MiB.
--uploadsis gate policy, not a multi-file inbox: the v1 request completes after one confirmed object.
dove requests
dove requests
dove requests get <id> [-o|--out <path>] The list comes from ~/.config/dove/requests.json and refreshes each request’s live gate status. Statuses include waiting, received, failed, and unreachable. requests get downloads and decrypts a received request; waiting and failed requests do not fetch an object.
Back up the right secret. The local request ledger stores the fragment needed to decrypt the upload. Losing it means this machine cannot collect the request through dove requests get.
dove get
dove get <url-with-#fragment> [-o|--out <path>] [--pin <pin>] No configured backend is required. The link identifies the host and carries the decryption secret. Full-mode metadata can provide the output filename; otherwise use --out or let dove derive a name from the URL.
Manage shares and backends
dove ls
dove revoke <id>
dove status
dove use <backend-name> ls combines bucket keys with a local ledger. Full-tier object names are intentionally name-free; filenames appear only when the sending machine still has the matching local ledger record. revoke deletes the object early. use changes the active named backend in the registry.
Domain and gate controls
dove domain add <subdomain>
dove gate disable
dove gate enable
dove gate status All four commands require a provisioned full-tier backend. Domain setup is interactive because it waits for you to add DNS records.
Interfaces that do not exist yet
The current CLI does not expose --json, stdin file uploads, batch shares, non-interactive provision confirmation, or a destroy command. Do not build automation that parses decorative progress output as a stable API. Use dove-core for typed results.