ryan
1f5bebd18a
docs(plan): add origin error page implementation plan
...
拆分为状态码解析、OpenResty 渲染、Option/快照、前端设置页与文档验收五步任务。
2026-08-06 13:44:45 +08:00
ryan
3edcdb9e9f
feat(cloudflare): add DNS pointing integration
...
Implement Cloudflare connection management, pointing groups and members, asynchronous A-record reconciliation, node IP triggers, admin APIs, management pages, migrations, tests, and documentation.
2026-08-04 12:32:37 +08:00
ryan
943818f7d4
refactor(repository): 收敛 model/repository 分层为唯一持久化入口
...
将 OpenFlare 与平台业务的数据访问从 model 与 apps 直连迁入 repository,
model 仅保留实体与无 IO 规则;补充 code-check 架构守卫与开发规范。
2026-07-24 17:00:17 +08:00
ryan
33a1c32cf8
refactor(structure): group platform, infra, and shared packages
...
Reorganize internal packages into platform/infra/shared layers and update
imports, docs, and seed-count tests to match current system configs.
2026-07-24 15:41:59 +08:00
ryan
f94767fbc7
perf(cache): 边缘缓存对齐 Cloudflare 默认模型
2026-07-23 23:39:15 +08:00
ryan
f0b51a99b3
fix(db): 重编号 Pages 部署源迁移避免版本冲突
...
main 已占用 202607190001(OpenResty 默认限流),
将 Pages source runtime / scanner seed 顺延为
202607190002、202607190003,并同步迁移测试期望配置数。
2026-07-19 19:41:30 +08:00
ryan
c92f986978
merge: 合并 PR #22 Pages 部署源 V2 到 feat/pages-source-sync-v2
...
基于最新 main 合并 deqiying/feat/pages-source-sync-v2,
解决 docs/changelog/index.md 与限流相关条目的冲突。
2026-07-19 19:36:48 +08:00
deqiying
ccea08fe47
docs(pages): 收口部署源 V2 实现
...
同步 Pages、总体架构、Agent 与使用指南,记录阶段提交、验证结果和生产验收边界。
2026-07-19 19:25:28 +08:00
deqiying
c39a3edcc3
feat(pages): 支持 GitHub Release 部署源
...
增加 latest/tag 手动检查与同步、ETag 与限流退避、资源替换确认,以及对应的前端来源管理和部署来源展示。
2026-07-19 18:31:42 +08:00
ryan
4d7b63f217
docs: add default edge rate limit implementation plan
...
Task breakdown for global OpenResty limit defaults, route inherit
semantics, security rate-limits page, and render-time merge.
2026-07-19 18:05:43 +08:00
deqiying
f386674464
docs(pages): 完善部署源 V2 实现方案
2026-07-19 16:14:09 +08:00
ryan
7366832e12
fix(agent): 内嵌 resty.ipmatcher,移除无效 opm 依赖
...
OPM 无 api7/lua-resty-ipmatcher 账号导致镜像构建失败;改为 vendor
api7 v0.6.1 并随 ManagedWAFLuaFiles 部署到 lua 目录。
2026-07-19 14:57:51 +08:00
ryan
1a7e5e6c41
perf(waf): IP 匹配改为索引查询(ipmatcher / 预编译)
...
加载时编译 IP 组与节点 IP/CIDR 索引,优先 resty.ipmatcher 基数树,
否则 exact 哈希 + 预解析 CIDR,避免大名单线性扫描打满边缘 CPU。
2026-07-19 14:48:07 +08:00
ryan
920a530aa7
feat(access-logs): 新增 IP 明细 Tab 并完善日志详情字段
...
按时间窗聚合 IP 请求数/2xx 比例/入出站流量,支持排序与详情分析;
日志明细详情仅展示请求业务字段,IP 情报迁至独立详情弹窗。
2026-07-19 00:42:59 +08:00
ryan
204f6d9a8b
fix(cache): 存量空/url 策略规范为 all,避免静默收窄
...
评审修复:enabled 且 policy 为空或 url 时,写入/展示/快照/渲染均映射为 all,
保证旧站点宽缓存范围不变;新建 UI 仍显式提交 static 作为推荐默认。
2026-07-19 00:02:52 +08:00
ryan
04f029c705
feat(cache): 开启缓存默认仅缓存标准静态资源
...
路由缓存策略新增 static(内置扩展名,不含 HTML)与 all;
存量 url 规范为 all。OpenResty 渲染与代理路由 UI 同步。
2026-07-18 23:32:49 +08:00
ryan
6f221b042e
fix(agent): 观测缓冲去重纳入 cache_status 并保留原始 -
...
避免同一请求不同缓存状态被合并丢弃;OpenResty 的 - 原样入库便于详情区分。
2026-07-18 22:56:10 +08:00
ryan
fb5a4e5b59
feat(access-logs): 上报并展示边缘缓存状态 cache_status
...
OpenResty 日志输出 $upstream_cache_status;Agent/协议/ClickHouse 贯通入库。
明细列表与详情按 HIT/MISS 等推导命中、回源、未缓存三态标签。
2026-07-18 22:50:46 +08:00
ryan
9a0974cce8
docs(obs): 边缘可观测 SSOT 设计与实施计划
...
补充 observability 设计/数据模型/传输模型,更新架构与 Agent 文档侧栏,
并写入 M5 迁移与小时汇总回填运维说明。
2026-07-18 11:53:11 +08:00
ryan
15e614b304
fix(waf): pow
2026-07-13 17:07:49 +08:00
ryan
46941f65d5
fix(waf): handle empty rule bindings
...
Encode empty site bindings as arrays and normalize legacy JSON null values in the OpenResty runtime to prevent request-time Lua failures.
2026-07-13 16:49:55 +08:00
ryan
0c2961ae6d
fix(waf): complete geography match options
...
Use full country and ISO subdivision data, show localized country names with codes, and add searchable region selection.
2026-07-13 16:34:18 +08:00
ryan
85d5c8568c
fix(frontend): stabilize WAF rule canvas
...
Use React Flow controlled node state, support deleting nodes and edges, and show node properties only after selection.
2026-07-13 14:59:20 +08:00
ryan
74ddf97b36
feat(agent): embed GeoLite2 City database
...
Initialize missing Country and City databases from embedded assets and use FyraLabs releases for periodic updates.
2026-07-13 14:38:36 +08:00
ryan
a1a997bcda
feat(waf): complete composable rule orchestration
...
Add the React Flow rule editor, ordered graph APIs and runtime DAG execution.\n\nPublish rules only on OpenResty reload and reconcile checksum-driven IP group snapshots in bounded shared memory.
2026-07-13 14:17:15 +08:00
ryan
2fff30e188
docs(waf): split orchestration migrations
2026-07-13 11:35:16 +08:00
ryan
74c2f57453
docs(waf): plan composable rule implementation
2026-07-13 11:23:34 +08:00
ryan
c624512da6
fix(frontend): serve zone detail static export fallback
2026-07-12 18:51:01 +08:00
ryan
5b52acdd6c
refactor(zone): remove legacy route domain storage
...
第二阶段清理:删除 of_managed_domains 与 of_proxy_routes 冗余域名/证书列,
移除 ManagedDomain 模型与 API、路由侧 legacy 字段维护,以及前端 WebsiteService。
ImportLegacy 在旧列/旧表缺失时跳过对应源,保持幂等。
2026-07-12 15:31:01 +08:00
ryan
350b433cc1
feat(web): add zone-based website management
...
以稳定 Zone ID 替换旧托管域名详情页:列表展示根域与域名计数,详情提供
概览/域名/路由/证书/设置 Tabs,并补齐 ZoneService 与 vitest 行为测试。
Zone 列表 API 返回 domain_count;同步 Swagger 与重构计划进度。
2026-07-12 15:23:43 +08:00
ryan
d10132fb02
docs(plan): add zone domain refactor plan
2026-07-12 14:14:25 +08:00
ryan
160e63558f
fix(clickhouse): harden R/W path P0–P3 (cleanup, durability, rollups)
...
Honest TTL cleanup semantics; enqueue-safe dedup with flush retry and writer
metrics; model insert hooks; latest-per-node and hourly metric/openresty
rollups; small-host pool/async defaults, traffic hourly TTL, and UV labeling.
2026-07-10 10:34:04 +08:00
ryan
58624db397
perf(clickhouse): Phase 2 legacy governance — TTL cleanup, unified pool, MV, ops API
...
- Replace retention ALTER DELETE with MATERIALIZE TTL; use TRUNCATE for delete-all
- Remove GORM ClickHouse pool; migrate user access log reads to ChConn
- Drop query-side trim(remote_addr); enable wait_for_async_insert=1
- Add of_node_traffic_hourly MV and dashboard traffic trend fallback
- Add GET /admin/status/clickhouse operational metrics endpoint
2026-07-02 15:47:38 +08:00
ryan
38946d1af5
fix(clickhouse): resolve lint issues from optimization stack
2026-07-02 15:28:49 +08:00
ryan
caf2ffcff4
perf(clickhouse): P1 TTL migrations, ORDER BY tune, remote_addr normalization
2026-07-02 15:25:03 +08:00
ryan
f03c88ffad
docs: update
2026-06-27 16:29:58 +08:00
ryan
3038304382
docs(design): update product boundaries and configuration references
...
- Update docs/design/index.md to document system constraints, including mandatory Redis/ClickHouse dependencies and dynamic Relay Web UI settings.
- Update docs/reference/configuration.md to reflect w_system_configs table keys, option groups, and new environment variable mappings.
- Clean up old plan files.
2026-06-27 16:03:16 +08:00
ryan
92ceecc6ce
迁移配置表
2026-06-22 22:23:49 +08:00
ryan
0b34792709
refactor(edge): Server 协议统一与 wsclient 收敛(Phase 3 Batch 3)
...
- openflare/agent/relay/flared 协议类型改为 pkg/protocol 别名,删除重复 struct
- 新增 edge/wsclient Preset 表,三组件 wsclient 改为薄包装
- 更新设计文档、计划与 changelog
2026-06-19 15:00:46 +08:00
ryan
db9a9f98fd
refactor(edge): 抽取边缘运行时共享包并完成 Phase 3 重构
...
- 新增 internal/apps/edge/,三组件改为薄包装,删除 3000+ 行重复代码
- Agent 心跳周期下沉至 heartbeat/cycle.go
- 协议类型迁入 pkg/protocol/agent.go
- 补充设计文档与 changelog
2026-06-19 14:56:00 +08:00
ryan
cc5e53c51e
文档更新
2026-06-19 14:45:17 +08:00
ryan
915c00eb34
docs: 同步 OpenFlare 迁移文档与当前实码
...
更新后端 handover、实现计划 §12 端点对照表与 changelog,
反映 legacy 层已撤销、控制台 /api/v1/d/* 与协议路径现状,
并消除 OpenFlare-Token 桥接相关矛盾表述。
2026-06-19 11:13:10 +08:00
ryan
e7b8993181
migrate frontend
2026-06-18 18:05:00 +08:00
ryan
31b114b0cc
migrate frontend
2026-06-18 17:43:11 +08:00
ryan
a9fd0bd128
migrate frontend
2026-06-18 17:26:57 +08:00
ryan
01c28bb88b
migrate
2026-06-18 17:08:21 +08:00
ryan
2480d74410
migrate
2026-06-18 16:13:39 +08:00
ryan
772962c2e9
migrate
2026-06-18 16:08:48 +08:00
ryan
3366edb3a1
plan
2026-06-18 15:42:06 +08:00
ryan
959b134d67
[优化] 目录调整
2026-06-06 16:50:24 +08:00