跳转到内容

更新日志

本文件记录 OpenFlare 每个版本的重要变更。

格式基于 Keep a Changelog,版本号遵循 语义化版本

[Unreleased]

新增

  • 控制台接入中英双语(next-intl,无 URL 语言前缀):默认中文,可在顶栏或「外观设置」切换;选择写入 cookie 后刷新生效。

🛠 修复

  • 修复自定义 Webhook 推送在企业微信/钉钉返回 HTTP 200 但 errcode 非零时仍记为成功的问题;任务日志会记录上游响应体。
  • 修复 OpenTelemetry Resource 绑定 semconv schema 版本导致 SDK 升级后可能无法启动的问题。
  • 修复静态导出(build:embed)部署下切换语言无效的问题:此前页面在构建时固定为默认中文,运行时不再读取 NEXT_LOCALE;现在客户端会按 cookie/浏览器语言重新解析并切换界面语言与 html lang

💄 其他/体验

  • 前端使用 next/font 自托管 Inter,并忽略浏览器扩展改写 body 属性引起的 hydration 警告。

重大变更

IMPORTANT

3.5.1 版本解耦了日志存储,ClickHouse 变为可选项,如果想切换数据库, 点击 「任务管理」 -> 「切换日志数据库」任务,按提示迁移数据并切换主库。

[v3.5.3] - 2026-08-13

新增

  • 访问日志「日志明细」支持按 HTTP 状态码筛选,可直接输入任意状态码。
  • 访问日志「日志明细」支持自定义时间范围筛选,可按起止时间检索日志。
  • 首页看板改版:24 小时请求趋势拆分展示请求总量与 2xx/4xx/5xx 状态码类请求量并独占一行;移除宿主机磁盘指标,24 小时容量趋势(CPU/内存)并入业务流量卡片展示。

🛠 修复

  • 修复首页「来源分布」卡片在 PostgreSQL/SQLite 日志库下无数据的问题。
  • 修复源站错误页「仅针对 GET 请求」未真正透传非 GET 响应的问题:POST/PUT 等非 GET 请求现可完整看到源站原始报错内容。

[v3.5.2] - 2026-08-09

🛠 修复

  • 修复 PostgreSQL 作为日志库时节点访问日志/可观测指标/用户访问日志批量写入失败的问题,现可正常写入。

[v3.5.1] - 2026-08-09

新增

  • 日志存储解耦:ClickHouse 变为可选项,不启用时由 PostgreSQL/SQLite 承担全部日志功能;新增「切换日志数据库」任务支持 PostgreSQL/SQLite 与 ClickHouse 间数据迁移(迁移期间冻结日志写入,成功后自动切换主库并保留源数据);log_database / log_db_migration 设为受保护配置;ClickHouse 改为默认关闭。
  • 新增 PostgreSQL/SQLite 日志存储实现:节点访问日志按月分区,统计查询合并为单次扫描、IP 汇总归属地取查询窗口内最新记录、WAF 按 IP 聚合减少扫描次数,并新增 logged_at 前导索引与主机名小写表达式索引;过期清理直接删除完全过期的整月分区,启动时兜底预建当月及未来 2 个月分区。
  • 性能指标与访问日志的保留时长解耦:新增三库共用的 metric_retention_days 配置(默认 3 天),每日垃圾清理按独立短留存清理指标快照。

🛠 修复

  • 修复 UptimeKuma 同步调试日志泄露凭据:Socket.IO 事件日志不再打印 payload 内容(仅记录长度),避免凭据进入日志。
  • 修复日志保留天数配置继承旧键导致的误删风险:log_retention_days_* 不再继承 database_auto_cleanup_retention_days,统一默认 30 天。

⚡️ 优化与改进

  • 系统定期垃圾清理由每 2 小时改为每日执行一次(凌晨 3 点,Asia/Shanghai),降低非必要高频扫描。

💄 其他/体验

  • 服务工作者(SW)注入挑战页改为前台无感知:不再显示「加载中…」文案,页面空白,仅通过浏览器控制台输出 [sw-challenge] 调试信息,注入过程不打扰访客。
  • 用户访问日志(w_user_access_logs)记录禁用:不再采集与写入新的用户访问日志,存量数据与管理端访问日志统计页面保留。

[v3.5.0] - 2026-08-08

