DEV Community

angga prabuwisesa
angga prabuwisesa

Posted on

Built a SSH client that uses 1/10th RAM of Electron apps (Rust + Tauri v2)

I built Termiaxial - a SSH/SFTP client that replaces Termius, PuTTY, and WinSCP with a single, fast, and secure application.

Why?

I was frustrated with existing SSH clients:

  • Electron apps (Termius, Royal TSX) eat 200MB+ RAM
  • Slow startup times (5s+)
  • Heavy CPU usage even when idle
  • Proprietary software (can't audit code)
  • Expensive licensing ($100+/year)

The Solution: Rust + Tauri v2

Tauri v2 uses the OS's native webview instead of bundling Chromium. Combined with Rust backend, this achieves:

  • 50MB idle RAM (vs 200MB+ for Electron apps)
  • <1.5s startup (vs 5s+ for competitors)
  • Native performance with React + TypeScript frontend
  • Fully open source (MIT license)

Tech Stack

Framework: Tauri v2
Frontend:  React 18 + TypeScript + Tailwind CSS
Backend:   Rust (russh, tokio)
Terminal:  Xterm.js v5
Crypto:    ring (AES-GCM-256) + argon2
Database:  SQLite
Enter fullscreen mode Exit fullscreen mode

Features

Core

  • ✅ SSH authentication (password + private key: RSA, ED25519)
  • ✅ Full terminal emulator (Xterm.js, 256 colors, 5000-line scrollback)
  • ✅ SFTP file explorer with drag-drop upload/download
  • ✅ Multi-tab sessions with auto-reconnect

Security

  • ✅ Master Password with Argon2id hashing
  • ✅ AES-GCM-256 encrypted credential vault
  • ✅ Local SQLite storage (no cloud by default)

AI & Productivity

  • ✅ AI Assistant (OpenAI, Ollama, Anthropic)
  • ✅ Terminal analysis with Ctrl+Space shortcut

Performance Benchmarks

Metric Termiaxial Termius PuTTY
Idle RAM 50MB 200MB+ 30MB
Startup Time 1.5s 5s+ 0.3s
CPU Usage <1% 3-5% <1%
Bundle Size 8MB 120MB+ 1MB

Current Status

Repository is 85% ready for open source launch:

  • ✅ 7 GitHub Actions workflows (CI/CD, Security, Release)
  • ✅ Multi-platform builds (macOS Intel/ARM, Linux AMD64/ARM64)
  • ✅ Comprehensive documentation
  • ✅ Professional templates for issues/PRs

Roadmap

  • v1.5: SSH Tunneling + Snippet Manager
  • v2.0: Session Recording + Cloud Sync
  • v2.5: Team Collaboration + Enterprise features

GitHub

github.com/angga30/termiaxial

⭐ Star if you like the project
🍴 Fork if you want to contribute
🐛 Report issues on GitHub

For Rust Developers

This project showcases:

  • Tauri v2 for cross-platform desktop apps
  • Rust + React integration
  • AES-GCM-256 encryption with ring
  • SSH implementation with russh
  • SQLite with rusqlite
  • AI integration with OpenAI/Ollama/Anthropic

Would love to get feedback from the Rust community! Especially interested in:

  • Performance optimizations
  • Security improvements
  • Feature suggestions
  • Architecture feedback

Built with ❤️ by developers, for developers.

Top comments (1)

Collapse
 
hiyoyok profile image
hiyoyo

Great project! I'm also building macOS apps with Tauri v2 + Rust and the RAM difference vs Electron is genuinely impressive in practice. One thing I ran into — have you tested the russh connection stability on long-running sessions (24h+)? Curious how you handle reconnect edge cases internally.