Skip to main content
The BlindCast CLI handles the server-side workflow: generate keys, encrypt video, upload to storage, and run a local key server for development. One tool, five subcommands.

Install

npm install -g @blindcast/cli
Or use without installing:
npx @blindcast/cli <command>

Subcommands

CommandWhat it does
blindcast initCreate a sample project with HLS segments and a player page
blindcast keygenGenerate a master key and salt
blindcast encryptEncrypt HLS segments and rewrite the manifest
blindcast uploadUpload encrypted segments to S3
blindcast serveStart a local development key server

Environment variables

All subcommands accept keys via flags or environment variables. Set these in a .env file or export them in your shell:
VariableUsed byDescription
BLINDCAST_MASTER_KEYencrypt, serveMaster key as hex string (from keygen)
BLINDCAST_SALTencrypt, serveSalt as hex string (from keygen)
AWS_ACCESS_KEY_IDuploadAWS credentials (standard SDK chain)
AWS_SECRET_ACCESS_KEYuploadAWS credentials (standard SDK chain)
AWS_REGIONuploadAWS region (default: us-east-1)

Error handling

The CLI uses Unix exit codes:
Exit codeMeaning
0Success
1User error (invalid flags, missing input, bad config)
2Runtime error (encryption failed, upload failed, network error)
Errors are printed to stderr in human-readable format. Add --json to any subcommand for machine-readable JSON errors on stderr.

Quick start

See the Quick Start for a complete walkthrough: init, keygen, encrypt, serve, and play — all in ~10 minutes.