How ayiux/cloudflare-imgbed works
CloudFlare-ImgBed is a file-hosting application with upload, management, and retrieval workflows, plus authentication, WebDAV, directories, moderation, and random-image features. Requests enter through the Functions routes; uploads select storage and record metadata, while file-serving and management routes provide retrieval and lifecycle operations. Database adapters and the index manager support persistent records and directory-aware listings. The README documents storage channels beyond those demonstrated in sampled code; those modules are shown without asserting their internal dispatch wiring.
Main entry points: databaseAdapter.js Database adapter · index.js Upload handler · app.d5cd9b3f.js Web interface · indexManager.js Directory index
Components 22
Client experience
- Web interface
frontend-dist/js/app.d5cd9b3f.js
Request workflows
- Upload handler
functions/upload/index.js - Upload utilities
functions/upload/uploadTools.js - File management
functions/api/manage - File delivery
functions/file/[[path]].js - WebDAV access
functions/dav/[[path]].js - Public listings
functions/api/public/list.js - Random images
functions/random/index.js
Identity and settings
- Auth endpoints
functions/api/auth - Session manager
functions/utils/auth/sessionManager.js - System configuration
functions/utils/sysConfig.js
Content and indexing
- Directory index
functions/utils/indexManager.js - Metadata utilities
functions/utils/metadata
Persistence and channels
- Database adapter
functions/utils/databaseAdapter.js - D1 operations
functions/utils/d1Database.js - Telegram adapter
functions/utils/storage/telegramAPI.js - Discord adapter
functions/utils/storage/discordAPI.js - Hugging Face adapter
functions/utils/storage/huggingfaceAPI.js - WebDAV adapter
functions/utils/storage/webdavAPI.js - Local R2 emulation
deploy/server/r2Storage.js
Other components
- User or admin
- Storage services
Connections 26
- User or admin → Web interface: uses
- Web interface → Upload handler: submits uploads
- Web interface → File management: manages files
- Web interface → Auth endpoints: authenticates
- Web interface → Public listings: browses
- Upload handler → System configuration: reads settings
- Upload handler → Upload utilities: uses utilities
- Upload handler → Database adapter: writes metadata
- Upload handler → Telegram adapter: large-file upload
- Upload handler → Metadata utilities: moderates content
- Auth endpoints → Session manager: checks sessions
- Session manager → Database adapter: reads and writes
- Session manager → System configuration: reads policy
- File management → Database adapter: manages records
- File management → Directory index: manages index
- File delivery → Database adapter: reads file record
- WebDAV access → Database adapter: accesses records
- Public listings → Directory index: lists files
- Random images → System configuration: reads settings
- Random images → Directory index: selects files
- Directory index → Database adapter: reads and writes
- Database adapter → D1 operations: adapts D1
- Telegram adapter → Storage services: uses channel
- Discord adapter → Storage services: uses channel
- Hugging Face adapter → Storage services: uses channel
- WebDAV adapter → Storage services: uses channel