🛠 修复

  • 修复 PoW 挑战页潜在 XSS 风险,状态与错误文案改用纯文本渲染,并限制跳转 URL 仅允许 http/https 协议。
  • 修复邮件发送的邮件头注入风险,写入邮件头前自动清除 CR/LF 换行符(CWE-93)。
  • 修复 UptimeKuma 同步调试日志泄露凭据问题,输出日志前对密码和 Token 等敏感字段打码。

⚡️ 优化与改进

  • 新增 Service Worker 离线兜底功能,为启用 HTTPS 的网站自动下发 Service Worker 并缓存离线页,域名不可达时展示离线兜底页面。
  • 重构响应页面设置,将源站错误页与 Service Worker 离线页整合至统一的「响应页面」(/responses)标签页,并增加 URL 查询参数 tab 状态同步。

💄 其他/体验

  • 新增离线页内置预制模板套件(「极简白底」、「线框拓扑」、「包豪斯」),与源站错误页模板风格保持一致,支持编辑界面一键加载与预览。

[v3.4.5] - 2026-08-08

改进

  • 源站错误页支持「仅针对 GET 请求」:开启后仅对 GET 的匹配错误状态码返回自定义错误页,其它 HTTP 方法透传源站响应。

  • 升级后端 Go 依赖至最新稳定版(Gin、GORM、OpenTelemetry、ClickHouse 驱动、AWS SDK、Redis 客户端等),并完成升级兼容性适配:OpenTelemetry 资源 schema 与语义约定版本对齐,ClickHouse 驱动新增格式查询/插入接口的测试替身补齐。

  • 升级前端 npm 依赖至最新稳定版(Next.js 16.3、React 19.2、recharts 3、react-day-picker 10、lucide-react 1.x、Tailwind CSS 4.3 等),适配图表/日历组件 API 变化,并将 ESLint 配置迁移为 eslint-config-next 16 的 flat config。

  • Agent 不再将 GeoLite2 Country/City MMDB 嵌入二进制:Docker 镜像在默认数据目录 COPY 数据库文件,裸二进制首次启动时按需下载,显著减小 Agent 包体积;OpenResty 仍从磁盘路径读取 MMDB。Server 控制面仍仅内嵌 Country MMDB(不含 City),供可选 MaxMind 提供方离线初始化。

[v3.4.4] - 2026-08-06

新增

  • 新增全局源站错误页:可在「网站管理 → 错误页」配置开关、触发状态码(支持 500-599 区间与单码)与自定义 HTML;默认启用 OpenFlare 极简错误页并保持真实 HTTP 状态码,修改后随配置版本发布下发到边缘,关闭后恢复透传。
  • 源站错误页支持「仅针对 GET 请求」:开启后仅对 GET 的匹配错误状态码返回自定义错误页,其它 HTTP 方法透传源站响应。
  • 新增 Cloudflare DNS 指向管理:可复用现有 Cloudflare DNS 账号或配置独立 Token,按分组将 ZoneDomain 的单条 A 记录异步同步到边缘节点 IPv4,并支持成员橙云、同步状态与节点 IP 变更联动。

修复

  • 修复源站错误页在边缘返回 HTTP 200、页面状态码显示异常(如 0)的问题:错误响应现在正确透传上游状态码,并在页面中展示真实状态码。
  • 修复 Agent 在配置已对齐但磁盘校验和不一致时,Pages 等对账成功后仍保留 LastError 的问题,避免偶发网络失败被健康事件长期显示为「活动中」且无法自动恢复。

改进

  • 删除、撤销与未保存离开等确认操作统一改用页面内 AlertDialog,不再使用浏览器原生 confirm 弹窗,交互风格与系统其余对话框保持一致。
  • Cloudflare 分组添加域名成员时支持按顶级域分层展示、搜索筛选与批量勾选,可一次加入多个域名并排队同步。
  • Cloudflare 首页展示域名同步(sync_member)与分组同步(sync_group)任务执行记录,可筛选状态、查看详情与失败重试。
  • Cloudflare 域名/分组同步任务日志补充域名、分组、生效节点 IP、橙云状态及逐域名进度等关键信息,便于排查同步结果。
  • Cloudflare 域名同步与分组同步任务改为可在任务管理中调度的标准任务类型,并提供成员 ID / 分组 ID 参数表单。
  • Cloudflare 首页直接提供指向分组管理,并为分组详情增加自动刷新与手动刷新,减少页面跳转并及时展示同步状态。
  • 统一数据访问分层:业务持久化经 internal/repositoryinternal/model 仅保留实体与无 IO 领域规则,避免双轨 CRUD 与职责混淆。
  • 构建检查增加 internal/model 禁止直接访问数据库/Redis 的架构守卫,并收敛 model 与 repository 的错误文案定义边界。

