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
