cased-cli

command module
v0.0.0-...-85367c3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 21, 2023 License: Apache-2.0 Imports: 1 Imported by: 0

README

Cased CLI

About

cased-cli is an open source SSH client that brings the power of Cased to everyone's local terminal.

Table of contents

Installation

Linux, MacOS and WSL systems

cased-cli can be installed using the go tool, but since cased-cli is currently in a GitHub private repository, the following steps are required to get it properly installed:

Example ~/.netrc file:

$ nano ~/.netrc
machine github.com
login your_github_username
password your_github_access_token

The login value should be your GitHub username.

The password value should be the GitHub personal access token you created.

Finally, run the following command to get cased-cli installed on your local machine: GOPRIVATE=github.com/cased/cased-cli go install github.com/cased/cased-cli@latest

Manually cloning and building the project
  1. Clone cased-cli repository:
    • git clone https://github.com/cased/cased-cli
  2. Build the program:
    • cd cased-cli
    • go build
Working on cased-cli using GitHub codespaces

To get cased-cli installed in a codespace enviroment, just run the following command: GOPRIVATE=github.com go install github.com/cased/cased-cli@latest

Usage

  • Run $ cased-cli auth instance.domain, where instance.domain is the domain name where cased-shell was installed and running. Following is a sample authentication using an cased-shell instance running in a GitHub codespaces used only demonstration purposes.

Sample authentication using cased-shell running on a GitHub codespaces

  • A web browser should popup asking the user to fill in login credentials:

Login Credentials

  • If authentication is successful, a message will be displayed in the web browser, the user can close the web-browser/tab and back to the terminal:

Login OK

  • After a successfull authentication, cased-cli displays a list of available prompts in the terminal. Following is a list from this demo setup:

Login OK

  • Users can navigate the list using up/down arrow key.
  • A '/' key triggers the search, which allows users to filter prompts by name/description.
  • Pressing 'q' will exit the program.
  • Finally, pressing <ENTER> will connect to the currently selected prompt in the list:

    Connecting to a prompt

  • When connected to a prompt, the user can interact with it as usual, running exit command should get the user back to the prompts screen.
  • Pressing '/' during a SSH session will trigger the snippets screen
  • If the web browser fails to open, users will be provided with a unique URL where they can try to authenticate manually.

Local Development

  • cased-cli currently supports the following enviroment variables to allow for local development/testing:
Variable Format Description
CASED_SERVER host:port Specify the network address where cased-server is listening. Default port is 6565.
CASED_SERVER_API https://host:port Specify the address where cased-server API is listening. Default is https://IP:6566.
TLS_SKIP_VERIFY true|false When developing locally, a self-signed TLS certificate is used, to allow cased-cli to work set TLS_SKIP_VERIFY=true
  • Example (on Linux/Bash), assuming cased-server is running on the same machine as cased-cli:
$ export CASED_SERVER=localhost:6565
$ export CASED_SERVER_API=https://localhost:6566
$ export TLS_SKIP_VERIFY=true
$ ./cased-cli auth <domain>
Snippets
  • Type / during a SSH session (it must be the first character in the command line)
  • A screen similar to the one bellow should be displayed (if snippets are available):

    Snippets Menu

  • The snippets are organized in categories, each category has its own tab.
  • To navigate between snippet categories use the left and right arrows in the keyboard.
  • To search for a snippet press the '/' key, pressing <ESC> will get back to the previous screen.
  • Pressing 'q' will exit the snippets screen and get user back to the shell.
  • Press UP/Down keys to navigate between snippets in the current selected tab/category.
  • Press <ENTER> to select a snippet, in the next screen the user can edit the snippet arguments, press <ENTER> again to submit, or use the [Submit] button. Press <ESC> to get back to the previous menu.

Contributing / Reporting issues

Creating a release
git tag -a v0.0.1
git push origin v0.0.1

License

Apache License, Version 2.0

About Cased

More information is available at www.cased.com.

Documentation

Overview

Copyright © 2021 NAME HERE <EMAIL ADDRESS>

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL