Skip to content
lefos13Public
forked from macnev2013/anySCP

About

Free, open-source SSH terminal, SFTP file manager & S3 browser for macOS, Windows & Linux. Alternative to Termius or Moba or whatever you use.

Resources

Stars

5 stars

Watchers

0 watching

Forks

Β 
Β 

Latest commit

Β 

History

269 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

OmniSSH

OmniSSH

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

Platform Tauri v2 Rust React 19 License MIT


πŸ“’ Fork & Attribution Notice

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.


πŸš€ Overview

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.

⚑ Comparison

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

✨ Key Features

πŸ’» 1. Advanced SSH Terminal Client

  • High Performance Rendering: Built on xterm.js with 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.

🧭 2. Linked Terminal Explorer & OSC 7 CWD Sync

  • Side-by-Side File Dock: Open a dedicated remote filesystem panel docked directly beside your active terminal.
  • Live Directory Tracking (OSC 7): As you cd in 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.

πŸ“₯ 3. Universal Connection Importer

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

πŸ“ 4. SFTP & SCP Multi-Protocol File Explorer

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

☁️ 5. S3 Cloud Storage Desktop Browser

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

πŸ”€ 6. SSH Port Forwarding (Tunnels)

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

πŸ“‹ 7. Command Snippets & Parametric Templates

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

πŸ” 8. Self-Hosted Encrypted Dataset Sync

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

πŸ” 9. Security & Privacy First

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

πŸ“Έ Screenshots & Live Demo

Live Session Walkthrough (Terminal + OSC 7 Sync + Host Plugins)
OmniSSH Live Session Demo
Live session walkthrough: split WebGL terminals, real-time OSC 7 directory sync, and docked host plugins
Unified Terminal Workspace (Terminal + Linked Explorer + Host Plugins)
Unified Workspace
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
Dashboard Terminal
Organize hosts with groups, colors, and health checks Split panes, regex search, and tabbed sessions
Standalone SFTP & S3 Explorer Command Snippets & Variables
Explorer Snippets
SFTP & S3 with drag-and-drop and conflict handling Parameterized templates with quick insertion

πŸ“₯ Installation

Pre-Built Releases

Download the latest binaries for your platform from the Releases page:

  • macOS (Apple Silicon & Intel): .dmg

    Note for macOS: If Gatekeeper prompts with an unverified developer warning, run:

    xattr -cr /Applications/OmniSSH.app
  • Windows: .msi or .exe installer
  • Linux: .AppImage or .deb package

πŸ”¨ Building from Source

Prerequisites

Development Setup

# 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

Production Build

# Compile frontend and package native desktop binaries
pnpm build
pnpm tauri build

πŸ— Architecture

OmniSSH 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) β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ§ͺ Testing & Verification

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 e2e

🀝 Contributing

Contributions, issues, and feature suggestions are welcome!

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/my-feature
  3. Commit your changes: git commit -m 'feat: add my feature'
  4. Push to your branch: git push origin feature/my-feature
  5. Open a Pull Request

Please refer to AGENTS.md for architectural invariants, coding conventions, and testing guidelines.


πŸ™ Credits & Acknowledgments


πŸ“„ License

This project is licensed under the MIT License β€” see the LICENSE file for details.

About

Free, open-source SSH terminal, SFTP file manager & S3 browser for macOS, Windows & Linux. Alternative to Termius or Moba or whatever you use.

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages