How mxlitey/flyimg works
Flyimg is a temporary file and static-folder hosting service: users upload files or directory trees, receive public links, and can browse their uploads, preview content, and renew its expiry. Administrators can filter, renew, delete, and clean up stored resources. The frontend calls a single Cloudflare Worker API; the Worker coordinates object storage and metadata. An Agent Skill also supports uploads. The Worker excerpt is partial, so its documented routes and scheduled cleanup are represented without inferring internal handler wiring.
Main entry points: FilePreview.tsx File Preview · worker.js Worker API · api.ts API Client · App.tsx Web App
Components 15
Web Client
- Web App
frontend/src/App.tsx - Upload Page
frontend/src/pages/UploadPage.tsx - My Files
frontend/src/pages/MyImagesPage.tsx - Admin Page
frontend/src/pages/AdminPage.tsx - File Preview
frontend/src/components/FilePreview.tsx - API Client
frontend/src/lib/api.ts
Worker API
- Worker API
worker.js
Cloudflare Storage
- R2 Objects
- D1 Metadata
migrations/0001_init.sql
Agent Upload
- Agent Skill
skills/flyimg/SKILL.md - Upload Script
skills/flyimg/scripts/upload.sh
Other components
- User
- Public R2
- Cloudflare Cron
- AI Agent
Connections 19
- User → Web App: uses
- Web App → Upload Page: routes
- Web App → My Files: routes
- Web App → Admin Page: routes
- Upload Page → API Client: uploads
- My Files → API Client: lists uploads
- Admin Page → API Client: manages files
- Upload Page → File Preview: previews result
- My Files → File Preview: previews files
- Admin Page → File Preview: previews files
- File Preview → API Client: reads content
- API Client → Worker API: calls API
- Worker API → R2 Objects: stores objects
- Worker API → D1 Metadata: reads and writes metadata
- File Preview → Public R2: loads direct links
- Cloudflare Cron → Worker API: triggers cleanup
- AI Agent → Agent Skill: uses
- Agent Skill → Upload Script: guides upload
- Upload Script → Worker API: uploads files