WarpBox accepts normal multipart form uploads through the compatibility endpoint:
curl \
-F 'files=@./my-file.zip' \
-F 'retention=1h' \
{{ origin }}/upload
The browser uses the manifest API: it creates a box, uploads each file, and marks failed uploads so the download page does not wait forever.
Save this as warpbox, make it executable, and put it somewhere on your PATH.
#!/usr/bin/env bash
set -euo pipefail
if [ "$#" -lt 1 ]; then
echo "Usage: warpbox FILE [FILE ...]" >&2
exit 64
fi
endpoint="${WARPBOX_URL:-{{ origin }}}/upload"
retention="${WARPBOX_RETENTION:-1h}"
args=(-F "retention=${retention}")
for file in "$@"; do
args+=(-F "files=@${file}")
done
curl "${args[@]}" "${endpoint}"
chmod +x ./warpbox
sudo install -m 755 ./warpbox /usr/local/bin/warpbox
warpbox ./my-file.zip