📂FileShare
一、 系统概述
FileShare 是一个开源的、轻量级的文件分享系统。其核心目标是让用户能够轻松、安全地分享文件和文件夹。系统采用 B/S 架构,提供 Web 管理后台和分享页面,支持丰富的在线预览和灵活的分享策略。
二、 核心功能特性
该系统具备以下主要功能:
-
全面的分享管理:支持分享整个文件夹或单个文件,可设置提取码、精确到秒的过期时间以及最大访问次数限制。
-
强大的安全与验证:
- 提取码保护:为分享链接提供密码保护。
- SVG验证码:支持算术或字符两种模式,可分别控制在“提取文件”和“下载文件”时是否启用。
- 账户安全:使用 JWT 认证和 bcrypt 密码哈希。
-
便捷的在线预览:支持直接在浏览器中预览图片、视频、音频、文本、Markdown 及多种编程语言代码文件。还可通过集成 KKFileView 实现 Office 文档的在线预览。
-
智能下载:分享单个文件时直接下载,分享多个文件或文件夹时,系统会自动进行流式 ZIP 打包后供用户下载。
-
管理后台:提供完整的 Web 管理界面,用于文件浏览、创建分享、管理所有分享记录以及进行系统设置。
-
良好的用户体验:
- 响应式设计:界面自适应桌面端和移动端。
- 毛玻璃UI:采用现代化设计风格。
- 编码自适应:自动检测文件编码(如 UTF-8/GBK),确保中文文本内容不乱码。
三、 技术架构
- 后端:Node.js + Express
- 数据库:SQLite (通过 better-sqlite3 驱动)
- 前端:原生 HTML、CSS、JavaScript,无前端框架依赖
- 关键技术点:JWT 认证、svg-captcha 生成验证码、archiver 进行流式打包、iconv-lite 进行编码检测。
四、 快速入门指南
-
环境要求:需要 Node.js (版本 ≥ 16.x,推荐 18+) 和 npm。
-
安装与启动:
- 项目提供交互式的一键安装脚本 (
install.sh),可自动检测环境、配置端口、安装依赖并启动服务。
- 也提供了手动管理脚本 (
run.sh),用于启动、停止、重启服务和查看状态。
-
访问地址:
- 首页(提取文件):
http://你的IP:端口
- 管理后台:
http://你的IP:端口/admin
- 分享页面:
http://你的IP:端口/s/{分享码}
-
默认管理员账户:admin/ admin123,首次登录会强制要求修改密码。
五、 管理后台使用要点
- 初始设置:登录后需修改密码、设置分享域名、文件扫描路径和预览模式。
- 创建分享:在后台通过文件树勾选目标,配置提取码、过期时间等选项后即可生成分享链接。
- 系统配置:可在后台详细设置验证码策略、预览模式(系统预览或对接KKFileView)、可预览的文件后缀列表等。
- 分享管理:可查看、搜索、编辑、删除所有分享记录,并有一键清理失效分享的功能。
六、 高级配置与维护
- 域名绑定:可通过反向代理(如 Nginx)绑定自定义域名,并在系统设置中配置。
- 数据备份:核心数据存储在
data/fileshare.db文件中,备份此文件即可保留所有数据。
- 开机自启:文档提供了通过 Crontab 实现服务保活和开机自启的命令。
- 卸载:执行
uninstall.sh脚本可停止服务并清理计划任务,之后可删除项目目录。
七、问题解决:
无权限访问路径?
请确保飞牛应用商店-后台管理处有该路径的访问权限
或者直接终端sudo chmod 664 路径(例:/vol1/1000/docker)
网站进不去?
lucky中web服务中代理下,域名对应localhost:6606




