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.
- 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
- Node.js (v14 or later)
- npm or yarn
- MongoDB
-
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 thebackend
directory - Add your MongoDB connection string and other configurations:
MONGO_URI=your-mongodb-uri SECRET_KEY=your-secret-key
- Create a
-
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
-
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.