Files
blackbird/static/README.md
T
2026-07-21 10:04:03 +08:00

108 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 文件托管服务器
一个基于 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