Welcome to MysticVault, the magical realm where your digital secrets are guarded under the cloak of advanced encryption. Whether it's personal diaries, family photos, or your stash of ancient spells, MysticVault ensures that your private files remain just thatβprivate.
MysticVault uses AES (Advanced Encryption Standard) with a 256-bit key, the same standard used by governments and security agencies worldwide for top-secret information. This means your files are encrypted with a robust, highly secure cipher technique.
- Encryption: Files are encrypted using a unique key derived from your password combined with a cryptographic salt to enhance security. This process transforms your files into a format that can't be understood without the key.
- Decryption: To access your files, the same password is required to decrypt them back to their original state.
- Clone this repository:
git clone https://github.com/sunnydsouza/MysticVault.git
- Navigate into the project directory:
cd MysticVault
- Install dependencies (don't worry, it's just a sprinkle of digital magic):
pip install -r requirements.txt
- Launch MysticVault and start securing your files:
python run.py
After installing and launching MysticVault, the Flask server will be served by default at:
http://localhost:5000
Navigate to this URL in your web browser to access the MysticVault interface.
- Encryption: Once you select files for encryption, they will be converted into
.sef
format, and their names will be scrambled to ensure privacy. The original files will be replaced by these encrypted versions in the specified directory. - Decryption: To revert your files to their original state, select the encrypted
.sef
files within the application and enter your password. Successful decryption will restore the original files with their original names and remove the encrypted versions.
Using Docker, you can easily deploy MysticVault without worrying about manually setting up the environment and dependencies. Hereβs how you can run MysticVault using Docker:
-
Build the Docker Image:
docker build -t mysticvault .
-
Run MysticVault: To run MysticVault in a Docker container and mount a volume for encryption, use the following command. Replace
/path/to/your/folder
with the path to the directory containing the files you wish to encrypt or decrypt.docker run -p 5000:5000 -v /path/to/your/folder:/app/data mysticvault
This command does the following:
-p 5000:5000
: Maps port 5000 of the container to port 5000 on your host, allowing you to access the server vialocalhost:5000
.-v /path/to/your/folder:/app/data
: Mounts your target directory to the/app/data
directory inside the container. Ensure that MysticVault is configured to access this directory for file operations.
- Simple as Pie: With a user interface cleaner than your grandma's kitchen, encrypting files is as simple as pie. π₯§
- Files/Folder Support: Encrypt individual files or entire folders with a single click.
- Progress Bar/Error Logging: Keep track of the encryption/decryption process with a handy progress bar and error logging. Detailed stats on current file being processed and start/end time.
- Secure Encryption: Uses AES-256 encryption, the same standard used by governments and security agencies worldwide.
- Chunked Encryption: Encrypts files in chunks to prevent memory issues with large files.
- Docker Support: Run the app in a Docker container for added security and portability. Can work alongside Plex, Sonarr, Radarr, and other media servers.
- Photo Friendly: Got photos? Keep all those memories safe from the nosy parkers!
Here's a sneak peek at what you're getting into:
β ToDo Improvement Points
- A better/advanced UI for file management?
- Seamless file encryption/decryption on demand
Got a cool idea or a bug fix? We love contributions!
- Fork the repo
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request
Loved the app? Buy me a coffee to keep this project running! β
- Not responsible for secrets leaked through telepathy or dreams.
- May not protect against determined siblings/mothers-in-law.
Distributed under the MIT License. See LICENSE
for more information.