Complete documentation of r2put's terminal user interface.
r2put displays an animated terminal user interface (TUI) built with React Ink. The UI provides real-time feedback during file upload with animated progress bars, transfer statistics, and timestamped log messages.
Cloudflare R2 branding with:
Displays file details in rounded border boxes:
Example:
┌─────────┐ ┌─────────────────────────┐
│ 1.0 MB │ │ application/octet-stream│
└─────────┘ └─────────────────────────┘Animated progress bar showing:
Example:
◐ UPLOADING 67%
█████████████████████████████████████████████░░░░░░░░░░░░░░░░░Two rounded border boxes displaying:
Example:
┌──────────────────────────┐ ┌──────────────────────┐
│ TRANSFER RATE: 8.4 MB/S │ │ EST. TIME: 4S │
└──────────────────────────┘ └──────────────────────┘Timestamped log entries with:
[HH:MM:SS] format› for info messages✔ for success messagesExample:
╭───────────────────────────────────────────────────────────╮
│ ◘ BUCKET: production-v4 │
│ ◈ REGION: WNAM │
│ │
│ [13:53:02] › Initializing secure handshake with R2-E1... │
│ [13:53:02] › Payload delivered. Starting edge-layer optimization. │
│ [13:53:05] ✔ Transfer complete. Resource available at edge node. │
╰───────────────────────────────────────────────────────────╯Upon successful upload, displays:
bucket/objectKeyExample:
› OBJECT PATH: production-v4/data.bin
› DOWNLOAD URL:
https://production-v4.abc123.r2.cloudflarestorage.com/data.bin?X-Amz-...C L O U D F L A R E R 2
ULTRA-LOW LATENCY OBJECT STORAGE
› Uploading: data.bin
┌─────────┐ ┌─────────────────────────┐
│ 1.0 MB │ │ application/octet-stream│
└─────────┘ └─────────────────────────┘
◐ UPLOADING 67%
█████████████████████████████████████████████░░░░░░░░░░░░░░░░░
┌──────────────────────────┐ ┌──────────────────────┐
│ TRANSFER RATE: 8.4 MB/S │ │ EST. TIME: 4S │
└──────────────────────────┘ └──────────────────────┘
╭───────────────────────────────────────────────────────────╮
│ ◘ BUCKET: production-v4 │
│ ◈ REGION: WNAM │
│ │
│ [13:53:02] › Initializing secure handshake with R2-E1... │
│ [13:53:02] › Payload delivered. Starting edge-layer optimization. │
│ [13:53:05] ✔ Transfer complete. Resource available at edge node. │
╰───────────────────────────────────────────────────────────╯
› OBJECT PATH: production-v4/data.bin
› DOWNLOAD URL:
https://production-v4.abc123.r2.cloudflarestorage.com/data.bin?X-Amz-...For non-interactive environments:
@cfkit/r2 directly for programmatic controlImportant Notes:
The simulated progress provides visual feedback but does not reflect the actual upload state. The upload completes when the R2 API confirms success, regardless of progress bar percentage.
Errors are displayed in the terminal UI:
Error messages are clearly visible and provide actionable information for resolution.