Skip to main content

Interactive embedded web terminal

Project description

IEWT(Interactive Embedded Web Terminal)

iewt uses SSH to connect to a remote machine running a Linux OS. It then produces an interactive terminal session upon which the user can execute any command. iewt records the return code as well as the execution time of the entered commands. All these functionalities are available to the user through a web interface. Hence it provides:

  • The ability to connect to any remote machine.

  • A terminal on a web browser where the user can directly execute commands.

  • A simple input field to enter commands which are executed on the terminal upon a button click.

  • An automatically executed command is monitored for its status(success or failure) and completion time. Hence the user can easily analyze the command.

  • Suppose there is an event that reloads the webpage. Web terminals and the commands that run in them are usually lost. iewt is not exception. The terminal is lost. However if the commands do not pause for some reason(eg. user input) and are bound to terminate without user intervention(for eg.,ping command doesnt terminate until user presses Ctrl+C), then iewt waits for them to complete, records them and displays the results to the user. This has been made possible using MySQL to record the commands and WebSockets to query the database for results until they are found.

  • Prevents user from sending commands for execution when there already is a command executing in the terminal.

  • Logging is performed on the browser console and on the server side. Also all the sessions are recorded in a log file(log.txt).

Installation:

  • Run pip install iewt to install iewt package.

  • For enabling the feature related to command execution during event reload, install and run MySQL with username root and no password. To setup the database with the table, use the database script setup.sql provided in the GitHub repo of this project(https://github.com/TXH2020/iewt).

  • To test the application you need to have 1. A computer/VM with a Linux OS. 2. SSH server running on the computer/VM. 3. Network access to the SSH server.

  • Once all the above steps are performed, run the command iewt. Open a browser and goto localhost:8888

  • Enter the SSH credentials in the form at the bottom of the screen. The terminal will appear soon after. To automatically execute commands, type the commands in the input field and click on the send command button. The command is executed in the terminal and after its completion its time and id will appear in the readonly input fields below the command status button. The command status turns green on success and red on failure.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iewt-1.0.0.tar.gz (165.4 kB view details)

Uploaded Source

Built Distribution

iewt-1.0.0-py2.py3-none-any.whl (168.2 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file iewt-1.0.0.tar.gz.

File metadata

  • Download URL: iewt-1.0.0.tar.gz
  • Upload date:
  • Size: 165.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for iewt-1.0.0.tar.gz
Algorithm Hash digest
SHA256 1c20fa734b22745b271ba0f87c141a12f94aca9ea83a0e55ca1b8f3c5924396f
MD5 d85d4d07feeb8b43953a016fefb5b747
BLAKE2b-256 1ca95addf87e78348157006a0ffd2c04d5c43aa578cc7ea30a7d7e28ac6030f1

See more details on using hashes here.

File details

Details for the file iewt-1.0.0-py2.py3-none-any.whl.

File metadata

  • Download URL: iewt-1.0.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 168.2 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for iewt-1.0.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 0b57954f61bd6cea9ad3e0f395944df6305ffb32d65a09f6e6474d6bf16814a7
MD5 46829559675c9b64df676c5a2d5b7912
BLAKE2b-256 a0f319ce5a682b55703b96d6856ece5b95449048874500bcedd63cb83d1e8eaf

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page