A solution to expose command-line tools through web-based console, through docker.
Project description
Websole
Websole is a web-based console for you to expose command-line tools to a web server.
Features
- Protect your terminal with a login password.
- Customizable logos, links, and icons.
- Simple to use as a base docker image in other projects.
Screenshot
Install
You can expose any program (for example, bash) by running:
docker run -p 80:1818 --rm -it jackzzs/websole:main bash
This will expose a terminal running bash on port 80.
Use in other projects
You can use websole as a base docker image, to expose your program.
See the example directory for examples.
Commandline options
Usage: websole [OPTIONS] COMMAND
--host Host for web console to listen on (default: 127.0.0.1).
--port Port for web console to listen on (default: 1818).
--webpass Password for logging into the web console (default: <no password>).
--brand Brand to be shown in web console header (default: Web Console).
--icon Add an icon to be shown in web console footer (format: <icon>:<url>).
--link Add a link to be shown in web console footer (format: <label>:<url>).
--config Location of the config file (default: websole.yml).
--start/--no-start Whether to start the program immediately, rather than on first connection. (default: False)
--version Print version and exit.
--help Show help message and exit.
NOTE: If COMMAND contains spaces, you need to enclose it in quotes.
Configuration file
Default config:
# Program to be exposed to web console.
command: bash
# Host for web console to listen on.
host: 0.0.0.0
# Port for web console to listen on.
port: 1818
# Brand to be shown in web console header.
brand: Your Program
# Link to be shown in web console footer.
links:
- label: Github
url: https://github.com/jackzzs/websole
- label: Example
url: https://websole.onrender.com
# Icons to be shown in web console footer.
# icon names can be found from https://icons.getbootstrap.com/
icons:
- icon: bi-github
url: https://github.com/jackzzs/websole
- icon: bi-fire
url: https://websole.onrender.com
# Password for logging into the web console.
webpass: 123456
# Whether to start the program immediately, rather than on first connection.
start: yes
# URL for "What is web console password?" link on the login page.
what_is_webpass_url: https://github.com/jackzzs/websole
# Allow users to restart the program through the refresh button in the upper right corner of the console.
allow_restart: yes
# By default, allow users to use Ctrl+C/V to copy/paste (but prevent the shortcut key from reaching the program).
use_shortcut: no
# Hide the switch for "use Ctrl+C/V to copy/paste".
hide_use_shortcut_switch: no
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file websole-1.0.1.tar.gz.
File metadata
- Download URL: websole-1.0.1.tar.gz
- Upload date:
- Size: 74.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
06fdb2b91ba81326fa46288fcd2bff927fe0b48f339ceed7095f19e17306822b
|
|
| MD5 |
420b1ad7319f0400ab303bda3c3ee05c
|
|
| BLAKE2b-256 |
7afe97d68e448fafb8110cadadfcca0d91b0d9f6da6a6915818a3e45b8e3cea3
|
File details
Details for the file websole-1.0.1-py3-none-any.whl.
File metadata
- Download URL: websole-1.0.1-py3-none-any.whl
- Upload date:
- Size: 76.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
857dda3b2a9afd2249c77c750b01550b79e38f85efdd72f625c19aaf3ac3360b
|
|
| MD5 |
3753953b84fbf851e7da0943287f2c80
|
|
| BLAKE2b-256 |
5c4fb372389c8d8a769bcf054d46cdc9163b40dc66a08a3da526308de353f596
|