Welcome to the Secure File Sharing repository! This application provides a robust solution for sharing files securely over the internet. With built-in AES encryption, user authentication via JWT tokens, and virus scanning, your files remain safe and protected at all times.
- AES Encryption: Files are encrypted using AES-256, ensuring that only authorized users can access the data.
- JWT Authentication: Users must authenticate with a JWT token before storing or accessing files.
- Virus Scanning: Each file is checked for viruses to enhance security.
- User-Friendly Interface: Designed with usability in mind for seamless file sharing.
- Cross-Platform Support: Works on various operating systems, making it accessible to everyone.
- AES: Advanced Encryption Standard for secure file encryption.
- JWT: JSON Web Tokens for user authentication.
- Node.js: Server-side platform for building the application.
- Express: Web framework for Node.js to create the API.
- MongoDB: NoSQL database for storing user data and file metadata.
- Multer: Middleware for handling file uploads.
- ClamAV: Antivirus engine for scanning files.
To get started with Secure File Sharing, follow these steps:
-
Clone the repository:
git clone https://github.com/jacobPRO123/secure_file_sharing.git
-
Navigate to the project directory:
cd secure_file_sharing
-
Install dependencies:
npm install
-
Set up environment variables: Create a
.env
file in the root directory and add the following variables:PORT=3000 JWT_SECRET=your_jwt_secret MONGODB_URI=your_mongodb_uri
-
Start the application:
npm start
Once the application is running, you can interact with it via the API or the front-end interface.
- POST /api/auth/login: Authenticate a user and receive a JWT token.
- POST /api/files/upload: Upload a file after authentication.
- GET /api/files/:id: Download a file using its ID.
For more detailed usage, refer to the API Documentation.
- User Authentication: Users log in using their credentials. If successful, they receive a JWT token.
- File Upload: The user uploads a file, which is then encrypted using AES-256.
- Virus Scanning: The file is scanned for viruses using ClamAV.
- Storage: If the file passes the virus scan, it is stored in MongoDB with its metadata.
- User Authentication: The user must provide a valid JWT token to access files.
- File Retrieval: The application retrieves the encrypted file from the database.
- Decryption: The file is decrypted using AES-256 before being sent to the user.
We welcome contributions to enhance the Secure File Sharing application. If you want to contribute, please follow these steps:
- Fork the repository.
- Create a new branch:
git checkout -b feature/YourFeature
- Make your changes and commit them:
git commit -m "Add your message here"
- Push to your branch:
git push origin feature/YourFeature
- Create a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.
For any questions or support, feel free to reach out:
- Email: support@securefilesharing.com
- GitHub: jacobPRO123
For the latest releases, visit here. You can download the latest version and execute it to start sharing files securely.
Secure File Sharing is a powerful tool for anyone looking to share files safely and efficiently. With strong encryption, user authentication, and virus scanning, you can trust that your files are secure. Explore the repository, contribute, and enjoy secure file sharing!
For further updates, check the "Releases" section.