Architecture
Components
R2Drop
├── macOS App (Swift/SwiftUI)
│ ├── Menu bar icon + window (5 tabs)
│ ├── Finder Sync Extension (right-click menu)
│ └── App Groups (shared SQLite with extension)
│
├── Upload Engine (Rust)
│ ├── r2-core — S3 client, multipart logic, queue, history
│ ├── r2-ffi — C FFI bridge (Swift calls into Rust)
│ └── r2-cli — Standalone CLI binary
│
└── Local Data (~/.r2drop/)
├── config.toml — accounts + preferences
├── queue.db — upload queue (SQLite)
├── history.db — upload history (SQLite)
└── r2drop.sock — IPC socket (CLI ↔ app)Upload Flow
Tech Stack
Layer
Technology
Security Model
Finder Sync Extension
CI/CD Pipelines
Workflow
Trigger
What it does
Last updated