Repository navigation
Releases
Releases · Antruly/FMS-Service
v1.2.0 — 在线升级系统 + 版本管理重构 + Linux脚本
🚀 版本自动更新系统
- Launcher 守护进程: 管理 server.js worker 生命周期,崩溃自动重启,升级时杀旧 fork 新实现零停机重启
- 在线升级: 维护模式中间件 → 请求排空 → 备份项目 → 下载解压 → npm install → 自动重启
- 版本管理 Tab 切换: App 版本 / 后台版本分别管理,支持 GitHub Release 检查 + 下载进度 + 手动上传
- WebSocket 实时推送: 下载进度通过 WebSocket 实时推送到前端,替代轮询
- 浏览器 UA 伪装: 模拟 Chrome 请求头避免被 GitHub 当作爬虫拦截
- 升级配置: 自动下载开关 + 定时自动升级(可设时间) + 数据库备份勾选
- 定时检查: 每日 01:00 自动检查 GitHub 更新 + 启动时版本检查(10s 超时保护)
- APK 自动入库: GitHub 下载的 APK 自动解析 version.json 并注册到版本列表
- 磁盘扫描回退: 服务重启后自动扫描 data/tmp 找已下载的升级包
📝 文本编辑器(Monaco Editor)
- Monaco Editor 本地托管: VS Code 内核,100+ 语言语法高亮,亮色/暗色主题自适应
- 70+ 文件类型支持: SQL/INI/CONF/LOG/CPP/C/H/JSON/YAML/XML/Dockerfile 等全部可预览编辑
- 编码选择器: UTF-8 / GBK / GB2312 / BIG5 / Shift_JIS / EUC-KR / ASCII / Latin1
- 新建文件: 个人目录(V1 加密空文件)+ 公共目录(管理员专属)
- 编辑时屏蔽快捷键: t/g/l/Backspace 不会触发换肤/视图切换/目录返回
🎨 文件图标
- 分类 emoji 图标:SQL/INI/CONF/LOG/CPP/C/H 等常用后缀
- 无后缀名文件支持:Dockerfile / Makefile / .editorconfig / .htaccess / README / LICENSE
🔧 修复
- 端口占用导致 PM2 重启死循环(reuseAddr + EADDRINUSE 处理)
- 编辑器保存 413 Request Entity Too Large(body limit → 10MB)
- 个人加密文件保存 db is not defined(V1/V0 加密流 + 临时文件替换)
- 编码切换后内容为空(apiGet vs axios 数据层级不一致)
- 编码下拉框暗色模式不可读
- Monaco 主题联动暗色模式
- PDF 预览被 Chrome 屏蔽
- SSL 配置移至 .env 统一管理
📦 构建
- start.bat 改用 launcher.js 启动
- 新增 Linux 脚本: start.sh / stop.sh
- package.json scripts.start → node launcher.js
- build_all.bat 已包含 launcher.js 复制
v1.1.0 — Android 全面屏适配 · 全局搜索 · 断点续传 · 数据备份
🚀 v1.1.0 正式发布
累积 v1.0.1 ~ v1.0.3 全部开发版本改动,涵盖存储引擎、文件传输、搜索、WebDAV、分享、Android、运维七大模块。
💾 存储引擎
- 哈希秒传 + 引用计数 + 自动修复系统
- 惰性迁移 + WebDAV 去重
- 均衡组健康检查 + 权重系统 + 镜像降级 + 写入隔离
- 物理文件清理 + 损坏文件标记
📤 文件传输
- 分块上传 + 断点续传 + 传输列表(含进度/定位/设备信息)
- 秒传随机字节质询验证
- 公共目录上传进度追踪
🔍 搜索
- 全局文件/目录搜索
- 本地文件夹搜索
- 搜索结果全路径显示 + 定位跳转修复
- 搜索弹窗 Android WebView 可见性修复
- 搜索输入框自动获取焦点
🌐 WebDAV
- 公共目录 + 个人加密文件 WebDAV 协议
- MOVE/COPY/MKCOL 支持
- LOCK/PROPFIND/PUT 多项修复
- 非活跃自动禁用管理
📎 分享
- 分享页转存按钮 + 下载次数限制
- 子目录分享 + 范围标签
- 分享/WebDAV 列表视图优化 + 操作按钮
🎨 UI/UX
- 首页重设计 + 动态版本 + 关于页面
- 悬浮球拖拽 + 边缘隐藏 + 角标修复
- URL hash 路由持久化(F5 刷新保持菜单状态)
- 侧边栏优化 + 工具栏重排
- 点击式形状验证码 + 登录页重构(3 种登录方式)
- 网格/列表布局切换开关
📱 Android (APK v2.5.0)
- 彻底重构屏幕适配:fitsSystemWindows 原生机制,自动处理所有安全区域
- 修复内容被状态栏/刘海遮挡
- 底部工具栏自动适配系统导航栏
- 启动画面替换为 App 图标 + 最短显示 1 秒
- 下拉刷新误触发修复(JS 注入检测 SPA 内部滚动)
- viewport-fit=cover 适配全面屏
- 代码重构:720 行 → 450 行,结构清晰
⚙️ 运维
- 数据备份系统(自动备份 + 定时调度 + 管理页面)
- 可配置速率限制/封禁管理系统
- 流量中间件 + HTTP 层统一流量计费
- 首次启动管理员初始化
- 中英文 README + 语言切换器
- 日志级别控制(LOG_LEVEL 环境变量)
v1.0.0 - 首次开源发布
FMS 文件管理系统 v1.0.0
端到端加密的私有文件管理服务
技术栈
Node.js + Express + SQLite(sql.js) + Redis
核心功能
- AES-256-GCM 端到端文件加密
- WebDAV 协议支持
- 文件分享 (链接+提取码+下载限制)
- 多镜像存储池
- 首次启动管理员初始化
- 暗色/亮色主题
- 异步任务系统
- APK 版本管理