Simple, lightweight SSH client built with Svelte + Tauri. EasySSH lets you save connection profiles and open terminal sessions powered by xterm.js and a Rust-based Tauri backend using the ssh2 crate.
- Desktop application using Tauri (Rust) for native functionality and Svelte (Vite) for the UI.
- Terminal UI via xterm.js and the
xterm-addon-fitaddon. - Persisted connection profiles in localStorage.
- SSH functionality implemented in Rust using the ssh2 crate and exposed to the UI through Tauri commands.
- Save and manage SSH connection profiles
- Password and private-key authentication
- Launch multiple sessions (tabs)
- Terminal emulation with responsive resizing
- Theme preference persisted (light/dark)
src/- Svelte app (UI components, routes, styles)lib/components- core components (TerminalView, XtermContainer, Dashboard components like ConnectionPanel, Sidebar, TabBar)lib/stores.ts- central Svelte stores (savedConnections,sessions,theme, etc.)
src-tauri/- Tauri + Rust backendsrc/lib.rs- SSH logic, provides Tauri commands:connect,write_data,resize_term,disconnecttauri.conf.json- Tauri configuration
package.json/Cargo.toml- frontend and backend dependencies and scripts
- Node.js (recommend v18+)
- Rust and Cargo (stable channel)
- Tauri prerequisites for your platform — see Tauri docs: https://tauri.app/v1/guides/getting-started/prerequisites
- On Windows, you typically need Visual Studio Build Tools installed
-
Install JavaScript dependencies:
npm install
-
Start the frontend dev server (Vite):
npm run dev
-
To run the full Tauri app in development (bundles frontend and Rust backend):
npm run tauri dev
-
Build production frontend and bundle a release with Tauri:
npm run build npm run tauri build
- Tauri builds require platform-specific toolchains (see Tauri docs) — check the Tauri prerequisites if
npm run tauri devfails.
This project is released under the MIT License.