Welcome to the official documentation for Scramblify! This guide covers everything you need to know about using, configuring, and contributing to Scramblify, the CLI tool for encrypting and decrypting images with ease.
Scramblify is a TypeScript-based open-source CLI that:
Ensure you have Node.js installed. Then, install Scramblify globally via npm:
npm install -g scramblify
The CLI provides two main commands:
encrypt
: Converts an image into a scrambled (gibberish) file.decrypt
: Restores the scrambled file back to its original format.To view available commands and options, use:
scramblify --help
To encrypt an image and generate a scrambled file:
scramblify encrypt scramblify encrypt --input <input_file_path> --output <output_file_path> --password <password>
Example:
scramblify encrypt --input <input_file_path> --output <output_file_path> --password <password>
To decrypt a scrambled file back to its original format:
scramblify decrypt --input <input_file_path> --output <output_file_path> --password <password>
Example:
scramblify decrypt --input <input_file_path> --output <output_file_path> --password <password>
For enhanced security, you can set the password using an environment variable:
export SCRAMBLIFY_PASSWORD="your-secure-password"
The CLI will automatically use this password for encryption and decryption. If no password is set, youโll be prompted to enter one.
Scramblify uses AES-256-CBC encryption to secure your images. Hereโs the process:
Scramblify currently supports PNG, JPG, and JPEG formats.
If you lose the password used for encryption, decryption is impossible due to the secure nature of AES encryption. Always store your password securely.
No, Scramblify only encrypts the image data. The file size may slightly increase due to the addition of the IV.
Yes, as long as the password/key is kept secret. Without the password, the scrambled file cannot be decrypted.
We welcome community contributions to make Scramblify even better! If youโre interested:
Scramblify is licensed under the MIT License. Feel free to use, modify, and distribute the project.