From 0c3425b4c7b9ba309431d52493e41e2a388d358a Mon Sep 17 00:00:00 2001 From: qingss0 Date: Tue, 21 Jul 2026 10:04:03 +0800 Subject: [PATCH] =?UTF-8?q?new:=20=E6=96=B0=E5=BB=BA=E6=96=87=E4=BB=B6=20R?= =?UTF-8?q?EADME.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: qingss0 --- static/README.md | 108 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 static/README.md diff --git a/static/README.md b/static/README.md new file mode 100644 index 0000000..3fff98f --- /dev/null +++ b/static/README.md @@ -0,0 +1,108 @@ +# 文件托管服务器 + +一个基于 Flask 的轻量级文件托管与浏览服务器,支持视频/音频流媒体播放和文件下载。 + +## ✨ 功能特性 + +- **文件浏览** - 现代化 Web 界面,支持文件列表查看和目录导航 +- **流媒体支持** - 支持视频和音频文件的在线播放及拖动进度条 +- **文件下载** - 一键下载任意文件 +- **文件搜索** - 支持实时搜索过滤(快捷键:`/` 或 `Ctrl+F`) +- **响应式设计** - 同时支持桌面端和移动端访问 +- **深色模式** - 自动适配系统深色/浅色主题 +- **面包屑导航** - 快速定位当前目录位置 +- **文件统计** - 实时显示目录中文件和子目录数量 + +## 🚀 快速开始 + +### 安装依赖 + +```bash +pip install flask flask-cors +``` + +### 配置文件 + +创建 `config.ini` 配置文件(可选,不创建则使用默认配置): + +```ini +[server] +host = 0.0.0.0 +port = 5000 + +[directory] +root = ./public + +[ssl] +enabled = false +cert_file = cert.pem +key_file = key.pem +``` + +### 启动服务器 + +```bash +python file_server.py +``` + +或指定配置文件: + +```bash +python file_server.py --config my_config.ini +``` + +服务器启动后,访问 `http://localhost:5000` 即可浏览文件。 + +## 📁 目录结构 + +将需要托管的文件放入配置的目录(默认为 `./public`),服务器会自动创建该目录。 + +``` +project/ +├── file_server.py # 主程序 +├── config.ini # 配置文件(可选) +└── public/ # 托管文件目录(自动创建) + ├── videos/ + ├── music/ + └── documents/ +``` + +## 🎬 支持的媒体格式 + +| 类型 | 支持的格式 | +|------|-----------| +| 视频 | MP4, WebM, OGG, AVI, MOV, MKV | +| 音频 | MP3, WAV, OGG, FLAC, AAC, M4A | + +## 📡 API 接口 + +### 获取文件列表 +``` +GET /api/filelist?path=subdir +``` + +### 流媒体播放 +``` +GET /video/{filepath} +``` + +### 健康检查 +``` +GET /health +``` + +## 🔒 安全特性 + +- 路径遍历防护,防止访问托管目录外的文件 +- 完善的错误处理和日志记录 +- 支持 HTTPS/SSL 加密传输 + +## 📋 依赖 + +- Python 3.6+ +- Flask +- Flask-CORS + +## 📄 许可证 + +MIT License \ No newline at end of file