Files
frpc-console/update-logs.md
T
2026-07-30 13:11:12 +08:00

6.0 KiB
Raw Permalink Blame History

📌 版本说明

版本类型 标记 适用场景
LTS 正式版 -lts 生产环境,长期维护
技术预览版 -preview 功能前瞻,建议测试环境验证

🚀 2.4-lts (2026-07-30)

紧急修复版 —— 架构升级与部署流程重构

本次版本为 非正统 LTS 版本(2.4 在语义版本中不属于 LTS 序列),因 main 分支在新架构迁移过程中出现编译阻塞,为快速恢复 LTS 通道可用性而发布。2.5-lts 将回归正常语义版本规则。

🔧 核心变更

  • 部署架构重构 —— 引入 run-deploy.sh 独立入口,实现部署脚本与项目分支解耦
  • 数据目录规范化 —— 所有运行时文件(数据库、配置、日志、PID)统一迁移至 /app/data 子目录,挂载点从 /app 收窄至 /app/data,彻底解决挂载覆盖二进制文件的问题
  • 版本管理解耦 —— 二进制不再注入版本信息,版本由 deploy.sh 在部署时写入 version.ini 文件
  • PID 文件进程检测 —— frpc 状态检测从 ps | grep 改为基于 PID 文件,更加可靠
  • 旧版本自动迁移 —— 检测到根目录存在旧数据文件时,自动迁移至 data/ 子目录,并保留备份

功能完整

  • Ping 延迟检测(顶部导航实时显示)
  • 用户配置页独立(账户管理与全局配置分离)
  • 401 统一拦截(认证过期自动跳转登录)
  • 声明式数据库迁移引擎(基于 db-history.go
  • frp v2 协议正式启用(wireProtocol = "v2"

📦 部署变更

变更项 旧方案 新方案
挂载点 -v ${DEPLOY_DIR}:/app -v ${DEPLOY_DIR}/data:/app/data
数据库路径 /app/frpc-console.db /app/data/frpc-console.db
配置文件 /app/frpc.toml /app/data/frpc.toml
版本文件 编译时注入 -ldflags 部署时写入 version.ini

🐛 修复

  • 修复 main 分支因挂载覆盖导致二进制文件不可用的问题
  • 修复 ps | grep 进程检测在容器环境不可靠的问题
  • 修复旧版本升级时数据库路径不兼容的问题

🚀 2.3-preview (2026-07-28)

技术预览版 —— 在 LTS 稳定核心(2.0)基础上,集成 2.1 与 2.2 的新特性,并完成基础设施层的全面加固。

新增特性

  • Ping 延迟检测 —— 顶部导航实时显示 frpc 到 frps 的延迟,状态图标 + ms 值,直观反映网络质量(2.1)
  • 用户配置页独立 —— 账户管理与全局配置分离,用户信息与 frpc 配置各自独立管理(2.1)
  • 声明式数据库迁移引擎 —— 基于 db-history.go 的 Schema 版本声明,对比新旧差异自动决定迁移路径(2.2)

🔧 改进与优化

  • 401 统一拦截 —— API 请求返回 401 时自动清除认证状态并跳转登录页,避免页面卡死(2.1)
  • 数据库路径统一 —— 数据库文件固定为 ./frpc-console.dbDocker 部署时挂载整个 /app 目录,所有运行时文件(db / toml / log / pid)完整持久化
  • deploy.sh 部署逻辑重构 —— 备份 → 拉代码 → 停容器 → 构建 → 启动,顺序闭环;移除宿主机编译,全部交由 Docker 多阶段构建处理
  • Dockerfile 多阶段构建 —— 自动处理 go.mod 降级兼容,安装 sqlite 辅助工具,便于部署脚本验证数据库状态
  • 前端加载状态管理 —— 新增 authLoading 状态,首次访问时先完成用户检查再渲染页面,彻底解决刷新后登录/注册页状态错乱的竞态问题
  • schema_version 兜底写入 —— InitDB() 末尾强制补写 Schema 版本,确保每次启动都能识别已有数据,彻底解决升级后反复跳转注册页的问题
  • docker-compose.yml 配套工具 —— 简化开发调试流程,支持快速重建容器

🐛 修复

  • 修复 ExportTomlHandler 模板渲染时缺少 WireProtocolLine 字段的问题
  • 修复 deploy.sh 升级时用空文件覆盖旧数据库的问题
  • 修复 Docker 镜像中 sqlite3 包名错误导致 deploy.sh 无法验证数据库的问题
  • 修复首次访问刷新时登录/注册页显示异常的前端竞态问题

📦 部署变更

  • 挂载方式:-v ${DEPLOY_DIR}:/app(整个 /app 目录)
  • 数据库位置:/opt/frpc-console/frpc-console.db
  • 备份目录:/tmp/frpc-console/db-backups
  • 容器内工具:sqlite 已预装,便于调试

2.0-lts (2026-07-27)

首个 LTS 正式版 —— 与 frps-console 2.0-lts 同步发布,共享版本号与 LTS 维护周期。

  • 🚀 frp v2 协议正式启用 —— wireProtocol = "v2" 配置项可用,实测稳定
  • 🔒 数据库迁移引擎完整实现 —— 版本驱动的增量迁移 + 迁移前自动全量备份 + 失败可回滚
  • 🧩 frps-console 同步发布 —— 同一套设计哲学,一个管理 frpc,一个管理 frps

🧪 1.5-release (2026-07-25) (non-LTS)

非长期支持版本,建议用于尝鲜测试,生产环境请使用 2.0-lts 及后续 LTS 版本。

  • 全局配置页面卡片式重构(服务器连接 / 传输配置 / 日志配置)
  • 新增运行日志面板(8 秒轮询,最大 200 行)
  • frp v2 配置占位(UI 灰标禁用,为 2.0 铺路)
  • 🔩 数据库 Schema 迁移框架(启动时自动补全缺失列)
  • 🔐 默认配置脱敏(通用占位符,避免开箱即连他人服务器)
  • 🎨 样式拆分与优化(style-3.css / style-4.css

🎉 1.0-release (2026-07-24) (non-LTS)

首次公开发布,核心功能全部就绪。

  • 🎉 首次发布
  • 📋 隧道全生命周期管理(增删改查 + 启用/禁用)
  • 📦 TOML 导入/导出(无缝迁移现有 frpc 配置)
  • 🔄 配置热加载(修改即生效,无需重启 frpc)
  • 🔐 首次启动 Web 注册(无需命令行交互)
  • 🖥️ 多平台支持(Windows / Linux / ARM 全平台)
  • 🐳 容器化就绪(Docker 镜像,开箱即用)
  • 🎨 深色磨砂玻璃 UI