Skip to content

Latest commit

ย 

History

270 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

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:

App Technology Memory Relative
R-Shell Rust + Tauri 2 ~34 MB 1ร—
FinalShell Java ~1.7 GB ~50ร—

Installer Size

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.


๐ŸŽฏ 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 and Simplified Chinese, with more languages welcome

โœจ Features

๐Ÿ”Œ Multi-Protocol Connections

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)

๐Ÿ’ป 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 shortcuts โ€” Ctrl+\ 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

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.

๐Ÿ”ง 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

๐Ÿบ Homebrew (macOS โ€” Recommended)

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

Update:

brew upgrade --cask r-shell

๐Ÿ“ฅ Download Releases

Download 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

๐Ÿ›  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)
  • 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 โญ!

About

๐Ÿš€ Lightweight open-source SSH/SFTP/FTP client built with Rust & Tauri 2. Only ~34 MB memory. Installer under 10 MB . Split terminals, SFTP, GPU monitoring. macOS/Windows/Linux.

Topics

Resources

Code of conduct

Contributing

Stars

134 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages