
Free, open-source MobaXterm alternative built with Rust: SSH, SFTP, SCP, terminals, tunnels, serial,
Free, open-source MobaXterm alternative built with Rust: SSH, SFTP, SCP, terminals, tunnels, serial,
Your terminal, file transfer, and remote operations in one calm desktop workspace.
A free SSH client and SFTP workspace for developers, DevOps, sysadmins, and homelabs.
Website · Download · Documentation · Roadmap · Feedback
Looking for a free and open-source MobaXterm alternative? MobaRust is a local-first desktop SSH client, SFTP client, terminal emulator, and remote-operations workspace for developers, DevOps engineers, system administrators, infrastructure teams, and homelab users.
MobaRust is independent and is not affiliated with Mobatek or MobaXterm. MobaXterm is a trademark of its respective owner.
MobaRust is a real desktop application, not a terminal-shaped website. React and TypeScript render the interface inside Tauri; Rust owns the native networking, PTY, filesystem, process, persistence, cancellation, and credential boundaries.
Watch the desktop demo · Download the video (MP4) The full 62-second preview above plays directly in GitHub from start to finish. GitHub sanitizes external HTML5 video tags in repository READMEs, so use the Watch the desktop demo link for the full-resolution player with chapters and captions, or download the full MP4.
Real macOS capture: native terminal commands, split panes, SSH setup, snippets, and one-click light/dark switching. Recorded with an isolated demo profile and a local test API; no personal credentials or remote production hosts are used.
Download MobaRust desktop preview
Choose the installer for your computer: Windows x64 .exe, macOS Apple Silicon or Intel .dmg, or Linux x64 .deb / .AppImage. No developer tools or source build required. Open the installer, install MobaRust, and start a local terminal or add an SSH connection.
The first release is an unsigned preview: Windows and macOS may display security prompts. See the installation instructions and known limitations, including first-launch steps and checksum verification. RDP is excluded from downloads; VNC remains experimental.
Switch between light and dark mode using the button in the top bar. The choice is saved, and Settings → Theme → System follows your operating system.
Remote work should not mean switching between a terminal, an SFTP client, a tunnel tool, a notes app, and a session list every few minutes. MobaRust puts the operator loop in one focused window:
The result is a practical MobaXterm alternative that stays keyboard-friendly, local-first, and honest about what is ready.
Save a host once, organize it into folders, add tags and notes, mark favorites, and find it instantly. Browse remote files over SFTP, transfer recursively with progress and cancellation, start a tunnel, run a reviewed snippet, and keep the connection searchable without rebuilding the same context in several tools.
Snippets support descriptions, tags, and variables such as ${host}, ${port}, and ${username}. Preview and edit before sending. Macros remain visible and cancellable. Multi-exec requires explicit target selection, shows a strong broadcast indicator, and provides an emergency disable path.
The best first use case is everyday SSH and SFTP work. RDP and VNC are real isolated candidates, while integrated X11, signed distribution, and complete cross-platform evidence remain deliberately on the roadmap.
MobaXterm made the all-in-one remote toolbox familiar. MobaRust keeps that useful idea while giving operators a free, open-source implementation that can be inspected, improved, and adapted in public. There is no claim of feature-for-feature parity today; the roadmap makes the remaining work visible.
| If you value… | MobaRust gives you… |
|---|---|
| A free alternative | Apache-2.0 source with no mandatory account for local use |
| One place for remote work | Terminals, files, tunnels, diagnostics, and session context together |
| Control over sensitive data | Separated session configuration and secret material, with native credential resolution |
| A maintainable desktop stack | Rust/Tauri native boundaries and a React/TypeScript interface |
| Trustworthy progress | Reproducible fixtures, visible limitations, and a public roadmap |
The table below makes the current boundary explicit. “Verified locally” means repository code and deterministic local validation exist. Platform, real-server, hardware, signing, or interoperability gates are called out instead of being hidden behind a marketing claim.
| Area | Current status |
|---|---|
| SSH terminal | Native SSH, host-key verification, password/key references, SSH-agent path, keyboard-interactive authentication, PTY resize, keepalives, cancellation, reconnect, and actionable errors |
| SFTP / SCP | Remote browser, recursive transfers, bounded concurrency, progress, cancellation, atomic commits, conflict handling, permission preservation, and native SCP compatibility |
| Session manager | Saved profiles, folders, tags, favorites, recents, fast search, OpenSSH config import, jump-host chains, typed settings, and secret-free export |
| SSH tunnels | Local forwarding, remote forwarding, bounded dynamic SOCKS5, explicit lifecycle state, stop controls, and cancellable clients |
| Local terminals | Native PTY, shell lifecycle, resize, output batching, split panes, persistent tabs, child cleanup on close/EOF, explicit PowerShell/cmd/Unix shell targets, a local fixture for each installed Unix shell, and WSL foundations |
| Operator tools | Snippets with preview, visible macros, explicit multi-exec targets, bounded network diagnostics, bounded port checks, one-shot or opt-in low-frequency remote monitoring, privacy-conscious audit history, and sanitized diagnostic export |
| Telnet / serial | Legacy Telnet with clear unencrypted labelling, plus serial configuration, terminal I/O, refresh, reconnect, and device-loss handling |
| RDP | Isolated native candidate with framebuffer, protocol-aware bounded keyboard/mouse input, coalesced dynamic resize requests, lifecycle work, explicit hostname/IP, username, domain, and Gateway metadata, separate role-tagged native credential handoff, platform certificate validation, bounded configurable reconnect with fresh-handshake state reset and stale-frame clearing, an opt-in Windows-native clipboard path, a typed runtime capability report including TLS transport status, a macOS self-signed-certificate rejection fixture, local process tests, and an opt-in real loopback IronRDP server fixture covering TLS/Hybrid handshake, accepted and rejected username/domain/password authentication, framebuffer, keyboard/mouse input, a real 400×240 monitor-layout request, clean stop, and one loss/recovery cycle; mature-engine/FreeRDP integration, real-world server interoperability, Windows/Linux evidence, Gateway trust/interoperability, macOS/Linux clipboard backends, audio, and production packaging remain open |
| VNC | Native helper with local RFB 3.3/3.7/3.8 fixtures, authentication and categorized rejection paths, raw/copy/Tight-JPEG framebuffer updates, bounded keyboard/mouse input with Unicode-to-X11 keysym mapping, explicit clipboard opt-in, scaling, quality profiles, bounded reconnect with stale capability/clipboard/input state cleared between attempts, cooperative cancellation for in-flight input and framebuffer refresh, clean shutdown, and visible unencrypted-transport capability reporting; remote hostname/IP targets are available only through an explicit unencrypted-TCP opt-in, while TLS-capable engines and broader interoperability remain open |
| X11 | Explicit SSH forwarding to a configured external display, with a disposable real-X11 local fixture when Xvfb and its system Unix-socket directory are available; an integrated cross-platform X server remains a separate research and packaging decision |
This is a serious foundation — not a screenshot, a static placeholder, or a shell command wrapped in a web page.
React and TypeScript make the desktop UI fast to iterate and easy to use. Rust and Tauri own the native boundary: sockets, PTYs, helper processes, file operations, vault access, cancellation, and typed IPC. The frontend is an interaction layer — not a credential store and not an unrestricted shell bridge.
MobaRust is designed for operators who cannot afford an accidental production action:
Hello → Starting → Ready handshake before capabilities or active data are accepted, and can reconnect only after a ready cycle;Read the threat model and safe testing policy before contributing protocol or credential code.
The current engineering checklist is 61/68 items evidenced — approximately 89.7%. This is a measure of verified repository work, not a claim of complete MobaXterm parity or production readiness on every operating system.
The local implementation layer is ahead of the release matrix. SSH, SFTP/SCP, PTY, explicit local shell targets, sessions, tunnels, diagnostics, and the security boundaries
No open issues yet, or sync has not completed.