-
2.3-Preview Stable
released this
2026-07-28 23:30:22 +08:00 | 37 commits to main since this release2.3 技术预览版 (2026-07-28)(non-LTS)
版本定位:2.3 是 frpc-console 在 LTS 2.0 基础上的技术预览版本,集成了 2.1 的可观测性能力与 2.2 的声明式迁移引擎,同时对部署流程与数据库持久化进行了全面重构。经过多轮边缘场景验证,本版本在基础设施层面已经达到稳定可用状态,建议用于测试环境验证。
🚀 核心功能
- Ping 延迟检测:顶部导航实时显示 frpc 到 frps 的延迟,状态图标 + ms 值,直观反映链路质量(2.1)
- 用户配置页独立:账户管理与全局配置分离,密码修改移至独立 Tab(2.1)
- 认证过期自动跳转:401 响应统一拦截,自动清除 token 并返回登录页(2.1)
- 声明式数据库迁移引擎:版本驱动的增量迁移 + 自动备份 + 失败回滚,基于
db-history.go的 Schema 声明对比(2.2)
🗄️ 数据库与持久化(2.3 核心改进)
- 数据库路径统一:数据库文件固定为
./frpc-console.db(容器内/app/frpc-console.db),挂载整个/app目录,所有运行时文件(.db、.toml、.log、.pid)同时持久化 - Dockerfile 优化:多阶段构建,自动降级
go.mod版本(1.26 → 1.21)并执行go mod tidy,移除宿主机 Go 依赖 - 容器内工具补齐:安装
sqlite(Alpine 包),deploy.sh可准确验证数据库状态 - Schema 版本兜底写入:
InitDB()末尾强制补写schema_version,彻底解决“每次启动都重新注册”的问题
🔧 部署与运维(deploy.sh 全面重构)
- 部署流程重排:备份 → 拉代码 → 停容器 → 构建镜像 → 启动容器
- 事务前钩子:自动备份数据库到
/tmp/frpc-console/db-backups/,检查有效性(users表存在),无效则删除由容器全新初始化 - 事务后钩子:验证容器内数据库可用性,提供明确的“可用/需注册”状态反馈
- 移除宿主机编译:Docker 镜像内置编译,宿主机不再需要 Go 环境
- 移除二进制复制:Docker 模式下不再向宿主机写入二进制文件,避免“文本文件忙”冲突
- OpenSUSE 适配:使用
git-core替代git包 - 颜色检测:管道执行时自动禁用 ANSI 颜色代码
🎨 前端与 UI(2.3 稳定性增强)
- 加载状态管理:增加
authLoading状态,首次访问时等待 API 响应后再渲染页面,消除刷新时的竞态条件 - Token 验证流程优化:
loadAuthState与checkUsers逻辑解耦,登录/注册页切换稳定
🐛 修复
- 修复
ExportTomlHandler模板渲染时缺少WireProtocolLine字段的问题 - 修复
deploy.sh在升级时用空文件覆盖旧数据库的问题 - 修复 Docker 部署时数据库写入
/app/frpc-console.db但挂载/app/data导致升级丢数据的问题 - 修复前端刷新时页面状态错乱的问题
- 修复容器内无
sqlite3导致数据库验证误报的问题 - 修复首次启动时
schema_version未正确写入导致重复注册的问题
📦 技术预览说明
⚠️ 2.3 是一个 技术预览版本,基于 LTS 核心(2.0)构建,集成了 2.1 和 2.2 的新特性。
Docker 版用户请注意:此版本将挂载点从
/app/data变更为/app,升级前请确保/opt/frpc-console目录下没有残留旧二进制文件,避免cp冲突。建议在测试环境验证,生产环境使用需自行评估风险。
🧩 已知限制
- frps-console 配套工具仍在同步开发中,预计与 2.5 LTS 同步发布
- 日志面板仍为 8 秒轮询,暂未支持 WebSocket 实时推送
Downloads