FileShare 是一款面向 NAS 的轻量级、自托管文件分享系统,基于 Node.js、Express 和 SQLite 构建,支持 fnOS FPK 安装部署。
2.0.3
- 本地共享目录浏览与文件分享
- WebDAV 文件服务器配置、连接测试和目录浏览
- WebDAV 远程文件分享、预览、下载和 ZIP 打包
- 提取码、过期时间和访问次数限制
- SVG 验证码
- 图片、视频、音频、文本和 Markdown 在线预览
- JWT 认证、HttpOnly Cookie 和 bcrypt 密码哈希
- 访问审计和日志轮转
- 响应式管理后台与深浅色主题
- fnOS FPK 安装、升级和卸载脚本
FileShare/
├── app/
│ ├── server.js # Node.js 服务端
│ ├── public/ # Web 前端页面
│ ├── package.json # 依赖和启动配置
│ └── bin/ # FPK 内置 Node.js 启动入口
├── cmd/ # fnOS 生命周期脚本
├── config/ # fnOS 权限和资源配置
├── wizard/ # 安装、升级、卸载向导
├── ui/ # fnOS 应用入口配置
├── manifest # FPK 清单
├── FileShare.sc # fnOS 应用商店描述
├── ICON.PNG
└── ICON_256.PNG
进入 app 目录后安装依赖并启动:
cd app
npm ci
npm start默认服务端口为 6606。数据目录、共享目录和管理员初始化参数由 fnOS 安装配置注入;开发环境请按 server.js 中的环境变量说明配置。
项目根目录是 FPK 解包结构。打包时需要将根目录文件打入外层 FPK,将 app 目录及其运行时依赖打入 app.tgz,并同步更新 manifest 中的 checksum。app/bin/node 和 app/bin/fileshare-server 必须保持可执行权限。
构建产物不纳入 Git 版本控制,最终 FPK 文件请放到本地 outputs/ 目录保存。FPK 内置的 app/bin/node 运行时二进制约 122 MB,超过 GitHub 单文件限制,因此由打包流程在本地或 CI 环境注入,不提交到仓库。
- 不要提交
data/、数据库、JWT 密钥、上传文件或日志。 - WebDAV 密码只写入服务端配置,不通过管理端设置接口原样返回。
- 首次安装管理员账号和密码由安装向导配置,不使用固定默认密码。
- 生产环境请通过 HTTPS 或受信任的反向代理访问管理后台。
MIT