·
2 commits
to main
since this release
Terminal-to-camera transfer, no sender-side browser
This field-use release adds a real decimen command for SSH, recovery consoles,
lab machines, and other terminal-only senders. The phone keeps using the existing
web receiver; the CLI speaks the same gzip + SHA-256 + deterministic fountain-code
protocol as the browser sender.
Install
npm install --global https://github.com/CAOShurong/decimen-optical-transfer/releases/download/v0.4.0-field.1/decimen-optical-transfer-0.4.0-field.1.tgz
decimen send ./backup.tar.gzIt also accepts binary stdin and UTF-8 text:
git bundle create - --all | decimen send - --name repository.bundle
decimen text "handoff note from the isolated machine"Highlights
- automatic QR sizing for the current terminal, including classic 80x24 SSH windows
- files, stdin, text,
--dry-run, JSON plans, finite-frame capture, FPS/ECC/frame-size tuning - one bundled Node 22+ executable with no runtime dependencies
- terminal-control sanitization, bounded stdin, non-TTY output guards, and signal-safe screen restoration
- hosted homepage entry, full terminal guide, open contribution policy, and maintained issue templates
- unchanged optical wire format: current browser and standalone receivers remain compatible
Verified release lifecycle
- 95/95 tests, including full fountain recovery and the production ZXing receiver decoding a CLI-generated QR
- fresh package install and real-frame execution on Ubuntu/Node 22, Windows/Node 24, and macOS/Node 22
- hosted PWA plus both standalone HTML files built successfully
- CodeQL passed and
npm auditreported 0 vulnerabilities - every attached artifact is covered by
SHA256SUMS.txt
Safety and attribution
The optical path is offline, not encrypted: any camera that can see the QR stream
can recover it. This maintained fork is based on Evan Crawley's MIT-licensed
Decimen Optical Transfer and addresses the terminal-sender request discussed in
upstream issue #18.
Full changelog: v0.3.2-camera.1...v0.4.0-field.1