bcur-cli 1.0.0

Command-line Uniform Resource encoder with terminal QR output
bcur-cli-1.0.0 is not a library.

bcur-cli

Command-line encoder/decoder for Uniform Resources. Wraps the bcur transport crate. Renders single-part and fountain URs as terminal QR codes for air-gapped transfer.

Not a wallet. Not a camera scanner. Not a PNG/GIF studio (bc-mur / mur covers that).

Install

cargo install --path crates/bcur-cli
# or, once published:
# cargo install bcur-cli

Binary name: bcur.

Usage

# single-part UR on stdout
printf 'abc' | bcur encode --type test

# published golden (CBOR array [1,2,3])
printf '83010203' | bcur encode --type test --hex
# ur:test/lsadaoaxjygonesw

# terminal QR (Ctrl-C or q to stop animation)
bcur encode --qr --type bytes payload.bin

# Encoder path + QR loop (still single-part if the payload fits one fragment)
bcur encode --animate --qr --type bytes payload.bin
# force fountain frames: shrink the per-URI budget
bcur encode --animate --qr --type bytes --max-chars 80 payload.bin

# recover bytes from captured UR lines
bcur decode --out recovered.bin < parts.txt

# render already-encoded UR lines
bcur qr parts.txt

--type is only the UR type token (required on encode). Payload bytes are sent unchanged — there is no automatic CBOR bstr wrap. bytes is the explicit test/generic token.

Defaults

Flag Default Role
--type none (required) Type token
--max-chars 400 text / terminal-derived with --qr Single vs fountain; fragment sizing
--interval-ms 200 Animated QR frame time
QR ECC Quartile (Q) Screen scan robustness

--max-fragment overrides the auto fragment size. Text fountain output emits max(3K, 20) parts unless --count is set.

License

MIT OR Apache-2.0