Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DropLink

A native macOS menu bar application for uploading files to Cloudflare R2.

Drag file → Upload → Copy URL → Done.

Features

  • 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

Requirements

  • macOS 14.0 or later
  • A Cloudflare R2 bucket with API credentials

Setup

  1. Clone the repository
  2. Copy .env.example to .env and fill in your R2 credentials
  3. Open DropLink.xcodeproj in Xcode
  4. Build and run

Project Structure

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

License

MIT (See in LICENSE)

Security

  • Secrets are stored in the macOS Keychain when configured through the Settings UI
  • No telemetry, analytics, or tracking

About

Drag any file onto the menu bar icon. It uploads to Cloudflare R2 and instantly copies a public URL to your clipboard.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Contributors

Languages