A native macOS menu bar application for uploading files to Cloudflare R2.
Drag file → Upload → Copy URL → Done.
- Menu bar icon with drag-and-drop support
- Cloudflare R2 (S3-compatible) upload
- Automatic URL copy to clipboard
- System notifications
- Upload progress tracking
- Upload history
- macOS 14.0 or later
- A Cloudflare R2 bucket with API credentials
- Clone the repository
- Copy
.env.exampleto.envand fill in your R2 credentials - Open
DropLink.xcodeprojin Xcode - Build and run
DropLink/
├── DropLink
│ ├── DropLink
│ │ ├── App
│ │ │ └── StatusBarController.swift
│ │ ├── Assets.xcassets
│ │ │ ├── AccentColor.colorset
│ │ │ │ └── Contents.json
│ │ │ ├── AppIcon.appiconset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── Logo1024 1.png
│ │ │ │ ├── Logo1024 2.png
│ │ │ │ ├── Logo1024 3.png
│ │ │ │ ├── Logo1024 4.png
│ │ │ │ ├── Logo1024 5.png
│ │ │ │ ├── Logo1024 6.png
│ │ │ │ ├── Logo1024 7.png
│ │ │ │ ├── Logo1024 8.png
│ │ │ │ ├── Logo1024 9.png
│ │ │ │ └── Logo1024.png
│ │ │ └── Contents.json
│ │ ├── Extensions
│ │ ├── Managers
│ │ ├── Models
│ │ │ ├── Bucket.swift
│ │ │ ├── Credentials.swift
│ │ │ ├── Settings.swift
│ │ │ ├── Upload.swift
│ │ │ ├── UploadResult.swift
│ │ │ └── UploadStatus.swift
│ │ ├── Networking
│ │ │ └── R2Client.swift
│ │ ├── Resources
│ │ │ └── .env.example
│ │ ├── Services
│ │ │ ├── ClipboardService.swift
│ │ │ ├── EnvLoader.swift
│ │ │ ├── KeychainService.swift
│ │ │ ├── LoggerService.swift
│ │ │ ├── NotificationService.swift
│ │ │ ├── SettingsService.swift
│ │ │ └── UploadService.swift
│ │ ├── Storage
│ │ ├── Tests
│ │ ├── Utilities
│ │ ├── Views
│ │ │ ├── AboutView.swift
│ │ │ ├── MenuBarView.swift
│ │ │ ├── RecentUploadsView.swift
│ │ │ ├── SettingsGeneralView.swift
│ │ │ ├── SettingsWindowView.swift
│ │ │ └── UploadQueueView.swift
│ │ ├── DropLink.entitlements
│ │ └── DropLinkApp.swift
│ ├── DropLink.xcodeproj
│ │ ├── project.xcworkspace
│ │ │ ├── xcshareddata
│ │ │ │ ├── swiftpm
│ │ │ │ │ └── configuration
│ │ │ │ └── WorkspaceSettings.xcsettings
│ │ │ └── contents.xcworkspacedata
│ │ └── project.pbxproj
│ ├── DropLinkLogo.icon
│ │ ├── Assets
│ │ │ └── Logo1024.png
│ │ └── icon.json
│ ├── logs
│ ├── Logo.af
│ └── Logo1024.png
├── .gitattributes
├── .gitignore
├── CHANGELOG.md
├── LICENSE
├── PLAN.md
└── README.md
MIT (See in LICENSE)
- Secrets are stored in the macOS Keychain when configured through the Settings UI
- No telemetry, analytics, or tracking