TauriAge is a modern, cross-platform desktop application for secure file encryption using the age encryption tool. Built with Tauri 2.0, it combines the performance and security of a Rust backend with a responsive React/TypeScript frontend.
- Key Management: Generate, import, and export age/SSH keys with ease.
- Secure Encryption: Encrypt files for multiple recipients using public keys.
- Reliable Decryption: Decrypt files using your private identity keys.
- Encrypted Key Storage: Securely store your keys locally, protected by a passphrase (using PBKDF2 + AES-256-GCM).
- Modern UI: A clean, dark-mode interface built with Tailwind CSS v4.
- Cross-Platform: Runs on Windows, macOS, and Linux.
- Core: Tauri 2.0
- Backend: Rust
- Frontend: React 18, TypeScript, Vite
- Styling: Tailwind CSS v4
- Encryption:
age(via Rust binary wrapper)
- Node.js (v18+)
- Rust (latest stable)
- Tauri CLI:
npm install -g @tauri-apps/cli(optional, included in devDependencies) - Build Tools: VS C++ Build Tools (Windows) or Xcode Command Line Tools (macOS)
-
Clone the repository:
git clone https://github.com/bgeneto/TauriAge.git cd TauriAge -
Install frontend dependencies:
npm install
-
Verify Rust backend:
cd src-tauri cargo check -
Run dev version
npm run tauri dev
-
Build install packages
npm run tauri build
See releases page.
Start the development server (runs Vite frontend and compiles Rust backend):
npm run tauri devCreate an optimized executable for your OS:
npm run tauri buildThe output will be in src-tauri/target/release/bundle/.
- Frontend (
src/): React application handling the UI, state management, and user interactions. It communicates with the backend via Tauri's IPC. - Backend (
src-tauri/src/): Rust code that handles the heavy lifting:age.rs: Wraps age CLI operations for encryption/decryption.key_storage.rs: Manages the secure, encrypted storage of user keys.commands.rs: Exposes Rust functions to the frontend.
Contributions are welcome! Please feel free to submit a Pull Request.