dev #1
Loading…
Reference in a new issue
No description provided.
Delete branch "dev"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Structure: cli.rs (clap), config.rs (settings and local state), output.rs (results on stdout, status and progress on stderr), e2ee.rs, api/{mod,tus}.rs, and commands/{send,get,manage,account}.rs. Uploads - Files go through TUS: creation-with-upload, chunked PATCH with retries from the server's offset, parallel parts joined with Upload-Concat when the server allows, and resume state so running the same command after an interruption continues the upload. Plain multipart is the fallback when TUS is unavailable. - Piped binary data with --encrypted is now encrypted (it was sent as plaintext labelled "encrypted"). E2EE v2, compatible with the web app: segmented AES-GCM files with the name and type in an encrypted header, text payloads carrying the language and attachment name; v1 still decrypts. Files are encrypted once into a temporary file before uploading, so a retried chunk can never reuse a nonce for different plaintext. Shared test vectors. Downloads stream to a temporary file and are renamed into place; the overwrite check happens before downloading; names from the server or an encrypted header can't escape the directory. Moderation responses (423 pending, 403 quarantined, 410 removed) get clear messages and `get --wait` waits out a scan. `.../id/raw` URLs parse correctly, and URLs on another server are fetched without sending credentials there. HTTP: Accept: application/json, a User-Agent, the API token as Bearer (BINKS_TOKEN / --token), errors from {"error"} bodies, connect and read timeouts instead of a 5-minute total timeout. Fixes: global options (--password, -e, ...) now apply to every subcommand; delete no longer wipes the saved login on a 403 and uses the deletion token saved at upload or the owner's credentials; status messages no longer pollute stdout or --json; the Linux clipboard helper gets the URL on stdin instead of argv (it held the #k= key). New: whoami, logout, token create --scope/--save, completions. login and register save a revocable API token for the machine instead of an expiring session cookie. Dependencies updated (aes-gcm 0.11, base64 0.23, infer 0.22, ...), is-terminal replaced by std, toolchain pinned to 1.97.1. The integration tests run the binary against an in-process server from the server repository. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WZeHvWbLY5XsYNApM1dUFK