AetherDrop is a modern, secure file-sharing platform that allows users to upload files and share them via temporary, expiring links.
Built as a full-stack system with production-ready infrastructure, it focuses on privacy, control, and simplicity.
- π¦ Upload multiple files at once
- π Secure file access via unique links
- β³ Expiry-based file deletion
- π Download limits per file
- π Automatic ZIP generation for multi-file downloads
- βοΈ AWS S3 storage integration
- π§Ή Background cleanup service (cron-based)
- π Public access via Cloudflare Tunnel
- β‘ Fast and responsive UI
-
User uploads files
-
Files are stored in AWS S3
-
A unique shareable link is generated
-
Download requests are validated:
- Expiry time
- Download count
-
Files are streamed and zipped on demand
-
Expired files are automatically deleted
Frontend (React + Vite + Tailwind)
β
Nginx (Reverse Proxy)
β
Backend (Node.js + Express)
β
MongoDB (Metadata)
β
AWS S3 (File Storage)
- React (Vite)
- Tailwind CSS
- Framer Motion
- Node.js
- Express.js
- Multer (file handling)
- Archiver (ZIP streaming)
- AWS S3
- MongoDB Atlas
- Docker & Docker Compose
- Nginx
- No direct S3 exposure
- Backend-controlled access
- Download limit enforcement
- Expiry-based cleanup system
- Fully containerized deployment
The application is deployed on an AWS EC2 instance using Docker.
Public access is enabled via Cloudflare Tunnel with HTTPS support.
aetherdrop/
βββ frontend/
βββ backend/
βββ monitoring/
βββ docker-compose.yml
βββ README.md
- User authentication
- File encryption
- Progress indicators
- Drag & drop upload
- Custom domains
- Analytics dashboard
Feel free to fork and improve the project.
MIT License
Built with focus on real-world deployment and system design.