# 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进行了优化: 1. **端口配置**:使用环境变量 `PORT`(默认7860) 2. **Linux兼容**:支持Linux bash终端 3. **Docker化**:包含完整的Dockerfile 4. **依赖管理**:requirements.txt包含所有必需的包 ## 环境变量 - `PORT`: 服务端口(默认7860) - `HOST`: 服务主机(默认0.0.0.0) - `DEBUG`: 调试模式(默认False) ## 使用方法 部署到Hugging Face Spaces后,访问以下功能: 1. **主页**:`/` - 功能选择页面 2. **文件管理**:`/files` - 文件浏览和编辑 3. **终端**:`/terminal` - 命令行界面 ## 安全提醒 ⚠️ **重要安全提醒**: - 此工具仅用于开发和学习目的 - 请勿在生产环境中暴露于公网 - 定期检查和更新依赖包 - 谨慎使用终端功能 ## 许可证 MIT License --- **注意**:本项目仅供学习和开发使用,请遵守相关法律法规和平台使用条款。