Django+telnetlib实现webtelnet
说明
基于 python3.7 + django 2.2.3 实现的 django-webtelnet。有兴趣的同学可以在此基础上稍作修改集成到自己的堡垒机中。
项目地址:https://github.com/leffss/django-webtelnet
所需技术:
- websocket,django-channels 为 django 提供 websocket 支持
- xterm.js 前端模拟 shell 终端的一个库
- telnetlib,python 自带的一个 telnet 连接库
如何将所需技术整合起来?
- xterm.js 在浏览器端模拟 shell 终端, 监听用户输入通过 websocket 将用户输入的内容上传到 django
- django 接受到用户上传的内容, 将用户在前端页面输入的内容通过 telnetlib 建立的 telnet 通道上传到远程服务器执行
- telnetlib 将远程服务器的处理结果返回给 django
- django 将 telnetlib 返回的结果通过 websocket 返回给用户
- xterm.js 接收 django 返回的数据并将其写入前端页面
目前存在的问题
由于 telnetlib 库的原因,终端无法显示颜色已经动态改变大小
启动
pip3 install -r requirements.txt
cd django-webtelnet/webtelnet/
python3 manage.py runserver 0.0.0.0:8000
预览
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)