R-Shell

September 8, 2026 · View on GitHub

R-Shell — Lightweight SSH Client for macOS, Windows & Linux

GitHub license Test Release GitHub stars Tauri React Rust

A modern SSH/SFTP/FTP/RDP/VNC client built with Rust and Tauri 2. ~98% less memory than Java-based alternatives (~34 MB vs ~1.7 GB). Installer under 10 MB.

Low memory · Native speed · Multi-protocol · Remote desktop · Split terminals · SFTP file manager · GPU monitoring · Log viewer · Directory sync

Features · Installation · Screenshots · Contributing


📸 Screenshots

R-Shell Application Screenshot

R-Shell — split terminals, file manager, and system monitor in a single window


🚀 Why R-Shell?

Most SSH clients (FinalShell, MobaXterm, Xshell) run on Java or Electron — burning memory even at idle. R-Shell uses Rust + Tauri 2 for native performance at a fraction of the cost.

Memory Comparison

Measured on macOS (Apple Silicon, 16 GB RAM) using footprint:

AppTechnologyMemoryRelative
R-ShellRust + Tauri 2~34 MB
FinalShellJava~1.7 GB~50×

Installer Size

PlatformR-ShellFinalShellSavings
Windows3.99 MB64 MB16× smaller
macOS8.13 MB102 MB12× smaller

No bundled JVM or Chromium — Tauri uses the OS native webview.


🎯 About

R-Shell combines an interactive terminal, dual-panel file manager, remote desktop viewer (RDP/VNC), real-time system/GPU monitoring, and log viewing in a single VS Code-like workspace. Built with Rust for native performance and minimal resource usage.

  • Native Performance — Tauri 2 + Rust backend, not Electron or Java
  • Cross-Platform — macOS, Windows, and Linux
  • Multilingual UI — English, Simplified Chinese and Polish, with more languages welcome

✨ Features

🔌 Multi-Protocol Connections

ProtocolAuthenticationDescription
SSHPassword, Public KeyFull interactive PTY terminal
SFTPPassword, Public KeyStandalone file transfer sessions
FTPPassword, AnonymousPlain FTP file transfers
FTPSPassword, AnonymousFTP over TLS
RDPPasswordRemote Desktop Protocol
VNCPasswordVirtual Network Computing
  • Connection Manager — Tree-view sidebar with folders, favorites, tags, and drag-and-drop reordering
  • SSH Tunnel (Jump Host) — Route connections through a bastion or jump server
  • Connection Profiles — Save, import/export (JSON), duplicate, and edit connections
  • Session Restore — Automatically reconnects your workspace on launch
  • Quick Connect — Toolbar dropdown with recent connections
  • Auto Reconnect — Exponential backoff reconnection (up to 5 attempts)

💻 Interactive PTY Terminal

  • Full terminal emulation — xterm.js 6 with support for vim, htop, top, less, and all interactive programs
  • WebSocket streaming — Low-latency bidirectional I/O with bounded flow control
  • WebGL renderer — Hardware-accelerated rendering with automatic canvas fallback and recovery
  • Terminal search — Regex and case-sensitive search with F3 navigation
  • Context menu — Copy, paste, select all, clear, save to file, reconnect
  • IME / CJK input — Full support for Chinese, Japanese, Korean input methods
  • Session detach — Xshell-style Ctrl+A, D parks a session in the background with keep-alive; reattach anytime
  • Working-directory follow — Keep the remote file browser aligned with the active Bash terminal

🪟 Split Panes & Tab Groups

  • Split in 4 directions — Up, Down, Left, Right
  • Recursive grid layout — Unlimited nested splits with resizable panels
  • Tab management — Add, close, close all, duplicate, reorder (drag-and-drop), move between groups
  • Drop zone overlay — Drag tabs onto 5 drop zones (up/down/left/right/center)
  • Keyboard shortcutsCtrl+\ split, Ctrl+1-9 focus group, Ctrl+Tab cycle tabs

📁 Dual-Panel File Manager (FileZilla-style)

  • Local + Remote panels — Side-by-side browsing with upload/download buttons
  • Multi-protocol — Works over SSH, SFTP, FTP, and FTPS
  • File operations — Create, rename, delete, copy files and directories
  • Built-in code editor — Open files in an embedded editor with syntax highlighting for common languages
  • Breadcrumb navigation — Editable address bar with click-to-navigate
  • Sort & filter — By name, size, date, permissions, owner (ascending/descending)
  • Multi-select — Select multiple files for batch operations and batch delete
  • Transfer queue — Queued transfers with progress, speed, ETA, cancel, and retry
  • Recursive directory transfer — Upload/download entire directory trees

🔄 Directory Synchronization

  • 4-step sync wizard — Configure → Compare → Review → Sync
  • Sync directions — Local-to-Remote or Remote-to-Local
  • Comparison criteria — Size, modified time, or both
  • Diff preview — Per-item checkboxes with upload/download/delete/skip actions
  • Exclude patterns — Skip .git, node_modules, .DS_Store, etc.

📊 System Monitoring

  • CPU — Real-time usage with color-coded thresholds
  • Memory & Swap — Total, used, free with percentage bars
  • Disk — Per-mount filesystem usage with progress bars
  • Uptime & Load Average — At a glance
  • Process Manager — List processes sorted by CPU/MEM, kill with confirmation
  • Real-time charts — CPU history and memory area charts (Recharts)

