WebShell - Hugging Face Spaces版本
这是一个基于Flask和WebSocket的Web终端和文件管理系统,专为Hugging Face Spaces部署优化。
功能特性
🗂️ 文件管理
- 📁 文件/文件夹浏览、创建、删除、重命名
- 📤 文件上传下载
- ✏️ 在线代码编辑器(支持语法高亮)
- 👀 文件预览功能
💻 终端模拟器
- 🖥️ 实时终端交互(基于WebSocket)
- 🐧 支持Linux bash命令
- 📜 命令历史记录(↑↓键浏览)
- 🔄 多终端会话支持
🛡️ 安全特性
- 🔒 路径遍历攻击防护
- 📁 访问权限限制在应用目录内
- 🚫 恶意命令执行防护
技术栈
后端:
- Flask + Flask-SocketIO
- Python subprocess
- 多线程处理
前端:
- Bootstrap 5 响应式设计
- CodeMirror 代码编辑器
- Socket.IO 实时通信
- Font Awesome 图标
部署说明
这个版本已经针对Hugging Face Spaces进行了优化:
- 端口配置:使用环境变量
PORT(默认7860) - Linux兼容:支持Linux bash终端
- Docker化:包含完整的Dockerfile
- 依赖管理:requirements.txt包含所有必需的包
环境变量
PORT: 服务端口(默认7860)HOST: 服务主机(默认0.0.0.0)DEBUG: 调试模式(默认False)
使用方法
部署到Hugging Face Spaces后,访问以下功能:
- 主页:
/- 功能选择页面 - 文件管理:
/files- 文件浏览和编辑 - 终端:
/terminal- 命令行界面
安全提醒
⚠️ 重要安全提醒:
- 此工具仅用于开发和学习目的
- 请勿在生产环境中暴露于公网
- 定期检查和更新依赖包
- 谨慎使用终端功能
许可证
MIT License
注意:本项目仅供学习和开发使用,请遵守相关法律法规和平台使用条款。