wsterm


Namewsterm JSON
Version 0.7.1 PyPI version JSON
download
home_pagehttps://github.com/wsterm/wsterm
SummaryWebsocket remote debug terminal (auto sync workspace).
upload_time2023-11-25 08:16:05
maintainer
docs_urlNone
authordrunkdream
requires_python>=3.5
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # WSTerm

使用Websocket协议实现的远程终端,可以用于远程调试(支持自动同步本地工作区文件到远程机器)

## 支持环境

操作系统:

* Linux
* Windows
* MacOS

Python `3.5`以上版本

## 功能特性

* 远程终端
* 自动监听、同步工作区文件

## 为什么要使用WSTerm?

相比于SSH,Websocket协议具有更好的可访问性,很多场景下SSH服务不会被暴露出来,但是一般会暴露出Websocket服务。

SSH服务通常只支持Linux和MacOS,Windows需要安装独立的应用;而WSTerm可以直接运行在以上三种系统,使用更加方便。

自动同步本地工作区文件,可以实现本地修改代码,直接远程执行的特性,大大降低远程编写、执行代码的复杂性。

## 使用方式

### 安装方法

```bash
$ python3 -m pip install wsterm
```

### 服务端

```bash
$ wsterm --url ws://0.0.0.0:8080/terminal/ --server
```

此时,服务端会监听在本地的`0.0.0.0:8080`地址;如果只想监听在回环地址,可以将`0.0.0.0`替换成`127.0.0.1`。

服务端还支持以下可选参数:

`--token`: 指定鉴权使用的Token

`--log-level`: 日志级别,默认为`info`

`--log-file`: 日志保存文件路径

`-d/--daemon`: 是否以daemon方式启动,默认为`False`

### 客户端

```bash
$ wsterm --url ws://1.2.3.4:8080/terminal/
```

客户端支持的可选参数:

`--workspace`: 需要同步的工作区目录

`--token`、`--log-level`、`--log-file`等参数与服务端相同

