Skip to content
/ gshell Public

GShell is a lightweight, feature-rich SSH terminal client built with Qt framework. It provides a modern user interface for connecting to remote servers via SSH, with full support for ANSI color codes, terminal control sequences, and command history.

Notifications You must be signed in to change notification settings

orz-ai/gshell

Repository files navigation

GShell - Qt SSH/FTP Terminal Client

Build Windows

Screenshots

Main Interface SFTP File Browser
Main Interface SFTP Browser
SSH Terminal with session management Standalone SFTP window for file operations
Settings Dialog Session Manager
Settings Session Manager
Comprehensive settings with 5 categories Session profiles management

Terminal Features Terminal with VT100 emulation, color support, and text selection

GShell is a lightweight, feature-rich SSH terminal client built with Qt framework. It provides a modern user interface for connecting to remote servers via SSH, with full support for ANSI color codes, VT100/xterm terminal emulation, and integrated SFTP file browser.

Features

Terminal

  • Secure SSH Connections: Connect to remote servers using password or key-based authentication
  • VT100/xterm Emulation: Full terminal emulation supporting complex applications (vim, htop, top, etc.)
  • ANSI Color Support: Rich 256-color support for syntax highlighting and colorized output
  • Text Selection: Mouse-based text selection with right-click context menu (Copy/Paste)
  • Customizable Appearance: Personalize fonts, colors, cursor style, and transparency

Session Management

  • Session Profiles: Save and manage multiple SSH connection profiles
  • Quick Access: Sessions panel with right-click menu for quick operations
  • Session Tree: Organized tree view for easy navigation

SFTP File Browser

  • Standalone SFTP Window: XShell-style separate SFTP window (like Xftp)
  • File Operations: Upload, download, rename, delete files and directories
  • Drag & Drop: Easy file transfer with drag and drop support

Settings

  • Appearance: Font family/size, colors (background, foreground, cursor), cursor style, window opacity
  • Terminal: Terminal type, character encoding, scrollback lines, bell settings
  • Connection: Keep-alive, connection timeout, auto-reconnect
  • Keyboard: Key mappings (Backspace, Alt, Meta)
  • Window: Confirm on close, status bar, remember window size

System Requirements

  • Qt 5.15.2 or higher
  • C++11 compliant compiler
  • libssh2, OpenSSL, zlib
  • Supported platforms:
    • Windows 10/11 (MSVC 2019)
    • macOS 10.14 or newer
    • Linux (major distributions)

Installation

Windows

Download the latest release from Releases page.

Building from Source

Prerequisites

  • Qt 5.15.2+ development environment
  • C++ compiler (MSVC 2019 on Windows, GCC/Clang on Linux/macOS)
  • vcpkg (for Windows dependency management)

Windows Build

# Install dependencies via vcpkg
vcpkg install libssh2:x64-windows openssl:x64-windows zlib:x64-windows

# Clone the repository
git clone https://github.com/orz-ai/gshell.git
cd gshell

# Build with Qt Creator
# Open gshell.pro and build

# Or using command line
qmake gshell.pro
nmake

Linux Build

# Install dependencies (Ubuntu/Debian)
sudo apt install qt5-default libssh2-1-dev libssl-dev zlib1g-dev

# Clone and build
git clone https://github.com/orz-ai/gshell.git
cd gshell
qmake gshell.pro
make

Dependencies

  • Qt 5.15.2 - Cross-platform UI framework
  • libssh2 - SSH2 protocol library
  • OpenSSL - TLS/SSL and crypto library
  • zlib - Compression library

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

GShell is a lightweight, feature-rich SSH terminal client built with Qt framework. It provides a modern user interface for connecting to remote servers via SSH, with full support for ANSI color codes, terminal control sequences, and command history.

Resources

Stars

Watchers

Forks

Packages

No packages published