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 super simple terminal command shortener 🐟

pcmd A super simple terminal command shortener 🐟 Source code : https://github.com/j0fiN/pcmd Documentation : https://j0fin.github.io/pcmd About Durin

9 Mar 02, 2022
Linux commands Interpreter for Windows and Mac based systems using Python

DBHTermEcIbP Linux commands Interpreter for Windows and Mac based systems using Python Basic Linux commands supported viewing current working director

Vraj Patel 1 Dec 26, 2021
Program Command Line Interface (CLI) Sederhana: Pemesanan Nasi Goreng Hekel

Program ini merupakan aplikasi yang berjalan di dalam command line (terminal). Program ini menggunakan built-in library python yaitu argparse yang dapat menerima parameter saat program ini dijalankan

Habib Abdurrasyid 5 Nov 19, 2021
texel - Command line interface for reading spreadsheets inside terminal

texel - Command line interface for reading spreadsheets inside terminal. Sometimes, you have to deal with spreadsheets. Those are sad times. Fortunate

128 Dec 19, 2022
CLTools provides various tools and command to use in the terminal.

CLTools provides various tools and command to use in the terminal. As of date, CLTools is only able to generate temporary email addresses and receive emails. There are plans to integrate more tools a

Ashwin Chugh 2 Feb 14, 2022
Basic python tools to generate shellcode runner in vba

vba_bin_runner Basic python tools to generate shellcode runner in vba. The stub use ZwAllocateVirtualMemory to allocate memory, RtlMoveMemory to write

4 Aug 24, 2021
Features terminal for python

Features Terminal V1.0 (23/10/2021) Um programa para linux com diferentes ferramentas! Recursos: Criador de QR code Gerador de senhas Teste de velocid

1 Oct 26, 2021
lfb (light file browser) is a terminal file browser

lfb (light file browser) is a terminal file browser. The whole program is a mess as of now. In the feature I will remove the need for external dependencies, tidy up the code, make an actual readme, a

2 Apr 09, 2022
spid-sp-test is a SAML2 SPID/CIE Service Provider validation tool that can be executed from the command line.

spid-sp-test spid-sp-test is a SAML2 SPID/CIE Service Provider validation tool that can be executed from the command line. This tool was born by separ

Developers Italia 30 Nov 08, 2022
🔖 Lemnos: A simple, light-weight command-line to-do list manager.

🔖 Lemnos: CLI To-do List Manager This is a simple program that allows one to manage a to-do list via the command-line. Example $ python3 todo.py add

Rohan Sikand 1 Dec 07, 2022
Salesforce object access auditor

Salesforce object access auditor Released as open source by NCC Group Plc - https://www.nccgroup.com/ Developed by Jerome Smith @exploresecurity (with

NCC Group Plc 90 Sep 19, 2022
An question and answer shell environment based on xonsh using ansible for setup

An question and answer shell environment based on xonsh using ansible for setup

Steven Hollingsworth 2 Jan 11, 2022
MasterDuel Image Recognition Translation Command Line Tool

MasterDuelTranslate(Use Ygo Card DataBase,belong win32 window shot & image match)

PatchouliTC 77 Dec 01, 2022
Convert ACSM files to DRM-free EPUB files with one command on Linux

Knock Convert ACSM files to DRM-free EPUB files using one command. This software does not utilize Adobe Digital Editions nor Wine. It is completely fr

Benton Edmondson 622 Dec 09, 2022
OneDriveExplorer - A command line and GUI based application for reconstructing the folder structure of OneDrive from the UserCid.dat file

OneDriveExplorer - A command line and GUI based application for reconstructing the folder structure of OneDrive from the UserCid.dat file

Brian Maloney 100 Dec 13, 2022
AWS Interactive CLI - Allows you to execute a complex AWS commands by chaining one or more other AWS CLI dependency

AWS Interactive CLI - Allows you to execute a complex AWS commands by chaining one or more other AWS CLI dependency

Rafael Torres 2 Dec 10, 2021
A simple CLI based any Download Tool, that find files and let you stream or download thorugh WebTorrent CLI or Aria or any command tool

Privateer A simple CLI based any Download Tool, that find files and let you stream or download thorugh WebTorrent CLI or Aria or any command tool How

Shreyash Chavan 2 Apr 04, 2022
Command-line tool for looking up colors and palettes.

Colorpedia Colorpedia is a command-line tool for looking up colors, shades and palettes. Supported color models: HEX, RGB, HSL, HSV, CMYK. Requirement

Joohwan Oh 282 Dec 27, 2022
This is an app for creating your own color scheme for Termux!

Termux Terminal Theme Creator [WIP] If you need help on how to use the program, you can either create a GitHub issue or join this temporary Discord se

asxlvm 3 Dec 31, 2022
Access hacksec.in from your command-line

Access hacksec.in from your command-line

hacksec.in 3 Oct 26, 2022