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
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.
Measured on macOS (Apple Silicon, 16 GB RAM) using footprint:
| App | Technology | Memory | Relative |
|---|---|---|---|
| R-Shell | Rust + Tauri 2 | ~34 MB | 1ร |
| FinalShell | Java | ~1.7 GB | ~50ร |
| Platform | R-Shell | FinalShell | Savings |
|---|---|---|---|
| Windows | 3.99 MB | 64 MB | 16ร smaller |
| macOS | 8.13 MB | 102 MB | 12ร smaller |
No bundled JVM or Chromium โ Tauri uses the OS native webview.
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 and Simplified Chinese, with more languages welcome
| Protocol | Authentication | Description |
|---|---|---|
| SSH | Password, Public Key | Full interactive PTY terminal |
| SFTP | Password, Public Key | Standalone file transfer sessions |
| FTP | Password, Anonymous | Plain FTP file transfers |
| FTPS | Password, Anonymous | FTP over TLS |
| RDP | Password | Remote Desktop Protocol |
| VNC | Password | Virtual 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)
- 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, Dparks 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 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 shortcuts โ
Ctrl+\split,Ctrl+1-9focus group,Ctrl+Tabcycle tabs
- 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
- 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.
- 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)
- 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
- 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
- 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
- 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
| Shortcut | Action |
|---|---|
Ctrl+B |
Toggle Connection Manager |
Ctrl+J |
Toggle File Browser |
Ctrl+M |
Toggle Monitor Panel |
Ctrl+Z |
Toggle Zen Mode |
Ctrl+\ |
Split terminal right |
Ctrl+Shift+\ |
Split terminal down |
Ctrl+1 โ Ctrl+9 |
Focus terminal group |
Ctrl+W |
Close active tab |
Ctrl+Tab / Ctrl+Shift+Tab |
Next / previous tab |
Ctrl+A, D |
Detach session to background (Xshell-style) |
Cmd/Ctrl+V |
Paste into terminal |
Cmd/Ctrl+F |
Search in terminal |
F3 / Shift+F3 |
Find 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.
- 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
brew tap GOODBOY008/tap
brew install --cask r-shellUpdate:
brew upgrade --cask r-shellDownload from the Releases page:
| Platform | File |
|---|---|
| macOS (Apple Silicon) | r-shell_x.x.x_aarch64.dmg |
| macOS (Intel) | r-shell_x.x.x_x64.dmg |
| Windows | r-shell_x.x.x_x64-setup.exe |
| Linux | r-shell_x.x.x_amd64.AppImage / .deb |
- 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
- 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)
- Lucide Icons โ Icon set
We welcome contributions! This project is an experiment in AI-assisted development.
Quick Links:
- Fork the repo
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit (
git commit -m 'feat: add amazing feature') - Push (
git push origin feature/amazing-feature) - Open a Pull Request
- ๐ Bug fixes and issue reports
- ๐ Documentation improvements
- โจ Feature enhancements
- ๐งช Test coverage
- ๐ Internationalization (i18n)
- ๐จ UI/UX improvements
MIT โ see LICENSE.
- shadcn/ui โ UI components
- Figma Make โ Design generation
- Lucide โ Icons
- GitHub Copilot โ AI pair programming
Made with โค๏ธ and ๐ค AI
If you like this project, please give it a โญ!
