| # 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 | |
| --- | |
| **注意**:本项目仅供学习和开发使用,请遵守相关法律法规和平台使用条款。 |