A native macOS uploader for Cloudflare R2
Finder Β· Menu Bar Β· Dock Β· CLI
R2Drop makes Cloudflare R2 uploads feel native on macOS. No dashboards, no context switching β just drag, drop, and get a URL.
- π Finder right-click β Send to R2
- π½ Drag & drop onto menu bar or Dock icon
- π File picker for files and folders
- π Deep links (
r2drop://...) for automation - π» CLI companion for terminal workflows
| Feature | Description |
|---|---|
| π Background queue | Progress tracking, retries, pause/resume/cancel |
| π₯ Multi-account | Switch accounts from the menu bar |
| πͺ£ Bucket routing | Per-account bucket + path prefix config |
| π Public URLs | Auto-copy with custom domain support |
| π Notifications | Success, failure, and token expiry alerts |
| π Privacy | Optional anonymous telemetry (can be fully disabled) |
Download the latest .dmg from GitHub Releases.
Homebrew (coming soon):
brew tap superhumancorp/tap
brew install --formula superhumancorp/tap/r2dropQuick install:
curl -fsSL https://r2drop.com/install.sh | bashFrom the macOS app: Open Settings β Install CLI (installs to /usr/local/bin)
- Launch R2Drop
- Complete onboarding β paste a Cloudflare API token, select a bucket
- Upload via Finder right-click, drag-and-drop, or CLI
- Copy the URL from the notification or queue UI
r2drop login # Interactive or scripted auth
r2drop upload <path> # Upload files or folders
r2drop status # Check upload status
r2drop queue # View upload queue
r2drop accounts # Manage accounts
r2drop history # Browse upload history
r2drop config get/set # ConfigurationJSON output supported for automation: r2drop upload file.png --json
Full CLI reference: CLI.md
βββ src/
β βββ app/ # macOS app (Swift/SwiftUI)
β β βββ R2Drop/ # Main app target
β β βββ FinderExtension/ # Finder Sync extension
β β βββ Packages/ # Local Swift packages (R2Core, R2Bridge)
β βββ app/engine/r2-cli/ # CLI companion (Rust crate + binary target)
β βββ www/ # Marketing website (r2drop.com)
βββ src/homebrew/ # Homebrew tap templates
βββ scripts/ # Install scripts
βββ src/releases/ # Release notes per version
βββ .github/workflows/ # CI/CD (build, release, deploy)
# Clone
git clone https://github.com/superhumancorp/r2drop.git
cd r2drop
# Build the macOS app
cd app
xcodebuild build -scheme R2Drop -destination 'platform=macOS'
# Build the CLI
cd app/engine/r2-cli
cargo build --releaseR2Drop uses PostHog for anonymous telemetry with full user control:
- Toggle in onboarding and Settings
- Sensitive values sanitized/hashed
- Error tracking is rate-limited and deduplicated
See TELEMETRY.md for the event catalog.
| Workflow | Trigger | What it does |
|---|---|---|
ci.yml |
Push/PR to main |
Build + lint |
release.yml |
Tag v* |
Sign, notarize, publish DMGs, bump Homebrew tap |
cli-release.yml |
Tag cli-v* |
Build CLI (macOS arm64 + x86_64) |
deploy-www.yml |
Push to www/ |
Deploy website to Cloudflare R2 |
Finder right-click item missing
Finder Sync extensions are cached aggressively:
- System Settings β Privacy & Security β Extensions β Finder Extensions
- Toggle R2Drop extension off/on
killall Finder
r2drop command not found
Add ~/.local/bin to your PATH:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc && source ~/.zshrcCopyright Β© 2026 Superhuman Intelligence LLC. All rights reserved.
Built with β€οΈ by Superhuman Intelligence LLC
