A simple web-based SSH client.

Overview

Kommander

A simple web-based SSH client. It supports:

  • entering SSH login details (including private key and custom ports) and connecting
  • user authentication (and 2FA!)
  • saving configurations to access them from anywhere

Install

Simply clone the repository:

git clone https://github.com/KingWaffleIII/kommander.git

Kommander depends on Python v3.10!

Configuration

Nginx

Kommander is reliant on Nginx so you must setup a configuration file or edit an existing one to server Kommander. Use the following as a template:

server {
	root /usr/share/nginx/html;
    server_name _;

    listen [::]:80;
    listen 80;

    # /STATIC IS NECESSARY

	location /static {
		expires -1;
		alias /usr/share/nginx/html/static;
	}

    # /SOCKET.IO IS NECESSARY

	location /socket.io {
        # choose whatever port you need - run.sh needs to run on the same port

		proxy_pass http://localhost:9000;
	}

	location / {
        # choose whatever port you need - run.sh needs to run on the same port

		proxy_pass http://localhost:8000;
	}
}

kommander/settings.py

You must fill out the CSRF_TRUSTED_ORIGINS list in kommander/settings.py with your domain(s). An example of this is commented out in the same file.

SMTP

Django has support for password reset emails. To use this feature, you must fill in the details of an email account in kommander/email_config.json. Additionally, you must also change init_sites.py and replace kommander.planetwaffle.net with your own production domain and dev.planetwaffle.net with your own development domain. These can be http://localhost.

Superuser Account

You must also change the environment variables in run.sh for python3.10 manage.py createsuperuser --no-input to your preference to set the Django administrator account. You need to supply an email and a password.

Usage

Simply run the run.sh bash script. It takes the following parameters:

-i: installs dependencies from the package-lock.json and requirements.txt.
It accepts yes or no.

-m: whether or not to enable developer mode. This will set kommander.settings.DEBUG to True, which is not appropriate for production, as well as define which site to use in init_sites.py. Anything that isn't dev will be assumed to run in production mode.

-p: the port that the Django server should run on.

-a: the port that the SSH gateway server should run on.

-s: whether or not to enable silent mode. This will disable all requests for input. Anything that isn't yes will be treated as no.

Menshen

Menshen is the underlying server that powers Kommander. It is the service that acts as a gateway (hence the name 'Menshen', after the Chinese divine guardians of doors and gates) between the user and the remote server.

Contributing

Contributions are welcome! If you find any issues, improvements or would like a feature added, feel free to submit an issue or a pull request. Please keep in mind, however, that Kommander is a simple web-based SSH client. I feel that v1.0.0 successfully meets all the criteria for a simple SSH client and therefore, am unlikely to add any new features. I will be happy to review any pull requests though.

License

Kommander and Menshen fall under the MIT license.

Owner
KingWaffleIII
o7 | 3rd King of Planet Waffle | Programmer ([Python/JS] web developer) | Never Beaten Minecraft in Survival | Weeb | AKA waffle.exe
KingWaffleIII
A simple automation script that logs into your kra account and files your taxes with one command

EASY_TAX A simple automation script that logs into your kra account and files your taxes with one command Currently works for Chrome users. Will creat

leon koech 13 Sep 23, 2021
Yts-cli-streamer - A CLI movie streaming client which works on yts.mx API written in python

YTSP It is a CLI movie streaming client which works on yts.mx API written in pyt

1 Feb 05, 2022
This CLI give the possibility to do a queries in Star Wars API and returns a JSON in a terminal.

Star Wars CLI (swcli) This CLI give the possibility to do a queries in Star Wars API and returns a JSON in a terminal. Install $ pip install swcli Qu

Pery Lemke 5 Nov 05, 2021
Command line tool for monitoring changes of File entities scoped in a Synapse File View

Synapse Monitoring Provides tools for monitoring and keeping track of File entity changes in Synapse with the use of File Views. Learn more about File