[v3.4.3] - 2026-07-24

新增

  • 安全性限流支持全局与站点级单 IP 请求频率限制(如 10r/s、100r/m):站点可空/0 继承全局、-1 关闭或自定义;触发时边缘返回 429,并按站点隔离计数。
  • 反代站点「流量限制」页可直接配置上述请求频率策略。

改进

  • 边缘缓存对齐 Cloudflare 默认模型:不再因请求会话 Cookie、Authorization 或客户端 Cache-Control 一律跳过缓存;响应带 Set-Cookie 时不写入边缘;无源站缓存头时按状态码使用默认 Edge TTL;标准静态扩展名默认不再包含 JSON。生效需重新发布节点配置。
  • IP 组自动规则中的 StatusCount / StatusRatio 支持状态码类写法(如 "2xx""4xx""5xx"),便于按整类错误率匹配。
  • IP 组同步间隔下限由 5 分钟调整为 1 分钟,便于更频繁同步自动/订阅名单。
  • 自动 IP 组回看窗口字段由 lookback_minutes 调整为 lookback,支持 60m1h 等时长写法,并移除最小 5 分钟限制(兼容旧字段)。
  • 限流页请求压力图的 RPS 纵轴按可见时间窗口最高值的 1.5 倍动态缩放,拖动底部时间范围条时同步更新。

修复

  • 修复 Cloudflare DNS 指向功能在 PostgreSQL 初始化迁移时因 authorization 保留关键字导致启动失败的问题。

  • 修复 IP 组自动抓取使用预设规则时未写入 ttl 字段的问题,避免配置 JSON 缺少封禁时长。

  • 修复限流相关迁移中表名错误,确保升级脚本正确执行。

[v3.4.2] - 2026-07-19

新增

  • 安全性新增「限流」设置:可为边缘站点配置默认并发与带宽;站点未设置时继承,填 -1 可显式关闭。
  • Pages 项目新增持久部署源,可配置 Remote URL 或公开 GitHub Release,并支持手动检查、同步发布、来源状态查看与同一 Release 资源替换确认;GitHub latest 来源可按设定间隔自动检查并发布更新,部署历史会保留安全的来源快照。
  • Pages 部署源默认扫描间隔调整为每天一次,部署源任务可在任务管理中查看与调度。

改进

  • 站点流量限制语义调整为空或 0 继承全局默认、-1 关闭、大于 0 自定义;修改全局默认后需发布配置版本生效。
  • Agent Docker 部署命令默认挂载命名卷 openflare-agent-pages 持久化 Pages 目录,重建容器时无需重新拉取静态站点包。
  • 限流页新增「分析」视图:默认展示近 24 小时请求压力(RPS)与独立访客双轴趋势(3 分钟桶),支持域名过滤与 24 小时/3 天预设,并按窗口平均 RPS 排行域名与 IP;原全局默认配置迁入「配置」页签。
  • Pages 详情页重构为「部署 / 设置」Tab,部署源卡片样式更紧凑统一,Remote URL 改为明文编辑。

修复

  • 修复 Pages 部署包路径校验、归档展开限额、历史版本裁剪、代理路由绑定与 Agent 下载过程中的安全和一致性问题;大包改为流式处理,部署入口、旧版目录切换、保留版本及上传记录在并发场景下更加可靠,异常中断遗留的部署包也会被安全补偿清理。

[v3.4.1] - 2026-07-19

新增

  • WAF 规则编排新增「UA 检查」节点:可要求携带 User-Agent、按浏览器/操作系统白名单(且/或)匹配,并优先屏蔽常见爬虫、非正常 UA(不含爬虫)与自定义正则 UA。
  • WAF 规则编排新增「安全防护」节点:可开关路径穿越、文件包含、SQL 注入、XSS、命令注入、SSRF、恶意上传、XXE 与 CRLF 等基础特征检测;默认仅开启路径穿越与文件包含。

