Code Monkey home page Code Monkey logo

whme-csshw's Introduction

csshW

Cluster SSH tool for Windows inspired by csshX

csshw demo12

Pre-requisites

  • Default terminal application is set to Windows Console Host in the windows Terminal Startup Settings (Windows 11 only)

Overview

csshW will launch 1 daemon and N client windows (with N being the number of hosts to SSH onto).
Key-strokes performed while having the daemon console focussed will be sent to all clients simoultaneously and be replayed by them.
Focussing a client will cause any key-strokes to be sent to this client only.

Download/Installation

csshW is a portable application and is not installed.
To download the csshW application refer to the Releases ๐Ÿ“ฆ page.

Usage

csshw.exe --help
Cluster SSH tool for Windows inspired by csshX

USAGE:
    csshw.exe [OPTIONS] [HOSTS]... [SUBCOMMAND]

ARGS:
    <HOSTS>...    Hosts to connect to

OPTIONS:
    -h, --help                   Print help information
    -u, --username <USERNAME>    Username used to connect to the hosts
    -V, --version                Print version information

SUBCOMMANDS:
    client
    daemon
    help      Print this message or the help of the given subcommand(s)

Example: csshw.exe -u root hosta.dev hostb.dev hostc.dev

We recommend using the ssh_config for any configurations like default username etc.

Configuration

csshw-config.toml contains all relevant configurations and is located in the same directory as the executable. It is automatically created with default values if not present.

clusters

An array of clusters that can be used to alias a set of host names to a specific tag:

clusters = [
    { name = "dev", hosts = ["hosta.dev", "[email protected]", "hostc.dev"] }
]

Clusters may be nested, but be aware of recursive clusters which are not checked for.

client

A collection containing client relevant configuration

[client]
ssh_config_path = 'C:\Users\demo_user\.ssh\config'
program = 'ssh'
arguments = [
    '-XY',
    '{{USERNAME_AT_HOST}}',
]
username_host_placeholder = '{{USERNAME_AT_HOST}}'
ssh_config_path

The full qualified path where your ssh configuration can be found.

program

Which executable will be used to establish ssh connections.

arguments

Additional arguments specified to the chosen program.

username_host_placeholder

Placeholder string that indicates where the username@host string should be inserted in the program arguments.

daemon

A collection containing daemon relevant configuration

[daemon]
height = 200
aspect_ratio_adjustement = -1.0
console_color = 207
height

The height of the daemon console.

aspect_ratio_adjustment

Configures whether the available screen space should rather be used horizontally or vertically.

console_color

Configures background and foreground colors used by the daemon console. Available are all standard windows color combinations (windows docs):

FOREGROUND_BLUE:        1
FOREGROUND_GREEN:       2
FOREGROUND_RED:         4
FOREGROUND_INTENSITY:   8
BACKGROUND_BLUE:        16
BACKGROUND_GREEN:       32
BACKGROUND_RED:         64
BACKGROUND_INTENSITY:   128

e.g. white font on red background: 8+4+2+1+64+128 = 207

Contributing

csshW uses pre-commit githooks to enforce good code style.
Install them via git config --local core.hooksPath .githooks/.

Footnotes

  1. The searchbar used to launch csshw in the demo clip is keypirinha. โ†ฉ

  2. The tool to show key presses in the demo clip is carnac the magnificent. โ†ฉ

whme-csshw's People

Contributors

whme avatar timoschwarzer avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.