Sage Bionetworks 3 May 28, 2022
AutoSub is a CLI application to generate subtitle files (.srt, .vtt, and .txt transcript) for any video file using Mozilla DeepSpeech.

AutoSub About Motivation Installation Docker How-to example How it works TO-DO Contributing References About AutoSub is a CLI application to generate

Abhiroop Talasila 414 Jan 06, 2023
A command line tool to hide and reveal information inside images (works for both PNGs and JPGs)

ImgReRite A command line tool to hide and reveal information inside images (work

Jigyasu 10 Jul 27, 2022
Borderless-Window-Utility - Modifies window style to force most applications into a borderless windowed mode

Borderless-Window-Utility Modifies window style to force most applications into

8 Oct 22, 2022
Colab-xterm allows you to open a terminal in a cell

colab-xterm Colab-xterm allows you to open a terminal in a cell. Usage Install package and load the extension !pip install git+https://github.com/popc

InfuseAI 194 Dec 29, 2022
A mini command line tool to spellcheck text files using tadqeek.alsharekh.org

tadqeek_sakhr A mini command line tool to spellcheck text files using tadqeek.alsharekh.org Usage usage: python tadqeek_sakhr.py [-h] -i INPUT [-o OUT

Youssif Shaaban Alsager 5 Dec 11, 2022
💻VIEN is a command-line tool for managing Python Virtual Environments.

vien VIEN is a command-line tool for managing Python Virtual Environments. It provides one-line shortcuts for: creating and deleting environments runn

Artёm IG 5 Mar 19, 2022
Patool is a portable command line archive file manager

Patool Patool is an archive file manager. Various archive formats can be created, extracted, tested, listed, searched, repacked and compared with pato

318 Jan 04, 2023
A begginer reverse shell tool python.

A begginer reverse shell tool python. Este programa é para apenas estudo e conhecimento. Não use isso em outra pessoas. Não me responsabilizo por uso

Dio brando 2 Jan 05, 2022
commandline version of wordle game and my auto solver.

Wordle Machine (and Wordle Game) (in commandline) My implementation of the Wordle game (inspired by https://www.powerlanguage.co.uk/wordle/) and my in

Kevin Xu 11 Jan 03, 2023
ghfetch is ai customizable CLI GitHub personal README generator.

ghfetch is ai customizable CLI GitHub personal README generator. Inspired by famous fetch such as screenfetch, neofetch and ufetch, the purpose of this tool is to introduce yourself as if you were a

Alessio Celentano 3 Sep 10, 2021
A simple python script to execute a command when a YubiKey is disconnected

YubiKeyExecute A python script to execute a command when a YubiKey / YubiKeys are disconnected. ‏‏‎ ‎ How to use: 1. Download the latest release and d

6 Mar 12, 2022
Urial (URI Addition tooL) intelligently updates URIs stored in Finder comments of macOS files

Urial Urial (URI addition tool) is a simple but intelligent command-line tool to add or replace URIs found inside macOS Finder comments. Table of cont

Mike Hucka 3 Sep 14, 2022
A simple web-based SSH client.

Kommander A simple web-based SSH client. It supports: entering SSH login details (including private key and custom ports) and connecting user authenti

KingWaffleIII 2 Jan 01, 2022
Simple CLI tool to track your cryptocurrency portfolio in real time.

Simple tool to track your crypto portfolio in realtime. It can be used to track any coin on the BNB network, even obscure coins that are not listed or trackable by major portfolio tracking applicatio

Trevor White 69 Oct 24, 2022
A handy command-line utility for generating and sending iCalendar events

A handy command-line utility for generating and sending iCalendar events This simple command-line utility is designed to generate an iCalendar event,

Baochun Li 17 Nov 21, 2022
Command Line Based Todo Script

Todo-CLI Features Full-Fledged Command Line Based Todo List with the following features planned: Interactive Interface OS Notifications Save and Remov

DSC IIEST 5 Nov 17, 2021