Skip to content

一个轻量级 Web terminal终端,基于 **Django + Django Channels + Paramiko + xterm.js**,支持直接输入服务器 IP、用户名、密码,通过 WebSocket 建立 SSH 连接,实现远程命令执行。

Notifications You must be signed in to change notification settings

guohongze/wsterm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Web 终端系统

一个轻量级 Web 终端,基于 Django + Django Channels + Paramiko + xterm.js,支持直接输入服务器 IP、用户名、密码,通过 WebSocket 建立 SSH 连接,实现远程命令执行。

主要特点

  • 基于 Web 的 SSH 终端
  • 支持直接输入服务器信息连接
  • GitHub 风格界面
  • 实时命令执行和输出
  • 错误处理与连接状态显示
  • 无数据库依赖,极度轻量化

技术栈

  • 前端:xterm.js + JavaScript
  • 后端:Python3.12 + Django4.2.20 + Django Channels
  • SSH 连接:Paramiko
  • 通信协议:WebSocket
  • 通道层:内存通道层(InMemoryChannelLayer),无Redis依赖

安装

  1. 克隆项目

    git clone https://github.com/yourusername/wsterm.git
    cd wsterm
    
  2. 安装依赖

    pip install -r requirements.txt
    
  3. 运行项目

    daphne -b 127.0.0.1 -p 8090 webterminal.asgi:application
    
  4. 访问 http://localhost:8090

使用方法

  1. 填写服务器 IP、端口、用户名和密码
  2. 点击"连接"按钮建立 SSH 连接
  3. 在终端中执行命令
  4. 点击"断开连接"按钮结束会话

注意事项

  • 本项目仅用于学习和测试目的
  • 生产环境需要https,对密码进行更安全处理。
  • 项目使用内存通道层,无需额外的Redis服务.
  • 无数据库依赖,轻量化.

许可证

MIT

About

一个轻量级 Web terminal终端,基于 **Django + Django Channels + Paramiko + xterm.js**,支持直接输入服务器 IP、用户名、密码,通过 WebSocket 建立 SSH 连接,实现远程命令执行。

Resources

Stars

Watchers

Forks

Packages

No packages published