Private video sharing for one person. A macOS menu bar app uploads a video to a private Cloudflare R2 bucket through a Cloudflare Worker, then puts a share link on your clipboard. Anyone with the link watches it in a browser. No accounts for viewers, no feed, no comments, no download button.
- The Mac app inspects the video and passes it through, remuxes it, or hardware-transcodes it to an H.264 MP4 with the moov atom up front, so it plays in every browser.
- Upload goes to the Worker in 50 MiB parts straight into R2 multipart. Interrupted uploads resume after relaunch.
- Playback streams from R2 through the Worker with range support. Every request checks the share token, so revoking a link is instant. Links never expire on their own.
- Owner auth is a single bearer token stored in the macOS Keychain. Viewers need nothing.
- A floating drop target appears when you drag a video anywhere on screen, so you never have to open the menu.
worker/Cloudflare Worker (TypeScript, Hono, D1, R2, static viewer). Package manager is pnpm.mac/SwiftPM package:ClipShareCore(media pipeline, upload client, Keychain) and theClipShareSwiftUI app.scripts/make-app.shbuildsbuild/ClipShare.app.docs/prd.mddesign,docs/api.mdthe contract between the two halves,docs/deploy.mdhow to ship it.
cd worker
pnpm install
cp .dev.vars.example .dev.vars # put in the SHA-256 of your owner token
pnpm run migrate:local
pnpm run dev # http://localhost:8787cd ../mac
./scripts/make-app.sh
open build/ClipShare.app # point Settings at http://localhost:8787 and paste the tokenTests: pnpm run test in worker/, swift test in mac/.
See docs/deploy.md. Everything runs on Cloudflare: one Worker, one D1 database, one R2 bucket, one custom domain.