A modern, full-stack web application for image and video uploading, built with Astro and deployed on Cloudflare.
- Astro: Core web framework
- Svelte: Used for interactive components
- TypeScript: For type-safe JavaScript
- Cloudflare Workers: Serverless deployment platform
- Cloudflare KV: Key-value storage
- CSS: Custom styling with animations
- Service Worker: Offline functionality and caching
- MDX: Markdown with JSX support
- Modern Web APIs: Fetch, FormData, IntersectionObserver, etc.
- LocalStorage: Client-side data persistence
- ShareX: Integration for easy screenshot sharing
- Vite: Build tooling
- Image and video upload (up to 100MB)
- EXIF data stripping for images
- File preview before upload
- Gallery view of uploaded files
- Shareable links for uploads
- Deletion capability for uploaded files
- Rate limiting to prevent abuse
- Responsive design for various screen sizes
- Offline support
- Clone the repository
- Install dependencies with
npm install
- Configure your Cloudflare account and KV namespace
- Set up environment variables
- Run locally with
npm run dev
- Deploy to Cloudflare with
npm run deploy
The application provides a simple API for file uploads and deletions. Check the /src/pages/api
directory for implementation details.
- File size limits
- Rate limiting
- EXIF data removal from images
Contributions, issues, and feature requests are welcome! Feel free to check issues page.