Help us improve
Share bugs, ideas, or general feedback.
From lavra
Sync files across cloud storage using rclone. Covers S3, R2, Backblaze, Google Drive, Dropbox, and S3-compatible providers with setup, upload, sync, and listing commands.
npx claudepluginhub roberto-mello/lavra --plugin lavraHow this skill is triggered — by the user, by Claude, or both
Slash command
/lavra:rcloneThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Before any rclone operation, verify installation and configuration:
Provides rclone setup, configuration, and commands to upload, sync, list, and manage files in AWS S3, Cloudflare R2, Backblaze B2, Google Drive, Dropbox.
Manages Cloudflare R2 S3-compatible object storage in Workers: bucket creation, bindings, uploads/downloads, CORS, presigned URLs, multipart uploads. Fixes R2_ERROR and CORS issues.
Guides Backblaze B2 Cloud Storage integration with B2 CLI for bucket/file operations and Terraform/OpenTofu for provisioning buckets with lifecycle rules, CORS, and encryption.
Share bugs, ideas, or general feedback.
Before any rclone operation, verify installation and configuration:
# Check if rclone is installed
command -v rclone >/dev/null 2>&1 && echo "rclone installed: $(rclone version | head -1)" || echo "NOT INSTALLED"
# List configured remotes
rclone listremotes 2>/dev/null || echo "NO REMOTES CONFIGURED"
Guide the user to install:
# macOS
brew install rclone
# Linux (script install)
curl https://rclone.org/install.sh | sudo bash
# Or via package manager
sudo apt install rclone # Debian/Ubuntu
sudo dnf install rclone # Fedora
Walk the user through interactive configuration:
rclone config
Common provider setup quick reference:
| Provider | Type | Key Settings |
|---|---|---|
| AWS S3 | s3 | access_key_id, secret_access_key, region |
| Cloudflare R2 | s3 | access_key_id, secret_access_key, endpoint (account_id.r2.cloudflarestorage.com) |
| Backblaze B2 | b2 | account (keyID), key (applicationKey) |
| DigitalOcean Spaces | s3 | access_key_id, secret_access_key, endpoint (region.digitaloceanspaces.com) |
| Google Drive | drive | OAuth flow (opens browser) |
| Dropbox | dropbox | OAuth flow (opens browser) |
Example: Configure Cloudflare R2
rclone config create r2 s3 \
provider=Cloudflare \
access_key_id=YOUR_ACCESS_KEY \
secret_access_key=YOUR_SECRET_KEY \
endpoint=ACCOUNT_ID.r2.cloudflarestorage.com \
acl=private
Example: Configure AWS S3
rclone config create aws s3 \
provider=AWS \
access_key_id=YOUR_ACCESS_KEY \
secret_access_key=YOUR_SECRET_KEY \
region=us-east-1
rclone copy /path/to/file.mp4 remote:bucket/path/ --progress
rclone copy /path/to/folder remote:bucket/folder/ --progress
rclone sync /local/path remote:bucket/path/ --progress
rclone ls remote:bucket/
rclone lsd remote:bucket/ # directories only
rclone copy /path remote:bucket/ --dry-run
| Flag | Purpose |
|---|---|
--progress | Show transfer progress |
--dry-run | Preview without transferring |
-v | Verbose output |
--transfers=N | Parallel transfers (default 4) |
--bwlimit=RATE | Bandwidth limit (e.g., 10M) |
--checksum | Compare by checksum, not size/time |
--exclude="*.tmp" | Exclude patterns |
--include="*.mp4" | Include only matching |
--min-size=SIZE | Skip files smaller than SIZE |
--max-size=SIZE | Skip files larger than SIZE |
For videos and large files, use chunked uploads:
# S3 multipart upload (automatic for >200MB)
rclone copy large_video.mp4 remote:bucket/ --s3-chunk-size=64M --progress
# Resume interrupted transfers
rclone copy /path remote:bucket/ --progress --retries=5
# Check file exists and matches
rclone check /local/file remote:bucket/file
# Get file info
rclone lsl remote:bucket/path/to/file
# Test connection
rclone lsd remote:
# Debug connection issues
rclone lsd remote: -vv
# Check config
rclone config show remote