🔥 Freezer is a sleek, modern S3 file explorer that transforms how you manage your cloud storage. Built with Next.js 14 and featuring JWT authentication, it offers enterprise-grade security with a beautiful, intuitive interface.
|
|
|
|
|
Built on Next.js 14's App Router for optimal performance and streaming server components. |
JWT authentication, rate limiting, and security controls make it suitable for business use. |
Beautiful interface that works perfectly on desktop, tablet, and mobile devices. |
|
Quick and simple configuration with environment variables and multiple deployment options. |
Light and dark themes with persistent preferences and auto-detection. |
Preview images, videos, PDFs and other file types directly in your browser. |
-
JWT Authentication
- Secure token-based access for all S3 operations
- Configurable token expiration
-
Advanced Rate Limiting
- Per-IP Protection: 20 requests per 5 seconds (default)
- Global Protection: 1000 requests per 60 seconds across all users
- Configurable via environment variables
- Security violation logging and monitoring
- Node.js 18+ and npm
- AWS S3 bucket and credentials
- Upstash Redis account (for rate limiting)
Option 1: Local Development (click to expand)
-
Clone the repository:
git clone https://github.com/surendrakumar6350/freezer.git cd freezer -
Install dependencies:
npm install
-
Create environment file:
cp .env.example .env.local
-
Configure environment variables:
Edit
.env.localand add your values:# Authentication JWT_SECRET=your-secure-jwt-secret USER_USERNAME=admin USER_PASSWORD=your-secure-password # AWS S3 Configuration AWS_ACCESS_KEY_ID=your-access-key AWS_SECRET_ACCESS_KEY=your-secret-key AWS_REGION=us-east-1 AWS_S3_BUCKET=your-bucket-name # Rate Limiting (Upstash Redis) UPSTASH_REDIS_REST_URL=https://your-upstash-url.upstash.io UPSTASH_REDIS_REST_TOKEN=your-upstash-token # Optional: Rate Limiting Configuration S3_GLOBAL_RATE_LIMIT=1000 S3_GLOBAL_WINDOW_SEC=60
-
Run the development server:
npm run dev
-
Open your browser:
Visit http://localhost:3000
Option 2: Deploy to Vercel (click to expand)
- Fork this repository
- Create a new project in Vercel
- Connect your forked repository
- Configure the environment variables in Vercel project settings
- Deploy!
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
How to contribute (click to expand)
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Don't forget to give the project a star ⭐ if you found it useful!
Freezer is licensed under the MIT License - see the LICENSE file for details.

