A powerful and versatile Flutter-based SSH Client and Server application for Mobile and Desktop.
- Connect to any remote SSH server using passwords or private keys.
- Full Terminal Emulator: Built-in
xtermterminal with full color and interactive support. - Session Persistence: Keep your connections alive in the background.
- Control Panel: Quick access buttons for Ctrl, Alt, Arrow keys, and more.
- Host a local SSH server directly on your device.
- Provide secure remote access to your device's shell (CMD on Windows, SH/Bash on Unix-like systems).
- Configurable port and authentication.
- Generate and manage SSH key pairs (RSA, ED25519, etc.).
- Securely store and use private keys for passwordless authentication.
- Save frequently used connection settings as profiles.
- Quick connect with a single tap.
- Organize your remote servers efficiently.
- Custom Shortcut Bar: Add your own frequently used commands or keys to a scrollable bar.
- Global Hotkeys: Use
Ctrl+N(New Connection),Ctrl+P(Profiles),Ctrl+K(Keys), andCtrl+D(Discovery). - Snippet Manager: Store and inject command fragments into your active terminal sessions.
- Scan your local network to find other devices and services.
- Quickly identify available SSH targets.
- Theme Engine: Support for Light, Dark, and System modes.
- Accent Colors: Choose your favorite color theme.
- Terminal Styling: Configurable font sizes and styles.
- Flutter: Cross-platform UI framework.
- dartssh2: Pure Dart implementation of the SSH2 protocol.
- xterm: Robust terminal emulator widget.
- flutter_pty: Pseudo-terminal support for local shell processes.
- Provider: Clean and reactive state management.
- Network Info Plus: For IP and network state detection.
- Flutter SDK (>= 3.2.0)
- Dart SDK
-
Clone the repository:
git clone https://github.com/involvex/pocketshell.git cd pocketshell -
Install dependencies:
flutter pub get
-
Run the application:
flutter run
- Android:
flutter build apk - iOS:
flutter build ios - Windows:
flutter build windows - macOS:
flutter build macos - Linux:
flutter build linux
lib/models/: Data structures for Profiles, Keys, Shortcuts, and Snippets.lib/providers/: State management for SSH, Settings, and Snippets.lib/services/: Core logic for configuration, key generation, and network discovery.lib/screens/: Top-level UI pages and tabs.lib/widgets/: Reusable UI components and modal dialogs.
This project is licensed under the MIT License - see the LICENSE file for details.