The modern, privacy-first desktop workspace for SSH Terminals, SFTP/SCP File Management, S3 Cloud Storage, and Multi-Source Session Management.
Overview β’ Features β’ Comparison β’ Screenshots β’ Installation β’ Building β’ Architecture β’ Credits β’ License
OmniSSH is an actively developed fork of anySCP, originally created and architected by Nevil Macwan (@macnev2013) under the MIT License.
We extend our sincere gratitude to Nevil and the original contributors for designing the foundational architecture, Tauri v2 backend, and sleek interface. OmniSSH builds upon this foundation with multi-channel SSH multiplexing, real-time OSC 7 linked terminal file exploration, universal connection importers (MobaXterm & offline Termius LevelDB decryption), and enhanced file transfer capabilities.
OmniSSH is a high-performance, cross-platform desktop application that unifies your remote infrastructure workflows into a single privacy-first tool:
- GPU-Accelerated SSH Terminals with split panes, regex search, and command snippet automation.
- Linked Terminal Explorer that follows your shell's working directory in real time via OSC 7 notifications.
- Dual-Pane SFTP / SCP Host Explorer with local and remote filesystems side by side, bidirectional copy transfers, drag-and-drop uploads, conflict resolution, and VS Code remote editing.
- S3 Cloud Storage Desktop Browser compatible with AWS S3, MinIO, Cloudflare R2, Backblaze B2, Wasabi, and DigitalOcean Spaces.
- Universal Connection Importer allowing one-click migration from OpenSSH (
~/.ssh/config), MobaXterm session files, and Termius local encrypted databases (with zero cloud dependency). - SSH Port Forwarding & Tunnels for local and remote port redirection with service presets.
- Self-Hosted Encrypted Dataset Sync to publish hosts, groups, snippets, port forwards, and S3 connections to a directory on a server you own β end-to-end encrypted, no account, no cloud.
- Zero Cloud, Local-First Security: No mandatory logins, no telemetry, and credentials securely sealed in your operating system's native keychain.
| Feature / Capability | OmniSSH | Termius | WinSCP | MobaXterm | PuTTY | Cyberduck |
|---|---|---|---|---|---|---|
| SSH Terminal | Yes (WebGL) | Yes | No | Yes (X11) | Yes | No |
| Linked Terminal File Explorer | Yes (OSC 7) | No | No | Yes | No | No |
| Dual-Pane Host File Manager | Yes | No | Yes | Yes | No | No |
| SFTP & SCP Multi-Tab Browser | Yes | Yes | Yes | Yes | No | Yes |
| S3 Cloud Storage Browser | Yes | No | No | No | No | Yes |
| Split Terminal Panes | Yes (H / V) | Yes | No | Yes | No | No |
| Universal Import (OpenSSH, MobaXterm, Termius) | Yes | No | No | No | No | No |
| SSH Port Forwarding Rules | Yes | Yes | No | Yes | Yes | No |
| Command Snippets & Templates | Yes | Yes | No | Yes | No | No |
| Encrypted Dataset Sync (self-hosted) | Yes (your own server, zero-cloud) | Cloud accounts only | No | No | No | No |
| Cross-Platform (macOS, Windows, Linux) | Yes | Yes | Windows only | Windows only | Windows only | macOS/Windows |
| Zero-Cloud & 100% Offline | Yes | No (Cloud sync) | Yes | Yes | Yes | Yes |
| Open Source (MIT) | Yes | No (Proprietary) | Yes (GPL) | No (Freemium) | Yes (MIT) | Yes (GPL) |
| Credential Storage | Native OS Keychain | Cloud Account | Plain/Registry | INI/Registry | Registry | Keychain |
- High Performance Rendering: Built on
xterm.jswith WebGL GPU acceleration for seamless scrolling and low latency. - Split Panes: Divide terminals horizontally and vertically within any active session tab.
- Interactive Terminal Search: Full-text and regex search across your entire terminal scrollback buffer.
- Customizable SSH Configurations: Support for custom ports, keep-alive intervals, startup scripts/commands, default shells, and multi-hop ProxyJump (bastion hosts).
- Key Authentication: Automated PPK-to-OpenSSH key conversion, passphrases, and private key identity files.
- Side-by-Side File Dock: Open a dedicated remote filesystem panel docked directly beside your active terminal.
- Live Directory Tracking (OSC 7): As you
cdin your remote shell, the linked file explorer automatically follows your current working directory without manual refresh. - Host Plugins & Trackers Dock: Dock real-time host monitoring cards (Server Health, PM2, Docker, systemd services, log viewer) directly beside your active terminal and linked file explorer.
- Shell Integration Wizard: Built-in one-click shell hook generator for Bash, Zsh, and Fish.
- Independent Channel Ownership: Operates on an isolated SSH subsystem channel to ensure heavy file transfers never freeze or degrade your terminal session.
- OpenSSH
~/.ssh/config: Effortlessly import hosts, identities, aliases, and proxy tunnels. - MobaXterm (
.ini,.mxtsessions,.mxtpro): Reads exported bookmarks and session structures, resolves portable drive paths (_MobaXterm_Drive_...), and preserves hierarchical folder groupings. - Termius Local Offline Database: Securely extracts and decrypts local v8 LevelDB entities using authenticated AES-GCM and XSalsa20-Poly1305 decryption directly into your OS Keychainβ100% offline with zero cloud dependency.
- Selective Previews & Atomic Commits: Review all detected connections, select individual hosts, map custom host groups, and commit transactionally with automatic rollback protection.
- Dual-Pane Host Explorer: Standalone host explorer tabs render a dual-pane layout with the local filesystem on the left and the connected host on the right. The local pane opens in a per-host or default local folder (falling back to home). Navigate local and remote directories independently, select files and folders, and copy entries in either direction via central action buttons ("Copy selected to remote" and "Copy selected to local") through the existing transfer queue. The local pane is read-only apart from receiving downloads. (S3 bucket tabs and terminal-linked explorer panels retain their focused single-pane views.)
- Tabbed Remote Browsing: Open multiple remote servers and directories in concurrent tabs.
- Drag-and-Drop Operations: Drag files and folders from your native desktop (Finder/Explorer) directly into the remote file tree.
- Conflict Resolution: Smart overwrite dialog with file size/timestamp comparison and batch actions (Overwrite, Backup & Copy, Cancel).
- Remote Editing in VS Code: Open remote files directly in your local editorβOmniSSH automatically watches and uploads changes upon saving.
- Protocol Fallback: Automatically switches between SFTP and SCP transports depending on remote server capabilities.
- Transfer Queue Management: Real-time progress indicators, transfer speed calculation, ETA, and concurrent file worker pools.
- Universal S3 Compatibility: Connect seamlessly to Amazon S3, MinIO, Cloudflare R2, Backblaze B2, Wasabi, DigitalOcean Spaces, or private S3 endpoints.
- Unified UI: Enjoy the same file management features (drag-and-drop, multi-select, search, sorting) across both SFTP and S3 views.
- Presigned URLs: Instantly generate and copy time-limited presigned download URLs for easy file sharing.
- Multi-Bucket Navigation: Switch between buckets dynamically within a single connection.
- Local & Remote Port Forwarding: Establish persistent background SSH tunnels for secure access to remote databases and internal services.
- Preset Templates: One-click tunnel configurations for PostgreSQL, MySQL, Redis, MongoDB, HTTP/HTTPS, and Kubernetes APIs.
- Independent Lifecycle: Tunnels manage their own background connections without requiring an open interactive terminal.
- Reusable Script Library: Save frequently used commands, shell scripts, and administration snippets.
- Template Placeholders: Define dynamic variables using
{{variable_name}}syntax that prompts for inputs before executing. - Quick Insert: Palette-accessible drawer inside any active terminal session.
- Import Host Aliases: Scan a connected host's Bash, Zsh, or Fish aliases and import the ones you pick as snippets.
- Your Server, Your Data: Publish a named dataset to a directory on any SSH server you own β no OmniSSH account, no hosted service, no telemetry. A second machine joins with the endpoint plus the dataset passphrase and pulls the identical host set.
- End-to-End Encrypted: A random dataset key encrypts the payload; that key is wrapped by an Argon2id key derived from a per-dataset passphrase, so the remote directory holds ciphertext and a key wrap that is useless without the passphrase. Credentials are opt-in and travel only inside the encrypted payload.
- Owner / Member Roles: An owner signs each published generation with an ed25519 key that members pin on join; members pull only, and the dataset directory is meant to be read-only for them server-side.
- Scoped and Mergeable: Choose the content kinds (hosts, groups, snippets, port forwards, S3 connections, host plugins, settings) and the scope (all hosts, selected groups, or explicit hosts). Pulls merge per record against the last agreed state, log every conflict instead of merging silently, and keep the last 10 generations for rollback.
- Full reference:
docs/sync-datasets.md.
- OS-Level Keyring Security: Passwords and private keys are stored exclusively in your operating system's native secure credential vault (macOS Keychain, Windows Credential Manager, Linux Secret Service).
- Zero Telemetry: No tracking, no external API calls, and no analytics.
- Memory Protection: Sensitive key data is zeroized in memory upon completion of operations.
| Live Session Walkthrough (Terminal + OSC 7 Sync + Host Plugins) |
|---|
![]() |
| Live session walkthrough: split WebGL terminals, real-time OSC 7 directory sync, and docked host plugins |
| Unified Terminal Workspace (Terminal + Linked Explorer + Host Plugins) |
|---|
![]() |
| Live SSH terminal, OSC 7 linked directory sync, and host monitoring plugins all active at the same time in one screen |
| Connection Manager & Dashboard | Multi-Pane SSH Terminal & Search |
|---|---|
![]() |
![]() |
| Organize hosts with groups, colors, and health checks | Split panes, regex search, and tabbed sessions |
| Standalone SFTP & S3 Explorer | Command Snippets & Variables |
|---|---|
![]() |
![]() |
| SFTP & S3 with drag-and-drop and conflict handling | Parameterized templates with quick insertion |
Download the latest binaries for your platform from the Releases page:
- macOS (Apple Silicon & Intel):
.dmgNote for macOS: If Gatekeeper prompts with an unverified developer warning, run:
xattr -cr /Applications/OmniSSH.app
- Windows:
.msior.exeinstaller - Linux:
.AppImageor.debpackage
- Node.js (v18 or later)
- pnpm (v9 or later)
- Rust (latest stable toolchain)
- Platform development dependencies (Tauri v2 Prerequisites)
# 1. Clone the repository
git clone https://github.com/lefos13/omniSSH.git
cd omniSSH
# 2. Install frontend dependencies
pnpm install --frozen-lockfile
# 3. Start development server with hot-reload
pnpm tauri dev# Compile frontend and package native desktop binaries
pnpm build
pnpm tauri buildOmniSSH is built with a strict separation between a fast, memory-safe Rust backend and a reactive TypeScript/React user interface:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β React 19 Frontend β
β (Zustand Stores, Tailwind CSS v4, xterm.js WebGL, DND) β
ββββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββ
β Tauri v2 IPC (Typed Invokes & Events)
ββββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββ
β Rust Backend (Tauri) β
ββββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββ€
β SSH & Shell Multiplexing β SFTP / SCP Transport Engine β
β (russh, async PTY channels) β (russh-sftp, worker pools) β
ββββββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββ€
β S3 Cloud Storage Driver β Universal Importers β
β (rust-s3, tokio runtime) β (OpenSSH, MobaXterm, Termius)β
ββββββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββ€
β Local SQLite Persistence β Native OS Keychain Vault β
β (rusqlite, zero-config) β (keyring, AES-GCM / Argon2) β
ββββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββ
OmniSSH includes an extensive automated test suite spanning unit tests, integration contracts, and real Tauri end-to-end containerized automation:
# Run frontend unit & component tests
pnpm test
# Run Rust unit tests
cargo test --manifest-path src-tauri/Cargo.toml
# Run WebdriverIO containerized E2E test suite
make e2eContributions, issues, and feature suggestions are welcome!
- Fork the repository
- Create a feature branch:
git checkout -b feature/my-feature - Commit your changes:
git commit -m 'feat: add my feature' - Push to your branch:
git push origin feature/my-feature - Open a Pull Request
Please refer to AGENTS.md for architectural invariants, coding conventions, and testing guidelines.
- Original Creator & Upstream Project: Heartfelt thanks to Nevil Macwan (@macnev2013) for creating anySCP and laying the groundwork for this desktop client.
- Tauri Framework: For the high-performance native desktop runtime.
- russh & russh-sftp: Pure-Rust asynchronous SSH and SFTP implementations.
- xterm.js: For the terminal emulation engine.
- rust-s3: For S3-compatible cloud storage operations.
- Lucide Icons & Tailwind CSS: For beautiful UI components and typography.
This project is licensed under the MIT License β see the LICENSE file for details.






