Cipherfiles
This repo contains the src files for CipherFiles - A end-to-end AES-256-CTR algorithm encrypted file storing web application. This is the prototype (v1). This project is made using Frontend technologies like React JS, Shadcn UI library, Tailwind CSS, React-Router, backend technologies - Node JS, Express JS, multer, mongoose, crypto, bcryptJS, etc.
CipherFiles ⚡
End-to-End Encrypted File Storing Web Application 🔐📂
This project is a prototype (v1) for CipherFiles, an end-to-end AES-256-CTR algorithm encrypted file storing web application. It is built using React JS, Shadcn UI, Tailwind CSS, React-Router on the frontend, and Node JS, Express JS, multer, mongoose, crypto, bcryptJS on the backend.
Features
- Secure file storage with AES-256-CTR encryption
- User authentication and management
- Responsive design with Tailwind CSS and Shadcn UI
- RESTful API backend with Express JS
Installation
Prerequisites
- Node.js (v14 or later)
- npm or yarn
- MongoDB
Steps
Clone the Repository
git clone https://github.com/SHERLOCKx90/CipherFiles.git
cd CipherFiles
Install Frontend Dependencies
cd frontend
npm install
# or
yarn install
Install Backend Dependencies
cd ../backend
npm install
# or
yarn install
Configure Environment Variables
- Create a
.env
file in the root of the backend
directory
- Add your MongoDB connection string and other configurations:
MONGO_URI=your-mongodb-uri
SECRET_KEY=your-secret-key
Run the Application
- Start the backend server:
cd backend
npm run start
# or
yarn start
- Start the frontend development server:
cd ../frontend
npm run dev
# or
yarn dev
Usage
Register and Login
- Users can register and login to the application.
- Passwords are hashed using bcryptJS.
File Encryption and Storage
- Files are encrypted using AES-256-CTR algorithm before storage.
- Encrypted files are stored in MongoDB using multer.
Retrieve and Decrypt Files
- Encrypted files can be retrieved and decrypted using the user's secret key.
For more details and updates, refer to the CipherFiles GitHub Repository.