> 服务端与客户端需要指定相同的`Token`才能正常连接


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/wsterm/wsterm",
    "name": "wsterm",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.5",
    "maintainer_email": "",
    "keywords": "",
    "author": "drunkdream",
    "author_email": "drunkdream@qq.com",
    "download_url": "https://files.pythonhosted.org/packages/4e/12/125d72df70e8813e72f69a568bf445fe66f940e16a3a6d8359e40e8b65fc/wsterm-0.7.1.tar.gz",
    "platform": null,
    "description": "# WSTerm\n\n\u4f7f\u7528Websocket\u534f\u8bae\u5b9e\u73b0\u7684\u8fdc\u7a0b\u7ec8\u7aef\uff0c\u53ef\u4ee5\u7528\u4e8e\u8fdc\u7a0b\u8c03\u8bd5\uff08\u652f\u6301\u81ea\u52a8\u540c\u6b65\u672c\u5730\u5de5\u4f5c\u533a\u6587\u4ef6\u5230\u8fdc\u7a0b\u673a\u5668\uff09\n\n## \u652f\u6301\u73af\u5883\n\n\u64cd\u4f5c\u7cfb\u7edf\uff1a\n\n* Linux\n* Windows\n* MacOS\n\nPython `3.5`\u4ee5\u4e0a\u7248\u672c\n\n## \u529f\u80fd\u7279\u6027\n\n* \u8fdc\u7a0b\u7ec8\u7aef\n* \u81ea\u52a8\u76d1\u542c\u3001\u540c\u6b65\u5de5\u4f5c\u533a\u6587\u4ef6\n\n## \u4e3a\u4ec0\u4e48\u8981\u4f7f\u7528WSTerm\uff1f\n\n\u76f8\u6bd4\u4e8eSSH\uff0cWebsocket\u534f\u8bae\u5177\u6709\u66f4\u597d\u7684\u53ef\u8bbf\u95ee\u6027\uff0c\u5f88\u591a\u573a\u666f\u4e0bSSH\u670d\u52a1\u4e0d\u4f1a\u88ab\u66b4\u9732\u51fa\u6765\uff0c\u4f46\u662f\u4e00\u822c\u4f1a\u66b4\u9732\u51faWebsocket\u670d\u52a1\u3002\n\nSSH\u670d\u52a1\u901a\u5e38\u53ea\u652f\u6301Linux\u548cMacOS\uff0cWindows\u9700\u8981\u5b89\u88c5\u72ec\u7acb\u7684\u5e94\u7528\uff1b\u800cWSTerm\u53ef\u4ee5\u76f4\u63a5\u8fd0\u884c\u5728\u4ee5\u4e0a\u4e09\u79cd\u7cfb\u7edf\uff0c\u4f7f\u7528\u66f4\u52a0\u65b9\u4fbf\u3002\n\n\u81ea\u52a8\u540c\u6b65\u672c\u5730\u5de5\u4f5c\u533a\u6587\u4ef6\uff0c\u53ef\u4ee5\u5b9e\u73b0\u672c\u5730\u4fee\u6539\u4ee3\u7801\uff0c\u76f4\u63a5\u8fdc\u7a0b\u6267\u884c\u7684\u7279\u6027\uff0c\u5927\u5927\u964d\u4f4e\u8fdc\u7a0b\u7f16\u5199\u3001\u6267\u884c\u4ee3\u7801\u7684\u590d\u6742\u6027\u3002\n\n## \u4f7f\u7528\u65b9\u5f0f\n\n### \u5b89\u88c5\u65b9\u6cd5\n\n```bash\n$ python3 -m pip install wsterm\n```\n\n### \u670d\u52a1\u7aef\n\n```bash\n$ wsterm --url ws://0.0.0.0:8080/terminal/ --server\n```\n\n\u6b64\u65f6\uff0c\u670d\u52a1\u7aef\u4f1a\u76d1\u542c\u5728\u672c\u5730\u7684`0.0.0.0:8080`\u5730\u5740\uff1b\u5982\u679c\u53ea\u60f3\u76d1\u542c\u5728\u56de\u73af\u5730\u5740\uff0c\u53ef\u4ee5\u5c06`0.0.0.0`\u66ff\u6362\u6210`127.0.0.1`\u3002\n\n\u670d\u52a1\u7aef\u8fd8\u652f\u6301\u4ee5\u4e0b\u53ef\u9009\u53c2\u6570\uff1a\n\n`--token`: \u6307\u5b9a\u9274\u6743\u4f7f\u7528\u7684Token\n\n`--log-level`: \u65e5\u5fd7\u7ea7\u522b\uff0c\u9ed8\u8ba4\u4e3a`info`\n\n`--log-file`: \u65e5\u5fd7\u4fdd\u5b58\u6587\u4ef6\u8def\u5f84\n\n`-d/--daemon`: \u662f\u5426\u4ee5daemon\u65b9\u5f0f\u542f\u52a8\uff0c\u9ed8\u8ba4\u4e3a`False`\n\n### \u5ba2\u6237\u7aef\n\n```bash\n$ wsterm --url ws://1.2.3.4:8080/terminal/\n```\n\n\u5ba2\u6237\u7aef\u652f\u6301\u7684\u53ef\u9009\u53c2\u6570\uff1a\n\n`--workspace`: \u9700\u8981\u540c\u6b65\u7684\u5de5\u4f5c\u533a\u76ee\u5f55\n\n`--token`\u3001`--log-level`\u3001`--log-file`\u7b49\u53c2\u6570\u4e0e\u670d\u52a1\u7aef\u76f8\u540c\n\n> \u670d\u52a1\u7aef\u4e0e\u5ba2\u6237\u7aef\u9700\u8981\u6307\u5b9a\u76f8\u540c\u7684`Token`\u624d\u80fd\u6b63\u5e38\u8fde\u63a5\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Websocket remote debug terminal (auto sync workspace).",
    "version": "0.7.1",
    "project_urls": {
        "Homepage": "https://github.com/wsterm/wsterm"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cb9c1f45125d2b11a1128fe8842bfbf7ee339bd51d2ab89b7b0e804db08cfa65",
                "md5": "3ee9fb4f079d78e2c788f5a6666105c9",
                "sha256": "84d9c4ee78275c9b420e5d480a7e038044d89332dbab07ce4fef0c8a74c16713"
            },
            "downloads": -1,
            "filename": "wsterm-0.7.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "3ee9fb4f079d78e2c788f5a6666105c9",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.5",
            "size": 4392226,
            "upload_time": "2023-11-25T08:16:03",
            "upload_time_iso_8601": "2023-11-25T08:16:03.460107Z",
            "url": "https://files.pythonhosted.org/packages/cb/9c/1f45125d2b11a1128fe8842bfbf7ee339bd51d2ab89b7b0e804db08cfa65/wsterm-0.7.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4e12125d72df70e8813e72f69a568bf445fe66f940e16a3a6d8359e40e8b65fc",
                "md5": "9ef01e63dfd2685f6dcae77a6ffc736a",
                "sha256": "0df3f2f8d6d76531f70e86637ed84272c9d73acbf9ccc002486aed0b795a583e"
            },
            "downloads": -1,
            "filename": "wsterm-0.7.1.tar.gz",
            "has_sig": false,
            "md5_digest": "9ef01e63dfd2685f6dcae77a6ffc736a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.5",
            "size": 4379594,
            "upload_time": "2023-11-25T08:16:05",
            "upload_time_iso_8601": "2023-11-25T08:16:05.615577Z",
            "url": "https://files.pythonhosted.org/packages/4e/12/125d72df70e8813e72f69a568bf445fe66f940e16a3a6d8359e40e8b65fc/wsterm-0.7.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-11-25 08:16:05",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "wsterm",
    "github_project": "wsterm",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "wsterm"
}
        
Elapsed time: 0.52842s