资源加载中...
EasyShare — 轻量级跨平台文件分享服务系统
一句话定位:面向等保 3 合规的私有化文件共享平台,零数据库依赖、单可执行文件部署、开箱即用。
一、项目简介
EasyShare 是一款面向企业内网、团队协作与客户交付场景的轻量级文件共享服务系统。它以 Node.js + Express 为核心,采用 JSON 文件存储(零数据库依赖),并打包为 Node SEA 单可执行文件——Linux(x64/ARM64)与 Windows(x64)三大平台均可"下载即运行",目标机器无需安装 Node 运行时。
系统提供从文件上传、下载、在线预览、分享外链,到用户隔离、个人配额、回收站、审计日志的完整能力,并以等级保护 3 级(等保 3)安全合规作为核心设计目标,适合对数据安全有合规要求的政企环境私有化部署。

二、核心功能
📁 文件管理
- 上传:多文件、拖拽、整个目录上传(完整保留层级)、大文件分片 + 断点续传
- 下载:单文件/批量打包(ZIP)/整目录打包下载,支持 HTTP Range 断点续传
- 在线预览:图片、视频、音频、PDF、文本/代码文件
- 压缩/解压:ZIP 在线解压与打包
- 搜索与标签:按名递归搜索(全局/当前目录),文件自定义标签
- 回收站:软删除进回收站,支持还原、彻底删除、一键清空
🔗 分享协作
- 分享链接:可设提取密码、有效期(1h~30d)、下载次数上限
- 邮件通知:创建分享时可选邮件告知收件人(内置 SMTP 集成)
- 精美的 HTML 分享页:面向接收方的独立下载页
👥 用户与权限
- 三级角色:游客 / 普通用户 / 管理员,注册自动创建私有目录
- 目录级权限:公共目录全员可见,私有目录严格隔离,越权访问一律 403 并入审计
- 个人存储配额:默认 5GB,管理员可调,上传时原子扣减
- WebDAV:标准协议接入,强制鉴权
三、安全与合规(等保 3)
安全不是附加项,而是本项目的第一设计原则:
| 能力 | 说明 |
|---|---|
| 图形验证码 | 注册必填;登录失败 3 次后强制,防暴力破解 |
| 密码策略 | 8+ 字符、大小写/数字/特殊字符多元校验,弱密码黑名单 |
| TOTP 两步验证 | 自实现 RFC 6238,兼容 Google/Microsoft Authenticator |
| 审计日志 | 全操作留痕(登录/上传/下载/删除/越权…),每日轮转、90 天保留 |
| 路径安全 | 路径穿越校验、Zip Slip 防护、符号链接拒载、MIME 真实性校验 |
| 用户隔离 | 所有接口先鉴权后落盘,越权直接 403 + 审计 |
| 条款协议 | 注册强制阅读并同意《使用条款》(含免责声明) |
四、技术架构
- 存储:纯 JSON 文件,单机部署无需 MySQL/PostgreSQL,数据 100% 向后兼容、可平滑升级
- 前端:原生 HTML/CSS/JS,无框架、无构建链,暗黑模式一键切换
- 打包:Node SEA 单可执行(Linux x64 约 94MB / ARM64 / Windows x64 约 90MB),自带完整运行时
五、部署与运维
- 一键安装:
deploy/工具包内置 systemd(Linux)/ NSSM(Windows)/ launchd(macOS)服务化脚本 - 平滑升级:
upgrade.sh自动备份data/与旧版本,失败自动回滚 - CI/CD:GitLab 流水线(lint → 三平台构建 → 测试 → 发布),
main分支每次推送自动产出滚动版本与 Release 资产 - 运维友好:每日审计日志轮转、磁盘配额水位、健康检查
六、项目信息
| 项 | 值 |
|---|---|
| 当前版本 | v0.1.17 |
| 开源协议 | MIT |
| 作者 | ITMSKY智维 |
| 运行要求 | 服务端:任意支持 Node 20+ 的环境(或直接使用单可执行文件);客户端:现代浏览器即可 |