改进

  • 新建反代规则时默认开启边缘缓存,策略为仅缓存标准静态资源。
  • 节点详情页 Tab 调整为「概览」与「状态与部署」:原数据看板并入概览;运行状态与配置信息并入状态与部署;边缘节点新增可自动填充 Server URL 与 Agent Token 的 Docker 部署命令卡片。
  • 节点详情「运行诊断」摘要不再展示具体错误日志,避免长日志撑破布局。
  • WAF 规则编辑器支持为节点自定义显示名称,并从节点库拖放到画布指定位置添加节点。
  • WAF 规则画布支持右键删除节点或连线,并屏蔽浏览器默认右键菜单。
  • WAF 规则编辑器支持一键格式化布局,按流程层次自动整理节点位置。
  • 优化边缘 WAF「安全防护」与「UA 检查」热路径:SQL/命令/XSS 等仅扫描 Query、Cookie、Referer 与有限 Body,避免对全部请求头做特征匹配;路径检测不再重复扫描完整 request_uri;无请求体时跳过 Body 读取;UA 分类仅小写一次并加速白名单匹配,显著降低开启基础防护时的 CPU 占用。
  • 优化边缘 WAF「IP 匹配」:IP 组与节点 IP/CIDR 在加载时编译为索引(优先随 Agent 下发的 resty.ipmatcher 基数树,否则 exact 哈希 + 预解析 CIDR),查询与名单规模解耦,避免大名单线性扫描打满 CPU。
  • Agent 内嵌 resty.ipmatcher,部署时不再依赖无效 opm 包。

