A desktop application for encrypting and decrypting files with multiple encryption algorithms and customizable encryption recipes. Built with Electron and React, Loocker provides a modern, intuitive interface for secure file protection.
Intuitive drag-and-drop interface for file selection and recipe configuration
Step-by-step encryption with multiple algorithm layers
Built-in RSA key pair generator with PEM export capabilities
- AES-256-GCM: Industry-standard symmetric encryption with authenticated encryption
- RSA-OAEP: Asymmetric encryption with SHA-256 hashing for secure key exchange
- Multiple Key Sources: Support for passphrases and key files
Create custom encryption recipes with multiple layers of protection:
- Sequential Encryption: Chain multiple encryption algorithms in any order
- Mixed Algorithms: Combine symmetric and asymmetric encryption in a single recipe
- Drag & Drop: Easily reorder encryption steps with intuitive drag-and-drop interface
- Visual Configuration: Step-by-step recipe builder with clear algorithm selection
- RSA Key Generation: Built-in RSA key pair generator with configurable key sizes (2048-bit default)
- PEM Format Support: Import/export keys in standard PEM format
- Key File Support: Use existing key files for encryption operations
- Passphrase Support: Simple passphrase-based encryption for quick operations
- Batch Processing: Encrypt or decrypt multiple files simultaneously
- File Selection: Drag-and-drop file selection with support for any file type
- Automatic Naming: Encrypted files automatically get
.encextension - Local Export: Save encrypted/decrypted files to any local directory
- Modern Design: Clean, responsive interface built with Tailwind CSS
- Dark/Light Theme: Adaptive theming with DaisyUI components
- Smooth Animations: Fluid transitions and micro-interactions
- Cross-Platform: Native desktop experience on Windows, macOS, and Linux
- Node.js: Version 22 or higher (tested with Node.js 24)
- npm: Package manager (comes with Node.js)
-
Clone the repository
git clone <repository-url> cd Loocker
-
Install dependencies
npm install
-
Start the application
npm start
Build for your platform:
# Build for current platform
npm run make
# Build for specific platforms
npm run make:linux
npm run make:windows
npm run make:macos- Select Files: Drag and drop files or click to browse
- Configure Recipe: Add encryption steps using the recipe builder
- Set Keys: Provide passphrases or import key files
- Encrypt: Click "Encrypt files" and choose save location
- Add Steps: Click the "+" button to add encryption layers
- Choose Algorithm: Select from AES-256-GCM or RSA-OAEP
- Configure Keys: Set up passphrases or import key files
- Reorder Steps: Drag steps to change encryption order
- Save Recipe: Your recipe is automatically saved for the session
- Open Key Generator: Click "Generate Keys" in the RSA step configuration
- Choose Key Size: Select 2048-bit (recommended) or 4096-bit
- Generate: Click "Generate Key Pair"
- Export Keys: Copy to clipboard or save as PEM files
- Select Encrypted Files: Choose
.encfiles to decrypt - Configure Recipe: Set up the same recipe used for encryption
- Provide Keys: Enter the same keys used during encryption
- Decrypt: Click "Decrypt files" and choose save location
- Frontend: React 19 with TypeScript
- Desktop Framework: Electron with Electron Forge
- Styling: Tailwind CSS with DaisyUI components
- Build Tool: Vite for fast development and building
- Encryption: Web Crypto API for secure, standards-compliant encryption
- Authenticated Encryption: AES-GCM provides both confidentiality and authenticity
- Secure Key Derivation: Proper key padding and validation
- Random IVs: Cryptographically secure random initialization vectors
- Memory Safety: Keys are properly managed and cleared from memory
- No Network: All operations happen locally - no data leaves your machine
- Any File Type: Loocker works with any file format
- Large Files: Efficient streaming for large file encryption
- Binary Files: Full support for binary data encryption
src/
βββ components/ # React components
β βββ recipe/ # Recipe configuration components
β βββ fileselector/ # File selection components
β βββ ...
βββ objects/
β βββ algorithms/ # Encryption algorithm implementations
βββ pages/ # Main application pages
βββ main.ts # Electron main process
npm start- Start development servernpm run make- Build for productionnpm run lint- Run ESLintnpm test- Run tests with Playwright
- Node.js: Version 22 or higher (tested under Node.js 24)
- Operating System: Windows 10+, macOS 10.15+, or Linux (Ubuntu 18.04+)
- Memory: 4GB RAM minimum, 8GB recommended
- Storage: 100MB for application, additional space for encrypted files
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
This project is licensed under the MIT License - see the LICENSE file for details.
- Always keep your encryption keys secure and backed up
- Test decryption with a small file before encrypting important data
- This software is provided as-is for educational and personal use
- For critical security applications, consider additional security audits
Made with β€οΈ by MathisΒ²