websole


Namewebsole JSON
Version 1.0.1 PyPI version JSON
download
home_pageNone
SummaryA solution to expose command-line tools through web-based console, through docker.
upload_time2024-06-02 17:01:49
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseNone
keywords cli web web console
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Websole

Websole is a web-based console for you to expose command-line tools to a web server.

## Features

1. Protect your terminal with a login password.
2. Customizable logos, links, and icons.
3. Simple to use as a base docker image in other projects.

## Screenshot

![](https://github.com/jackzzs/websole/raw/main/images/example_console.png)

![](https://github.com/jackzzs/websole/raw/main/images/example_login.png)

## Install

You can expose any program (for example, `bash`) by running:

```bash
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:
```yaml
# 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
```

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "websole",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "cli, web, web console",
    "author": null,
    "author_email": "jackzzs <jackzzs@outlook.com>",
    "download_url": "https://files.pythonhosted.org/packages/7a/fe/97d68e448fafb8110cadadfcca0d91b0d9f6da6a6915818a3e45b8e3cea3/websole-1.0.1.tar.gz",
    "platform": null,
    "description": "# Websole\n\nWebsole is a web-based console for you to expose command-line tools to a web server.\n\n## Features\n\n1. Protect your terminal with a login password.\n2. Customizable logos, links, and icons.\n3. Simple to use as a base docker image in other projects.\n\n## Screenshot\n\n![](https://github.com/jackzzs/websole/raw/main/images/example_console.png)\n\n![](https://github.com/jackzzs/websole/raw/main/images/example_login.png)\n\n## Install\n\nYou can expose any program (for example, `bash`) by running:\n\n```bash\ndocker run -p 80:1818 --rm -it jackzzs/websole:main bash\n```\n\nThis will expose a terminal running `bash` on port 80.\n\n# Use in other projects\n\nYou can use websole as a base docker image, to expose your program.\n\nSee the `example` directory for examples.\n\n# Commandline options\n\n```\nUsage: websole [OPTIONS] COMMAND\n\n    --host              Host for web console to listen on (default: 127.0.0.1).\n    --port              Port for web console to listen on (default: 1818).\n    --webpass           Password for logging into the web console (default: <no password>).\n    --brand             Brand to be shown in web console header (default: Web Console).\n    --icon              Add an icon to be shown in web console footer (format: <icon>:<url>).\n    --link              Add a link to be shown in web console footer (format: <label>:<url>).\n    --config            Location of the config file (default: websole.yml).\n    --start/--no-start  Whether to start the program immediately, rather than on first connection. (default: False)\n    --version           Print version and exit.\n    --help              Show help message and exit.\n\nNOTE: If COMMAND contains spaces, you need to enclose it in quotes.\n```\n\n# Configuration file\n\nDefault config:\n```yaml\n# Program to be exposed to web console.\ncommand: bash\n\n# Host for web console to listen on.\nhost: 0.0.0.0\n\n# Port for web console to listen on.\nport: 1818\n\n# Brand to be shown in web console header.\nbrand: Your Program\n\n# Link to be shown in web console footer.\nlinks:\n  - label: Github\n    url: https://github.com/jackzzs/websole\n  - label: Example\n    url: https://websole.onrender.com\n\n# Icons to be shown in web console footer.\n# icon names can be found from https://icons.getbootstrap.com/\nicons:\n  - icon: bi-github\n    url: https://github.com/jackzzs/websole\n  - icon: bi-fire\n    url: https://websole.onrender.com\n\n# Password for logging into the web console.\nwebpass: 123456\n\n# Whether to start the program immediately, rather than on first connection.\nstart: yes\n\n# URL for \"What is web console password?\" link on the login page.\nwhat_is_webpass_url: https://github.com/jackzzs/websole\n\n# Allow users to restart the program through the refresh button in the upper right corner of the console.\nallow_restart: yes\n\n# By default, allow users to use Ctrl+C/V to copy/paste (but prevent the shortcut key from reaching the program).\nuse_shortcut: no\n\n# Hide the switch for \"use Ctrl+C/V to copy/paste\".\nhide_use_shortcut_switch: no\n```\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A solution to expose command-line tools through web-based console, through docker.",
    "version": "1.0.1",
    "project_urls": {
        "Homepage": "https://github.com/jackzzs/websole"
    },
    "split_keywords": [
        "cli",
        " web",
        " web console"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5c4fb372389c8d8a769bcf054d46cdc9163b40dc66a08a3da526308de353f596",
                "md5": "3753953b84fbf851e7da0943287f2c80",
                "sha256": "857dda3b2a9afd2249c77c750b01550b79e38f85efdd72f625c19aaf3ac3360b"
            },
            "downloads": -1,
            "filename": "websole-1.0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "3753953b84fbf851e7da0943287f2c80",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 76395,
            "upload_time": "2024-06-02T17:01:47",
            "upload_time_iso_8601": "2024-06-02T17:01:47.803359Z",
            "url": "https://files.pythonhosted.org/packages/5c/4f/b372389c8d8a769bcf054d46cdc9163b40dc66a08a3da526308de353f596/websole-1.0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7afe97d68e448fafb8110cadadfcca0d91b0d9f6da6a6915818a3e45b8e3cea3",
                "md5": "420b1ad7319f0400ab303bda3c3ee05c",
                "sha256": "06fdb2b91ba81326fa46288fcd2bff927fe0b48f339ceed7095f19e17306822b"
            },
            "downloads": -1,
            "filename": "websole-1.0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "420b1ad7319f0400ab303bda3c3ee05c",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 74543,
            "upload_time": "2024-06-02T17:01:49",
            "upload_time_iso_8601": "2024-06-02T17:01:49.429981Z",
            "url": "https://files.pythonhosted.org/packages/7a/fe/97d68e448fafb8110cadadfcca0d91b0d9f6da6a6915818a3e45b8e3cea3/websole-1.0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-06-02 17:01:49",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "jackzzs",
    "github_project": "websole",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "websole"
}
        
Elapsed time: 0.32966s