更新日志
v1.3.0 安全加固与 EPHUB 增强(2026-07-03)
这是一个重大安全与功能发布版本,包含关键漏洞修复、EPHUB 管理增强和 JSON 库迁移。
安全修复
- 🔒 P0 路径遍历漏洞:修复 Web API 端点路径遍历攻击,添加全局 URI 安全检查阻断编码路径分隔符
- 🔒 P0 全局配置竞态条件:为共享配置状态添加互斥锁保护
- 🛡️ P1 缓冲区溢出与会话固定:替换不安全的
sprintf/vsprintf,登录时重新生成会话 ID 防止会话劫持 - 🛡️ P2 登录限流与日志脱敏:实现登录限流(5 次/60 秒/IP),脱敏 NTRIP 日志中的凭据,增强输入校验
- 🔐 XSS 防护、恒定时间密码比较、JSON 注入防护
EPHUB 功能增强
- ⚡ 热更新流:无需重启即可添加/删除输入输出流,改进模态 UI 对话框
- 💾 配置持久化:CLI
save [file]命令与/api/config/saveAPI 保存当前配置 - 🚨 完好性告警:实时星历完好性监测,主动告警过期/缺失星历
- 📊 质量度量:多源星历质量比对、候选源缓存、源质量诊断排名
- 🛰️ SSR 参考流:支持 SSR(状态空间表示)参考流与 RTCM 3 SSR 改正
- 🔧 CLI 管理命令:
add input/output、remove input/output、save等命令
JSON 库迁移
- 📦 从手写
json_util.h全面迁移到高性能 yyjson 库 - 🚀 内置 JSON 转义,改进性能和可维护性
升级说明:无需配置修改,数据库完全兼容,安全修复向后兼容
📖 完整发布说明
2026-06-21
- EPHUB 外部参考 SISRE
-ref-sp3/-ref-clk从配置占位升级为实际加载,复用 RTKLIBreadsp3/readrnxc/peph2pos读取精密轨道和钟差/api/reference增加 SP3/CLK 文件存在性、加载状态、精密轨道/钟差卫星数、时间范围和最后错误/api/sources与/api/sat增加sisre_m、外部参考轨道差、R/A/C 分解和钟差等效距离字段sisre_like_m明确表示多源广播星历互比,sisre_m表示相对外部 SP3/CLK 参考的严格 SISRE- 新增
reference_missing/reference_expired/sisre_warning/sisre_alarm/clock_reference_gap等外部参考相关告警,并保持状态去重 - EPH 管理页星历源表增加"外部SISRE",候选详情分开展示多源偏差与外部参考偏差
2026-06-20
- EPHUB API 与 trace 文档更新
- 新增 EPHUB 输入/输出流结构化新增弹窗,支持 NTRIP、TCP、UDP、File、Serial、NTRIP Server/Caster 等类型自动生成 stream path
- 新增 STRHUB 结构化新增任务弹窗,支持按输入/输出流类型生成
-in ... -out ...参数 - 新增
/api/ntrip/mountpoints,可从 NTRIP caster sourcetable 获取挂载点列表 - STRHUB/EPHUB Web 页面展示 stream path 时对用户名、密码和 ntripsvr 密码做脱敏处理
- EPHUB 运行期新增输入/输出流增加重复 path 拒绝;配置保存改为临时文件写入后原子替换
- Web 页面增加配置保存状态提示,新增/启停/删除输入输出流后提示未保存
- 将 EPHUB Web API 归并到统一 Web API 章节
- 补充 EPHUB 控制台降噪说明:输入/输出流后台重连失败不刷 CLI,详细原因写入 trace
- 明确
-x 1可查看输入/输出打开失败、重连、Web 启停等生命周期日志 - 补充 EPHUB 当前告警与完好性事件的 FAQ 说明
2026-06-19
- JSON 序列化全面迁移至 yyjson
- 移除手写 json_util.h,全项目 JSON 构建统一使用 yyjson 库
- 优化 EPHUB、STRHUB、SCRHUB 管理页面 UI 与移动端适配
- 改进 admin 用户管理操作图标
2026-06-18
- EPHUB 安全加固与功能增强
- 修复路径遍历漏洞,添加全局 URI 安全检查(阻断
%2F、%5c编码攻击) - 修复
_stricmp可移植性问题,添加 Linux/macOS 兼容宏 - 修复 JSON 缓冲区过大(2MB → 256KB)和
global_hub线程安全问题 - 修复
key_is_older环绕处理、缓替替换逻辑、out_bytes类型截断 - 优化
rebroadcast_cache锁粒度,批量复制减少锁竞争 - 新增 EPHUB Web 管理界面(端口 5428),支持实时状态监控和 HTTP API
- 新增自动重连、缓存过期、源优先级功能
- 默认刷新间隔改为 1 秒
2026-06-18
- 新增 EPHUB 广播星历 Hub
- 支持多路 NTRIP/RTCM3 输入的广播星历抽取、缓存、重复过滤和周期重播
- 支持文件输出与 TCP Server 输出,便于本地验证和 RTKNAVI 连接观察
- 新增命令式控制台查询和分级 trace 日志,避免后端周期刷屏
2026-06-05
- 后端安全加固
- SCRHUB 增加脚本路径校验,限制任务只能执行
script/目录下的安全相对路径 - SCRHUB 数据库启用 WAL、busy timeout 和互斥访问,降低并发读写风险
- 登录密码哈希比较改为恒定时间比较,登录限流表满时替换最旧 IP 记录
- API 默认移除通配 CORS;审计日志默认保留最近 10000 条,可通过
WEB_AUDIT_DISABLE_RETENTION关闭
2026-06-01
- 前端 UI 原语统一
- 新增
public/css/ui.css,统一按钮、卡片、徽标、空状态、工具栏和表单控件 - SCRHUB、系统设置、监测页面和用户管理页面逐步对齐
ui-card、ui-btn、ui-badge等通用样式 - 页面 CSS 更聚焦布局,颜色与基础视觉变量收敛到
public/css/tokens.css - 增加 CSS typography 令牌检查脚本,并收紧 SCRHUB 移动端任务列表密度
2026-05-31
- 嵌入式 SCRHUB 任务管理
- SCRHUB 嵌入主界面侧边栏,减少独立页面跳转
- 支持从
script/目录递归扫描脚本并创建任务 - 任务配置和执行日志写入独立数据库
database/rtkhub_scr.db - 新增日志保留策略:7 天、14 天、30 天、从不清理和自定义天数
v1.2.0(2026-04-30)
卫星级可视化、Web API 扩展、地图精度和核心代码可维护性。
✨ 新增功能
卫星级统计 API
- 新增
/api/stat接口 - 实时卫星观测和残差数据
- 方位角、高度角、SNR、固定状态
卫星天空图
- 显示 GPS/BDS 等多系统卫星
- FIX/FLOAT/未使用状态可视化
- 卫星运动轨迹
- 交互式选择和悬停提示
卫星残差分析
- 当前历元残差总览
- 单颗卫星残差时序
- 伪距和载波残差分别显示
地图坐标投影
- GCJ-02(高德/腾讯)
- BD-09(百度)
- WGS84(Google/原始)
STRHUB 工具
- 独立流转发工具
- Visual Studio 项目
- Web 监控页面
🔧 改进
- 前端渲染和缓存优化
- FLOAT 过滤逻辑优化
- 移动端布局统一
- 网络/通道管理重构
🐛 修复
- ABMPAR 选项处理
- 部分内存泄漏
⚠️ 重大变更
- HTTP 服务器:Mongoose → CivetWeb(解决 GPL 风险)
v1.1.0(2026-04-29)
首个功能增强版本。
✨ 新增功能
SCRHUB 脚本管理
- 嵌入主界面
- 递归扫描脚本目录
- Cron 定时任务
- 执行日志持久化
审计日志
- 完整操作审计
- 登录、控制、管理记录
- SQLite 存储
Web 终端会话隔离
- 独立用户会话
- 命令历史记录
🔧 改进
- 用户管理界面优化
- 移动端响应式优化
v1.0.0(2026-03-22)
🎉 首次公开发布!
✨ 核心功能
多网络 RTK 监控
- 支持 500 条并发基线
- 按测网组织
- 实时状态监控
- 批量启停
Web 控制台
- 现代化界面
- 实时监测面板(ENU、卫星、DOP、Ratio)
- 运行总览
- 网络分布地图
- Web 终端
用户认证
- SQLite 数据库
- 三种角色(admin/operator/viewer)
- 会话管理
- 密码哈希
零依赖部署
- 单文件运行
- SQLite 内嵌
- CivetWeb 内嵌
- 可嵌入前端资源
🛠️ 技术栈
- C99
- RTKLIB demo5
- CivetWeb
- SQLite 3
- yyjson
- 原生 JavaScript (ES6+)
- ECharts 5.x
- Leaflet 1.x
📦 工具套件
- STRHUB
- EPHUB
- RNX2RTKP
- RNX2RTCM
🎯 性能
- 单基线:14MB → 5.6MB
- 最大:500 条基线
路线图
v1.3.0(计划中)
- RAIM 完好性监测
- 故障探测与剔除(FDE)
- 告警推送
- 数据导出增强
v2.0.0(未来)
- 分布式部署
- PostgreSQL/MySQL
- 前端框架重构
- 移动 App
升级指南
从 v1.1.0 → v1.2.0
- 备份数据
Copy-Item -Path conf, database, result -Destination backup -Recurse
-
停止服务并替换可执行文件
-
启动新版本
.\rtkhub.exe -s -k conf\rtkhub.list
数据库自动兼容,无需手动迁移。
许可证
第三方依赖:
- RTKLIB - BSD 2-Clause
- CivetWeb - MIT
- SQLite - Public Domain
- yyjson - MIT
- ECharts - Apache 2.0
- Leaflet - BSD 2-Clause