Skip to content
/ PulseSSH Public
forked from PulseSSH/PulseSSH

PulseSSH is a fast and lightweight SSH and SFTP client built with Python and GTK4. It provides remote access, file transfer, and session management through a clean and efficient GUI. When graphical dependencies are unavailable, PulseSSH falls back to an ncurses interface offering limited functionality directly within the terminal.

License

Notifications You must be signed in to change notification settings

syco/PulseSSH

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PulseSSH

pulse_ssh

PulseSSH is a modern terminal manager designed for productivity and ease of use. Manage multiple SSH, MOSH, SFTP, and FTP sessions, organize connections into folders, configure clusters, and customize your workspace with a beautiful UI and advanced automation options.

image

Fig. 1: Dashboard with foldered connections and split terminals.

Key Features

Advanced Terminal Management

  • Multi-Panel & Tabbed Layouts: Organize terminals in split-pane (vertical/horizontal) or tabbed layouts. Easily switch between views to manage multiple sessions efficiently.
  • Smart Splitting: Intelligently split terminals from the root or the currently active panel.
  • Local & Remote Terminals: Seamlessly launch local shell sessions, remote SSH and MOSH connections, and FTP/SFTP file transfers.
  • Customizable Shell: Define a default shell or specify one per connection.

Powerful Connection & Session Management

  • Organize with Folders: Group connections into folders and sub-folders for a clean and structured workspace.
  • Detailed Connection Profiles: Save SSH, MOSH, FTP, SFTP, and local connections with comprehensive settings:
    • Credentials: Store usernames, passwords, and identity file paths.
    • Sudo: Configure automatic sudo password entry for privileged commands.
    • Custom Options: Set connection timeouts, keep-alive intervals, and more.
  • Search & Filter: Quickly find connections in the sidebar using the built-in search functionality.

Clusters for Bulk Operations

  • Batch Sessions: Group multiple connections into a "Cluster" to launch them all at once.
  • Flexible Launch: Open cluster connections in separate tabs or a tiled split-pane layout.
  • Easy Selection: Filter and select which connections from your list to include in a cluster.

Automation with Scripts & Hooks

  • Connection Hooks: Automate tasks by running custom scripts at different stages:
    • Pre/Post-Connect (Local): Execute commands on your local machine before connecting or after disconnecting.
    • Pre/Post-Connect (Remote): Run commands on the remote server immediately after login or before logout.
  • Manual Scripts: Store and run frequently used scripts or command batches on demand.
  • Remote Scripting: Define scripts that can be executed on the remote machine during a session.

Deep Customization

  • Appearance: Tailor the look and feel of your terminal:
    • Themes: Switch between light and dark themes.
    • Fonts & Colors: Customize the terminal font, size, and color scheme.
    • Cursor Style: Choose from block, underline, or bar cursor shapes.
  • Behaviors: Fine-tune application behavior, such as default split direction, shell selection, and startup settings.
  • Global Settings:
    • Binaries: Define paths to global binaries for use in scripts.
    • Environment Variables: Set global environment variables available to all sessions.
    • Keyboard Shortcuts: Configure custom keybindings for common actions.

Security

  • Secure Credential Storage: Store identity files and manage passphrases securely.
  • Password Protection: Supports password-based logins for SSH connections.
  • Visibility Toggle: Hide or show sensitive credentials like passwords and passphrases in the configuration UI.

User Experience

  • Collapsible Sidebar: Maximize your terminal workspace with a collapsible sidebar.

  • Intuitive Dialogs: Easily manage connections, clusters, and settings through clean and organized dialogs.

  • SFTP Integration: Quickly open an SFTP session for the active terminal to transfer files.

  • FTP Integration: Quickly open an FTP session for the active terminal to transfer files.

  • Command Palette: Access commands and actions quickly with a searchable command palette.

  • Cross-Platform

    • Enjoy a consistent and native experience on Windows, macOS, and Linux.

Screenshots

Main Terminal Dashboard

image

Organize connections in the sidebar and manage multiple sessions with split layouts and tabs.

Connection Configuration

image

Configure connections with detailed settings for authentication, automation scripts, and sudo.

Cluster Configuration

image

Group connections into a cluster for batch operations, with options for tabbed or split-pane launch.

Application Settings

image

Customize appearance, behaviors, shortcuts, and more in the global Settings panel.

About PulseSSH

image

See version information and visit the project website from the About dialog.

About

PulseSSH is a fast and lightweight SSH and SFTP client built with Python and GTK4. It provides remote access, file transfer, and session management through a clean and efficient GUI. When graphical dependencies are unavailable, PulseSSH falls back to an ncurses interface offering limited functionality directly within the terminal.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%