文件托管服务器
一个基于 Flask 的轻量级文件托管与浏览服务器,支持视频/音频流媒体播放和文件下载。
✨ 功能特性
- 文件浏览 - 现代化 Web 界面,支持文件列表查看和目录导航
- 流媒体支持 - 支持视频和音频文件的在线播放及拖动进度条
- 文件下载 - 一键下载任意文件
- 文件搜索 - 支持实时搜索过滤(快捷键:
/或Ctrl+F) - 响应式设计 - 同时支持桌面端和移动端访问
- 深色模式 - 自动适配系统深色/浅色主题
- 面包屑导航 - 快速定位当前目录位置
- 文件统计 - 实时显示目录中文件和子目录数量
🚀 快速开始
安装依赖
pip install flask flask-cors
配置文件
创建 config.ini 配置文件(可选,不创建则使用默认配置):
[server]
host = 0.0.0.0
port = 5000
[directory]
root = ./public
[ssl]
enabled = false
cert_file = cert.pem
key_file = key.pem
启动服务器
python file_server.py
或指定配置文件:
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