ohbin 0.2.0
Encrypted private binaries via secret gists
Distribute locally-built private binaries through secret (link-gated) GitHub gists, encrypted — no public release, no committing the binary to a repo. A leaked gist link is useless without the password.
New commands
ohbin publish-gist <bin> --password PW [--platform KEY] [--gist ID]— encrypt a binary for one platform and upload it to a secret gist;--gistappends more platforms to the same gist.ohbin add-gist <url|id> [--password PW]— resolve a published gist intopyproject.toml(pins the immutable raw URL + checksums).run/whichgain--password;--pyproject-fileis now a global flag on every subcommand.
How it works
Each platform's binary is gzip → AES-256-CBC (openssl, -pbkdf2) → base64 so it survives a text-only gist; ohbin decrypts on first run and caches the result. The ciphertext is checksum-verified on download and the decrypted binary afterwards (which also catches a wrong password). Crypto shells out to the system openssl — no new Python dependency.
Notes
- Password precedence:
--password> manifestpasswordfield (no env var); reading it from the manifest warns unlesspassword_committed_ok = true. - Mutating commands (
add/add-gist) write only to./pyproject.tomlor--pyproject-file, never walking up the tree. Every manifest-touching command prints the resolved pyproject realpath. - Requires
opensslon PATH on the consuming machine. POSIX-only at runtime.
Full diff: v0.1.1...v0.2.0