文件收集器 | Flask+SQLite 多链接文件收集工具(fnOS 原生应用)
版本:v1.1.19 | Python3.12 | Flask3.0 | 架构:x86/ARM/ 龙芯 LoongArch/RISC-V 全平台 | 协议 MIT 开源
可能存在很多bug,大家反馈后我都会尽力修复,前面几个版本确实写的拉,有这个需求的,都可以试试,下载在本帖最后。
简介
文件收集器是轻量化 NAS 专用 Web 文件收集系统,原生适配飞牛 fnOS(.fpk 应用包),也支持 Docker 手动部署。
管理员后台批量创建独立收集链接,每条链接独立密码、上传限制、时效期限,自动生成收集上传页 + 分享下载页双页面。
适用场景:班级作业收集、团队资料汇总、项目文件归集、公共资源分发、部门报表收集。
核心功能一览
表格
| 功能模块 |
详细说明 |
| 多链接独立管理 |
批量新建 / 启停 / 编辑 / 删除链接,自动生成 8 位唯一短 ID |
| 独立访问通行证 |
每条链接单独设置提取密码,会话缓存免重复频繁输密 |
| 上传收集 |
网页拖拽 + 点击批量上传,前端实时上传进度条 |
| 文件分享 |
同链接配套分享页面,仅浏览下载无上传入口 |
| 精细化上传管控 |
自定义单文件最大 GB、单次批量上传数量上限 |
| 链接时效 |
自定义链接过期时间,到期自动失效无法访问 |
| 上传记录管理 |
全员可查上传历史,上传者自删文件,管理员批量清理 |
| 数据库备份 |
SQLite 一键备份 / 导入恢复,还原前自动备份当前库 |
| 安全防护 |
CSRF 防护、登录防爆破、上传黑名单拦截恶意脚本文件、路径遍历防护 |
| 全端自适应 |
PC / 手机微信自适应页面,微**问自动提示跳转浏览器打开 |
| 自定义站点 |
自定义网站标题、底部版权、首页开关、登录提示文案 |
五大管理后台面板
- 仪表盘首页:统计总链接数、文件数量、存储占用、在线有效链接、最新上传清单
- 收集链接管理:创建链接、启停开关、一键复制收集 / 分享链接、修改参数
- 上传记录:分页筛选、按链接过滤文件、批量下载 / 批量删除资源
- 系统设置:修改管理员密码、全局默认上传参数、通行证免密时效、数据库备份恢复
- 系统信息:实时查看数据库路径、文件上传目录、服务监听端口
双页面模式(一条链接 = 两个地址)
表格
| 页面类型 |
访问地址 |
用途 |
权限 |
| 收集上传页 |
/collect/短ID |
外部人员提交文件 |
输入通行证后批量上传、查看本人历史、自删文件 |
| 分享下载页 |
/share/短ID |
资源分发查阅 |
输入通行证后浏览全量文件、下载,按需开启删除权限 |
双页面共用同一组访问密码,密码验证后有效期内免重复校验,分享页无任何上传功能。
快速安装教程
方式 1|fnOS 应用商店.fpk 一键安装(推荐)
- 下载项目
.fpk安装安装包
- fnOS 应用管理→手动安装→选中 fpk 文件
- 安装向导填写文件存放绝对目录,例:
/vol1/文件收集
- 安装完成访问:
http://NAS_IP:5557/admin
提示:默认端口固定 5557,外网访问建议搭配 Lucky 反向代理域名
默认管理员账号
用户名:admin
初始密码:admin123
⚠️首次登录务必第一时间修改后台密码!
技术架构
- Web 服务:Flask3.0 + Gunicorn 生产部署
- 数据库:SQLite (WAL 模式,支持外键,fnOS 数据目录持久化,重装不丢数据)
- 运行环境:Python3.12+
- 全 CPU 架构:x86_64/ARM64/LoongArch/RISC-V
环境变量(Docker 部署使用)
表格
| 变量名 |
作用 |
默认值 |
| DATA_DIR |
数据库存储目录 |
应用内置数据目录 |
| UPLOAD_BASE |
文件上传根目录 |
安装自定义目录 |
| PORT |
监听端口 |
5557 |
| FLASK_DEBUG |
调试开关 |
0 关闭 |
简易 API 接口(按需对接第三方)
健康检测
plaintext
GET /api/status
返回示例
json
{
"status": "running",
"db_ok": true,
"upload_dir_exists": true
}
收集页接口
- GET
/collect/{链接ID}:上传页面
- POST
/collect/{链接ID}/verify:密码校验
- POST
/collect/{链接ID}/upload:文件上传接口
- GET
/collect/{链接ID}/records:获取上传记录 JSON
分享页接口
- GET
/share/{链接ID}:文件分享页面
- POST
/share/{链接ID}/verify:分享密码验证
- GET
/share/{链接ID}/download/{记录ID}:文件下载
更新日志 v1.1.19
- 修复仪表盘最近上传列表 PC 端排版错乱
- 列表采用 PC 表格 + 移动端卡片双布局,统一后台页面样式
往期重点更新
- v1.1.17 高危安全加固:路径遍历拦截、恶意后缀 (.exe/.php/.sh) 禁止上传、CSP 安全头、默认密码强制改密、单文件上限 64GB 防磁盘占满
- v1.1.14 全量 XSS、路径漏洞修复,通行证明文 + 哈希双存,CSRF 全站开启
- v1.1.6 新增首页开关、自定义通行证有效期、上传者自主删文件开关
- v1.0.60+ 新增分享页功能,正式双页面架构落地
项目开源信息
开发作者:豪子
开源地址:https://github.com/Contribuv/file-collector
开源协议:MIT License,2025 版权所有