R2D2 is a command-line interface tool designed to simplify and automate file uploads to S3 or Cloudflare R2 buckets.
- File Uploads: Easily upload files to S3 or R2 buckets.
- Configuration Management: Save and manage AWS/R2 credentials and bucket settings.
- Progress Tracking: Real-time upload progress with a spinner.
- Cross-Platform: Works on Windows, macOS, and Linux.
- Extensible: Built with TypeScript for easy customization.
To install R2D2, use the following command:
(npm/bun/pnpm/yarn) install -g @zeitgg/r2d2Ensure you have Node.js installed before proceeding.
Once installed, you can start using R2D2 by typing:
r2d2 [command] [options]For a list of available commands, run:
r2d2 --helpSet up your AWS/R2 credentials. The bucket name is no longer stored in configuration and will be prompted for each upload.
r2d2 configure
# or use the alias
r2d2 configUpload a file to an S3/R2 bucket. You'll be prompted for the bucket name for each upload.
r2d2 upload <filePath>Example:
# Simple file upload
r2d2 upload ./example.txt
# Files with spaces in the name
r2d2 upload "./my file with spaces.txt"The configure command will prompt you to enter:
- AWS Access Key ID
- AWS Secret Access Key
- Region
- Bucket Name
- (Optional) R2 Account ID
The configuration is saved locally in ~/.r2d2/config.json.
Contributions are welcome! If you'd like to contribute, please fork the repository and submit a pull request. For major changes, open an issue first to discuss what you'd like to change.
This project is licensed under the ISC License.
If you encounter any issues or have suggestions, feel free to open an issue on the GitHub repository.
Simplify your cloud storage workflows with R2D2. May the automation be with you!