修复

  • 收紧 WAF 安全防护特征,降低对常见正常请求的误伤(含避免 SQL 特征 /* */ 误匹配 Accept: */*)。
  • 优化 WAF 规则编辑器返回按钮、列表操作与属性栏布局体验。

[v3.4.0] - 2026-07-19

新增

  • 访问日志重构为「概览」「IP 明细」与「日志明细」:概览含请求量/访问量/带宽趋势与 Top 排行;IP 明细可按时间窗查看请求数、2xx 比例、入出站流量并支持详情分析;日志明细展示完整请求字段。
  • 边缘访问日志支持 User-Agent 与 cache_status(命中/回源/未缓存);概览新增设备类型、浏览器、操作系统与状态码分布。
  • 访问日志概览支持按 Zone/域名多选筛选;明细列表在 IP 旁展示地区信息。
  • 新建站点开启缓存时推荐「标准静态资源」(不含 HTML);原按 URL/空策略存量行为保留为「所有可缓存 GET」。
  • Pages 现支持上传 zip、tar.gz、tar.xz、tar.bz2、tar、7z 等常用压缩格式的部署包。
  • 管理员可在运维设置中配置 Pages 部署包大小上限与每个项目的历史部署保留数量。
  • Pages 支持从 URL 导入部署包:填写下载链接后由控制面代为拉取并创建部署。
  • 观测存储新增 of_node_edge_healthof_access_log_hourly,业务趋势优先读访问日志小时汇总。
  • 访问日志增加 request_length / request_time_ms,用于接收数据与耗时统计。

修复

  • 修复访问日志概览按域名筛选无效的问题,现已兼容 hosts / hosts[] 参数。
  • 修复 Agent 观测缓冲合并访问日志时忽略 cache_status 导致缓存状态被去重丢弃的问题。
  • 修复访问日志概览在 ClickHouse 查询失败时静默吞错的问题,现会输出错误日志。
  • 修复数据看板业务流量趋势与已提供数据口径不一致的问题:业务量统一由访问日志聚合。
  • 修复节点地图在缺少精确经纬度时,把香港/新加坡/台湾等地区错误标到占位坐标的问题。

变更

  • 边缘观测改为「访问日志为业务唯一真相」:Agent 仅上报明细、主机指标与 OpenResty 健康/连接;协议去掉旧兼容字段,升级需重建或替换 Agent
  • Agent 默认心跳改为 3 秒、离线判定 60 秒,离线补传窗口默认 60 分钟。
  • 看板 UV 使用窗口内真正去重;Zone 曲线标明分桶 UV;磁盘读写改为按小时速率(B/s)展示。
  • 不再采集或展示宿主机网卡入/出站;网络趋势仅保留访问日志已提供/接收数据。
  • Pages 包大小与历史保留可配置,边缘按项目只保留最新激活部署;创建规则表单与详情一致支持直连/隧道/Pages 源站类型。
  • 优化 Pages 部署包校验性能:不再为包内每个文件计算哈希,整包校验和保障完整性。
  • 优化访问日志排行榜与饼图布局;页签状态支持 URL 参数记忆。
  • 启用 cache_status 与边缘缓存策略变更需执行相关迁移并重新发布节点配置。

移除

  • 移除请求预聚合表与 OpenResty 吞吐观测相关路径;管理端不再返回 traffic_reportsopenresty_rx|tx
  • 访问日志已移除时间折叠视图;IP 情报从日志明细详情迁出至 IP 明细。

[v3.3.0] - 2026-07-14

新增

  • WAF 规则现支持可视化编排、版本冲突保护和按顺序绑定路由,便于创建和维护复杂的防护策略。
  • WAF IP 组现支持按城市匹配来源地址,帮助更精细地控制访问范围。

变更

  • 优化了 WAF 规则编辑器的初始视图和操作方式,编辑规则时可看到更多上下文并可直接管理节点、连线和启用状态。
  • WAF 地域匹配编辑器改用完整国家与一级行政区数据,国家选项同时显示中文名称和 ISO 代码,行政区支持按名称或代码搜索。
  • Agent 现内置国家和城市地址库,首次启动无需下载即可使用地区匹配功能,并会在后续自动更新数据。
  • 默认关闭 Redis maintenance notifications 自动协商,减少不支持该功能的 Redis 服务产生兼容性警告。

移除

  • 移除了 WAF 旧版固定名单与人机验证配置;升级后请在发布前使用新的可视化规则重新编排防护策略。

[v3.2.0] - 2026-07-12

新增

  • 新增网站和域名管理能力,并提供 24 小时、7 天和 30 天的流量概览,便于集中查看访问趋势和已提供的数据量。

变更

  • 网站管理入口调整为网站详情中的概览、域名、路由、证书和设置页面,域名与证书的关联方式更加统一。
  • 配置发布、边缘代理和监控现统一从网站域名读取域名与证书,减少配置不一致导致的运行问题。
  • 自动清理说明明确了分析数据的最短保留期限,便于管理员预期数据保存时间。

移除

  • 移除了旧版托管域名管理入口,请改用网站及网站域名管理功能。
  • 移除了网站、域名、路由和 WAF 相关对象的备注字段;证书和源站备注仍可继续使用。

修复

  • 修复了网站概览中已提供的数据量无法统计的问题,使流量数据更加准确。
  • 修复了嵌入式前端打开网站详情时可能错误跳回首页的问题。
  • 修复了 Docker 部署中 ClickHouse 可能无法从宿主机访问的问题。

[v3.1.2] - 2026-07-10

修复

  • 修复了节点和仪表盘在 24 小时范围内容量、网络与磁盘趋势数据不完整的问题。
  • 优化了 ClickHouse 的写入、查询和后台处理方式,降低节点空闲时的资源占用并提升高负载下的稳定性。
  • 修复了数据保留清理和写入失败重试的统计问题,使清理结果和运行状态更可信。
  • 改进了小规格环境下的 ClickHouse 部署配置,减少启动和连接争用问题。

[v3.1.1] - 2026-07-06

修改

  • 默认关闭登录页面的人机验证,减少普通登录流程的额外操作;管理员仍可按需启用。

[v3.1.0] - 2026-07-04

变更

  • 优化了分析数据的写入、查询、缓存和自动过期策略,降低高频心跳和访问日志对系统资源的影响。
  • 调整了 ClickHouse 的连接、批处理和 Docker 部署配置,提升小规格环境下的运行稳定性。
  • 收紧了审计访问日志的请求头记录范围并进行脱敏,减少敏感数据暴露风险。
  • 更新了管理后台的文档入口和全局搜索范围,使常用功能更容易查找。

修复

  • 修复了数据库迁移、系统自更新和设置页跳转可能失败的问题。

[v3.0.2] - 2026-06-30

修复

  • 修复了历史数据迁移后 PostgreSQL 自增编号可能与现有数据冲突的问题,避免后续创建记录失败。

[v3.0.1] - 2026-06-30

新增

  • 新增用户资料编辑、密码重置和按邮箱搜索功能,便于管理员维护用户账号。
  • 新增命令行密码重置工具,方便无法登录管理后台时恢复账号访问。

修复

  • 修复了创建 DNS 账号可能失败的问题。
  • 修复了主题切换后侧边栏和危险操作按钮颜色异常的问题,提升界面可读性。
  • 修复了部分服务运行模式无法正确启动的问题。

[v3.0.0] - 2026-06-27

升级与迁移注意事项

WARNING

本次重构涉及数据库表结构以及环境变量的重大变更,老版本务必从 v2.3.4 最新版本升级迁移,否则可能导致数据库结构不兼容或管理端 API 无法访问。 升级前务必备份数据库

重大重构说明

本版本完成了控制面的重大升级:

  • 管理后台重构为统一的用户、登录验证和系统设置体验,配置管理更加集中。
  • 网站管理拆分为域名、路由、静态托管、WAF 和缓存等独立能力,更适合维护复杂站点配置。
  • Tunnel 节点统一纳入节点管理,配置发布和运行状态查看更加一致。

[v2.3.4] - 2026-06-17

变更

  • 访问日志列表查询将分页与计数下推到数据库执行,避免百万级数据全量加载到内存。
  • 访问日志 total_ip 统计改为 SQL UNION + COUNT(*) 下推执行,分片计数与分页查询并行化。
  • 访问日志折叠视图、IP 汇总与趋势改为 SQL GROUP BY 聚合;过滤条件改为 node_id 精确匹配及其他字段前缀匹配以利用索引。
  • 标准化 Server Go 目录结构,引入 cmd/serveropenflare-server/internal 与根级 pkg 分层,并拆分原 utils 公共能力包。

[v2.3.3] - 2026-06-06

新增

  • 新增密码登录人机验证(基于 Proof-of-Work 和无感浏览器检测的 Cap 验证码防护)
  • 新增后端 PoW 校验服务,实现 FNV-1a/XORShift PRNG 难题生成、验证及 JWT 难题校验算法,支持基于路由路径参数 scope 进行验证流的强校验与安全隔离
  • 新增线程安全的内存 TTL 核销缓存,支持高并发与 Single-use 难题令牌防重放
  • 新增 Gin 拦截中间件与参数化路由 /api/cap/:scope/challenge/api/cap/:scope/redeem,登录接口 POST /api/user/login 自动从 HTTP 请求头校验 X-Cap-Token 并放行
  • 前端登录页集成 cap-widget 组件,配置 /api/cap/login/ 隔离端点按需加载 CDN 脚本,实现静默 PoW 求解与令牌提交
  • 管理后台系统设置页“登录与注册开关”中新增“启用登录人机验证”开关,支持热更新全局防护状态
  • 新增 Agent 交互式安装向导,支持选择本地安装和 Docker 运行模式;未传参数时自动进入交互菜单
  • 新增 Docker 运行模式的智能环境检查,检测到未安装 Docker 时支持一键在线安装,中国大陆环境支持多镜像源自动测速优选与加速器配置
  • 新增 Agent 交互式卸载向导,支持选择本地卸载和 Docker 容器卸载模式;未传参数时自动进入交互菜单

变更

  • 重构 install-agent.sh 安装脚本与 uninstall-agent.sh 卸载脚本以兼容交互式导引、非交互式命令行参数及 Docker 部署/卸载参数(--docker/--method docker
  • 重构 Go 包依赖结构为统一模块(Monorepo),模块命名为 github.com/rain-kl/openflare
  • 移除各子目录下独立的 go.mod/go.sum 文件,统一由根目录 go.mod 进行全局依赖管理与依赖版本锁定
  • 替换全仓库 Go源文件中的内部引用路径,由本地相对路径迁移为标准 GitHub 绝对导入路径
  • 适配 Docker 镜像构建,所有组件镜像的 Dockerfile 调整为基于根目录的上下文编译
  • 更新 GitHub release 自动化发布流水线,适配全新 monorepo 包结构与符号信息注入路径
  • 简化并重构数据库历史迁移校验逻辑,将版本 2 至 6 的中间校验函数合并到基线校验函数 validateDatabaseSchemaV7 中,消除冗余代码
  • 重构数据库历史迁移校验架构,引入基于 GORM 反射解析(schema.Parse)的通用自动表结构校验,彻底废弃老版本中大量手动编写的 HasTable/HasColumn 结构字段存在性检测代码

[v2.3.2] - 2026-06-04

说明

IMPORTANT

2.3.2 开始使用 JWT_SECRET 环境变量替代 SESSION_SECRET 进行管理端 API 的 JWT 签名密钥管理。SESSION_SECRET 将会在之后的版本中逐步废弃,请务必尽快迁移到 JWT_SECRET。

新增

  • 新增 JWT_SECRET 环境变量,专用于管理端 API JWT 签名密钥;生产环境必须显式配置
  • 新增 VitePress 更新日志页面(docs/changelog/index.md),记录所有版本变更历史

变更

  • 管理端 API 鉴权框架迁移至 gin-jwt
  • 认证方式变更为 Headers 认证.
  • JWT_SECRET 优先于 SESSION_SECRET 用于 JWT 签名;未配置时回退到 SESSION_SECRET,向下兼容
  • 屏蔽手动升级入口(/api/update/manual-upload/api/update/manual-upgrade),前端隐藏对应 UI 组件

[v2.3.1] - 2026-06-03

变更

  • 屏蔽手动升级入口,前端隐藏对应 UI 组件
  • POW 与 WAF 规则合并, 统一逻辑处理

[v2.3.0] - 2026-06-03

新增

  • WAF IP 组支持订阅模式,可从远程文本或 JSON 源定时同步
  • 新增 Pages 静态站点托管,支持 SPA fallback 路由配置
  • Agent 实现 WebSocket 实时推送,Server 发布配置后立即通知在线 Agent

变更

  • Agent 数据面与 OpenResty 合并为集成镜像部署方式
  • 访问日志与观测数据支持数据库分片,按 ID 分片替代原有逻辑

[v2.2.8] - 2026-06-03

修复

  • 修复多域名部署场景下跨域认证绕过安全漏洞

[v2.2.6] - 2026-06-02

新增

  • 新增 Uptime Kuma 集成,支持自动同步监控任务
  • WAF 新增 PoW(工作量证明)防护能力,可配置有效期

变更

  • 内网穿透支持 TunnelRelay 中继节点(frps),新增 OpenFlared 客户端(frpc)

[v2.2.5] - 2026-06-02

新增

  • 新增 WAF 自动 IP 组,支持基于 Expr 规则定时聚合请求日志更新名单
  • WAF IP 组黑白名单支持直接引用 IP 组对象

变更

  • WAF 规则组与网站解耦,支持全局规则组和自定义规则组独立管理

[v2.2.4] - 2026-06-02

新增

  • WAF 规则组新增拦截返回配置 Tab

修复

  • 修复 WAF 配置发布后部分规则不生效的问题

[v2.2.3] - 2026-06-02

新增

  • 新增 WAF 安全防护模块,支持 IP 黑白名单和地域拦截规则

[v2.2.2] - 2026-06-01

变更

  • 观测数据支持按时间窗口自动清理,新增数据库自动清理调度器

[v2.2.1] - 2026-06-01

修复

  • 修复仪表板概览数据压缩与规范化问题

[v2.2.0] - 2026-06-01

新增

  • 新增 TLS 证书转换为 ACME 托管证书的接口(/convert-acme
  • 新增 ACME 账号与 DNS 账号管理页面
  • 支持 Let's Encrypt 自动申请与续期

[v2.1.1] - 2026-06-01

变更

  • Agent 架构调整,采用集成镜像方式内置 OpenResty

[v2.0.3] - 2026-05-31

修复

  • 修复版本号生成逻辑,确保使用当日最大序列号

[v2.0.1] - 2026-05-30

修复

  • 修复 GitHub 登录逻辑异常

[v2.0.0] - 2026-05-30

新增

  • 全面重构发布模型,引入配置版本不可变快照机制
  • 支持配置版本回滚(重新激活旧版本)
  • 新增 source_config_jsonsupport_files 供 Agent 获取完整配置包
  • 新增节点专属 Agent Token 与 Discovery Token 双轨鉴权

变更

  • 数据库迁移框架切换至 goose,统一管理版本升级步骤
  • Agent API 与管理端 API 鉴权完全分离

[v1.9.3] - 2026-05-30

修复

  • 修复节点 IP 自动探测逻辑,优先使用公网地址

[v1.9.2] - 2026-05-29

变更

  • Agent 心跳超时后自动退回 HTTP 轮询模式

[v1.9.1] - 2026-05-29

修复

  • 修复 Agent WebSocket 升级失败时的重连逻辑

[v1.9.0] - 2026-05-29

新增

  • Agent 支持 WebSocket 长连接,Server 发布后实时推送配置变更

[v1.8.0] - 2026-05-26

新增

  • 支持自定义 DNS 解析器(OpenRestyResolvers
  • 新增历史配置快照清理功能

变更

  • CORS 配置支持动态源与凭证
  • 上游统一渲染为命名 upstream 并启用 keepalive

[v1.7.0] - 2026-05-25

新增

  • 新增 ACME 和 DNS 账号管理功能,支持证书申请与续期

变更

  • 移除新用户注册功能
  • 更新 Go 版本要求至 1.25+

[v1.6.1] - 2026-05-13

修复

  • 修复个人设置页无法查看第三方认证源及解绑功能

[v1.6.0] - 2026-05-13

新增

  • 支持 OIDC 单点登录(SSO)

[v1.5.0] - 2026-04-25

新增

  • 集成 PoW(Anubis)防护,支持有效期配置

[v1.4.0] - 2026-04-01

新增

  • 支持域名级别独立绑定 TLS 证书,每个域名可单独选择证书
  • 新增批量更新配置项接口
  • 新增 Agent 卸载脚本

变更

  • 禁用新用户自助注册
  • 默认服务器块新增 HTTPS 握手拒绝支持

[v1.3.2] - 2026-03-30

新增

  • 网站配置支持多域名绑定与共享设置
  • 新增抽屉式规则创建组件

[v1.3.1] - 2026-03-20

新增

  • 新增源站管理功能,支持源站创建、更新与删除

变更

  • 重构代理路由页面,优化输入组件与样式

[v1.3.0] - 2026-03-19

新增

  • 新增数据库观测数据手动和自动清理策略
  • 节点访问日志支持数据库分片,按 ID 分片

变更

  • 数据库版本管理与迁移逻辑重构

[v1.2.0] - 2026-03-19

新增

  • 支持多上游地址负载均衡
  • 新增缓存策略配置(路径前缀、精确路径)
  • 节点健康事件清理功能

变更

  • 上游渲染改为命名 upstream 并启用 keepalive
  • 更新 HTTPS 配置,启用 reuseport 与 epoll 事件模型

[v1.1.2] - 2026-03-18

变更

  • HTTPS 启用 HTTP/2 支持

[v1.1.1] - 2026-03-18

新增

  • 新增获取配置版本详情 API

变更

  • 仪表板概览数据结构优化,添加压缩与规范化

[v1.1.0] - 2026-03-18

新增

  • 新增应用日志分页查询与清理功能
  • 新增访问日志 IP 汇总与趋势查询
  • 新增 OpenResty DNS 解析器指令支持
  • Docker 部署支持在运行中容器内执行 reload

修复

  • 修复应用结果警告逻辑
  • Lua 和证书文件管理重构,优化文件同步与清理机制

[v1.0.2] - 2026-03-17

新增

  • 支持 PostgreSQL 数据库,添加数据库迁移逻辑
  • 新增 Docker Compose 配置,支持 PostgreSQL 联动部署

变更

  • 多个管理端 API 请求方法从 PUT/DELETE 统一改为 POST

[v1.0.1] - 2026-03-16

新增

  • 新增 origin_host 字段,支持覆盖回源请求的 Host 头

修复

  • 修复代理配置中 SSL 服务器名称和主机头覆盖逻辑

[v1.0.0] - 2026-03-15

OpenFlare 首个正式版本发布。

新增

  • 管理端 UI、管理 API、Agent API 基础功能
  • 反向代理配置管理与 OpenResty 配置渲染
  • 配置版本发布与 Agent 同步
  • TLS 证书导入与管理
  • 节点注册、心跳与状态观测
  • SQLite 数据库支持

基于 Apache License 2.0 发布