Commit Graph

3 Commits

Author SHA1 Message Date
Jeff Emmett 4c22439574 fix: Buffer simple uploads for R2 Content-Length requirement
R2 PutObject requires Content-Length header. Buffer files <100MB into
memory before uploading so the SDK can set the header. Also fix HTML
pattern regex escaping for slug input.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-23 11:55:03 -07:00
Jeff Emmett 86edcbdc21 feat: Add download page with view/download buttons
GET /f/{id} now shows a file info page with metadata and action buttons
instead of redirecting directly. Previewable files (images, video, audio,
text, PDF) get a "View" button (inline disposition). All files get a
"Download" button. Actual redirects moved to /f/{id}/dl and /f/{id}/view.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-23 10:36:05 -07:00
Jeff Emmett 374c55770d feat: Initial upload-service implementation
Go service streaming file uploads to Cloudflare R2 with SQLite metadata.
Features: drag-and-drop web UI, presigned URL downloads, password protection,
expiry with cleanup, rate limiting, CLI tool, Infisical secret injection.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-22 18:21:57 -07:00