Skip to content

bgeneto/tauriage

Repository files navigation

TauriAge

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.

TauriAge App

🚀 Features

  • 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.

🛠️ Technology Stack

  • Core: Tauri 2.0
  • Backend: Rust
  • Frontend: React 18, TypeScript, Vite
  • Styling: Tailwind CSS v4
  • Encryption: age (via Rust binary wrapper)

🏁 Getting Started

Prerequisites

  • 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)

Installation

Install from sources

  1. Clone the repository:

    git clone https://github.com/bgeneto/TauriAge.git
    cd TauriAge
  2. Install frontend dependencies:

    npm install
  3. Verify Rust backend:

    cd src-tauri
    cargo check
  4. Run dev version

    npm run tauri dev
  5. Build install packages

     npm run tauri build

Install from pre-build binaries

See releases page.

Running Locally

Start the development server (runs Vite frontend and compiles Rust backend):

npm run tauri dev

Building for Production

Create an optimized executable for your OS:

npm run tauri build

The output will be in src-tauri/target/release/bundle/.

🏗️ Architecture

  • 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.

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

📄 License

MIT License

About

A Tauri 2.0 GUI app for age encryption tool

Resources

Stars

Watchers

Forks

Packages

No packages published