🎮 GPU Monitoring

  • NVIDIA (nvidia-smi) — Utilization, memory, temperature, power, fan speed, encoder/decoder
  • AMD — GPU stats support
  • Multi-GPU — GPU selector with individual or "all" view
  • History charts — Utilization, memory, temperature over time
  • Temperature thresholds — Green < 60°C, yellow < 75°C, orange < 85°C, red ≥ 85°C

🌐 Network Monitoring

  • Bandwidth — Per-interface rx/tx bytes per second
  • Latency — Real-time network latency measurements
  • Active connections — Protocol, local/remote address, state, PID
  • Usage charts — Download/upload history

📋 Log Monitoring

  • Multi-source — Log files, journalctl services, Docker containers, custom paths
  • Auto-discovery — Finds available log sources on the remote host
  • Level filtering — ERROR, WARN, INFO, DEBUG, TRACE filter chips
  • Regex search — With match highlighting
  • Live tail — Configurable refresh interval (1s – 30s)
  • Rich formatting — Line numbers, timestamps, and level badges parsed from common log formats
  • Download — Save log content locally

🎨 Appearance & Customization

  • 10 terminal color themes — VS Code Dark, Monokai, Solarized Dark/Light, Dracula, One Dark, Nord, Gruvbox Dark, Tokyo Night, Matrix
  • Dark / Light / Auto — Application theme follows system preference
  • 7 font families — Menlo, JetBrains Mono, Fira Code, Source Code Pro, Consolas, Monaco, Courier New
  • Configurable — Font size, line height, letter spacing, cursor style (block/underline/bar), scrollback (1K–100K lines)
  • Background images — Custom image with opacity, blur, and position controls
  • Terminal transparency — Configurable opacity
  • Config backup — Export and import your full configuration

⌨️ Keyboard Shortcuts

ShortcutAction
Ctrl+BToggle Connection Manager
Ctrl+JToggle File Browser
Ctrl+MToggle Monitor Panel
Ctrl+ZToggle Zen Mode
Ctrl+\Split terminal right
Ctrl+Shift+\Split terminal down
Ctrl+1Ctrl+9Focus terminal group
Ctrl+WClose active tab
Ctrl+Tab / Ctrl+Shift+TabNext / previous tab
Ctrl+A, DDetach session to background (Xshell-style)
Cmd/Ctrl+VPaste into terminal
Cmd/Ctrl+FSearch in terminal
F3 / Shift+F3Find next / previous

Layout shortcuts are registered at the OS level but ignored while terminal input is focused, so terminal-native bindings (e.g. tmux Ctrl+B) still reach the shell.

🔧 Additional Features

  • Quick Commands — Right-sidebar panel for saving and running reusable command snippets
  • VS Code-like layout — Resizable left/right sidebars + bottom panel with 5 layout presets (Default, Minimal, Focus, Full Stack, Zen) and layout persistence
  • Remote Desktop — Built-in RDP and VNC viewer with clipboard sync and dynamic resizing
  • Launch at login — Start R-Shell automatically when you sign in
  • Auto-update — Check for updates with download progress and install-and-relaunch
  • Menu bar — File, Edit, Tools, Connection menus with full keyboard shortcuts
  • Status bar — Active connection name, protocol badge, connection status indicator

📦 Installation

brew tap GOODBOY008/tap
brew install --cask r-shell

Update:

brew upgrade --cask r-shell

📥 Download Releases

Download from the Releases page:

PlatformFile
macOS (Apple Silicon)r-shell_x.x.x_aarch64.dmg
macOS (Intel)r-shell_x.x.x_x64.dmg
Windowsr-shell_x.x.x_x64-setup.exe
Linuxr-shell_x.x.x_amd64.AppImage / .deb

🛠 Tech Stack

Backend

  • Tauri 2 — Native desktop framework using the OS webview (no bundled Chromium)
  • Rust — Zero-cost abstractions, no GC, no JVM — ~34 MB vs ~1.7 GB
  • russh / russh-sftp — Pure Rust SSH & SFTP implementation
  • suppaftp — FTP/FTPS client
  • tokio — Async runtime with minimal overhead
  • tokio-tungstenite — WebSocket server for PTY streaming
  • sysinfo — System stats collection

Frontend

  • React 19 + TypeScript — Type-safe modern React
  • Tailwind CSS — Utility-first styling
  • Radix UI / shadcn/ui — 45+ accessible component primitives
  • xterm.js 6 — Terminal emulation with WebGL, search, web-links, fit, and overlay addons
  • CodeMirror 6 — Embedded code editor with syntax highlighting
  • Recharts — Data visualization for monitoring
  • i18next — Internationalization (English, Simplified Chinese, Polish)
  • Lucide Icons — Icon set

🤝 Contributing

We welcome contributions! This project is an experiment in AI-assisted development.

Quick Links:

How to Contribute

  1. Fork the repo
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit (git commit -m 'feat: add amazing feature')
  4. Push (git push origin feature/amazing-feature)
  5. Open a Pull Request

Areas We Need Help

  • 🐛 Bug fixes and issue reports
  • 📝 Documentation improvements
  • ✨ Feature enhancements
  • 🧪 Test coverage
  • 🌐 Internationalization (i18n)
  • 🎨 UI/UX improvements

📄 License

MIT — see LICENSE.

💬 Community

🙏 Acknowledgments


Made with ❤️ and 🤖 AI

If you like this project, please give it a ⭐!