Dropper 是一款 macOS 菜单栏应用,只需拖拽文件即可直接上传到您自己的 Cloudflare R2 存储桶,并即时生成分享链接。

Stars

37

7 天增长

暂无数据

Fork 数

9

开放 Issue

2

开源协议

NOASSERTION

最近更新

2026-07-16

AI 仓库情报摘要
FR-AI / ANALYSIS

为什么值得关注

它本地签署 S3 请求并直接与 R2 通信,无需中间服务器,让您完全掌控数据,操作简单如拖拽。

适合谁使用

  • 经常分享文件的 Mac 用户
  • 熟悉 Cloudflare 和自托管的开发者
  • 希望自建文件分享基础设施以保护隐私的用户

典型使用场景

  • 快速分享大型视频或媒体文件并生成可分享链接
  • 团队成员共同上传和整理文档与媒体文件
  • 个人文件分享,不再依赖第三方服务

项目优势

  • 无需中间服务器——本地签署请求并直接发送至 R2
  • 除 Cloudflare R2 存储和流量费用外无额外成本
  • 仅需一个 Cloudflare API 令牌即可快速开始使用
  • 生成静态分享页面,支持固定/归档操作且不改变 URL

使用前须知

  • 仅支持 macOS(需 macOS 14 或更高版本)
  • 需要拥有 Cloudflare 账户并配置 R2 存储桶
  • 源代码可用许可限制了公开发布和商业用途

README 快速开始

Dropper

Drop a file. Get a link.

Dropper lives in your Mac's menu bar. Drag files onto it and they upload to your own Cloudflare R2 bucket — a share page link lands on your clipboard in seconds. Free, no middleman, your bucket, your domain.

There is no server in the middle: the app signs S3 (SigV4) requests locally and talks directly to R2. Share pages are static HTML the app generates and uploads alongside your files. Onboarding takes a single Cloudflare API token, from which the app derives its S3 credentials.

Website & download: dropper.page

Repository layout

PathWhat it is
Sources/DropperThe menu bar app (SwiftPM executable): UI, uploads, share pages, media conversion, onboarding
Tests/DropperTestsUnit tests for Dropper's upload, configuration, and share-page behavior
site/Marketing site on Cloudflare Workers — see site/README.md
workers/Small native Worker serving /share/* directly from R2, outside Next/OpenNext
Makefile, build.conf, scripts/Local build and the release pipeline (build → sign → notarize → dmg → upload → tag)
tools/Build-time helpers (app icon generator)

Share bundle format

Every share is a self-contained folder in the configured R2 prefix. The folder name is a readable, sanitized version of the first filename followed by a random suffix. A single-file share and a collection use the same format.

For example, a two-file collection might look like this:

share/site/launch-demo-4adcb0b260c14b669777ab8c98f6772e/
├── index.html
├── manifest.json
├── launch-demo.mp4
├── notes.md
├── .thumb.launch-demo.mp4.jpg
├── .poster.launch-demo.mp4.jpg
└── .pinned

The objects have distinct jobs:

ObjectPurpose
index.htmlThe generated, static share page and public entry point.
manifest.jsonThe authoritative list, order, display metadata, and ownership record for the share.
``An uploaded media or document object. Filenames are sanitized and deduplicated within the share.
.thumb..jpgOptional small preview used by the Dropper menu.
.poster..jpgOptional larger video poster used by the generated share page.
.pinnedZero-byte marker indicating that the active share is pinned.
.archivedZero-byte marker indicating that the share is

项目描述

Drop a file on your Mac's menu bar, get a beautiful share page link on your clipboard — served from your own Cloudflare R2 bucket. No middleman, no subscription, your domain.

相关仓库与替代方案

根据分类、Topic 和编程语言匹配的相似项目。

Blaizzy
精选
Blaizzy GitHub avatar

nativ

Nativ is a native macOS app that lets you run AI models locally on Apple silicon, offering chat, model management, performance analytics, and an OpenAI/Anthropic-compatible API server.

AI 与机器学习AI 视觉与语音
985
uzairansaruzi
精选
uzairansaruzi GitHub avatar

hermex

Hermex is a native SwiftUI iPhone app that lets you control a self-hosted Hermes AI agent directly from your phone, with no subscriptions, tracking, or third-party relay.

AI 与机器学习大语言模型
941
simonw
精选
simonw GitHub avatar

speech-analyzer-cli

A macOS command-line tool that uses Apple's on-device speech APIs to transcribe prerecorded audio into plain text, JSON, JSONL, SRT, or WebVTT.

开发者工具CLI 与终端
20