|
|
904efa9842
|
chore(release): 发布 v0.2.0 版本
- 更新 CHANGELOG 记录所有新增功能和变更
- 版本号升级至 0.2.0
- 调整 Makefile 构建命令结构
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
v0.2.0
|
2026-04-10 09:48:35 +08:00 |
|
|
|
d1f27002e0
|
chore(golangci): 调整配置结构,迁移排除规则
将 issues.exclude-rules 移至 linters.exclusions.rules
格式统一化,移除冗余配置项
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-04-10 09:41:07 +08:00 |
|
|
|
4e826925ac
|
refactor: 适配核心模块类型重命名
适配 variable.NewContext/ReleaseContext
适配 resolver.DNSCacheEntry
适配 logging/formatJSON 常量
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-04-10 09:41:07 +08:00 |
|
|
|
2af3176507
|
refactor(middleware): 适配变量系统和 resolver 重命名
适配 variable.NewContext/ReleaseContext
适配 resolver.DNSCacheEntry
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-04-10 09:40:57 +08:00 |
|
|
|
ac8e89c492
|
refactor(http3): 适配 resolver.DNSCacheEntry 重命名
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-04-10 09:40:57 +08:00 |
|
|
|
239635301c
|
refactor(http2): 适配变量系统和 resolver 重命名
适配 variable.NewContext/ReleaseContext
适配 resolver.DNSCacheEntry
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-04-10 09:40:57 +08:00 |
|
|
|
d89e55481c
|
refactor(ssl): 适配 resolver.DNSCacheEntry 重命名
适配 resolver 模块类型重命名
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-04-10 09:40:48 +08:00 |
|
|
|
7950f17da5
|
refactor(server): 适配变量系统重命名
适配 variable.NewContext/ReleaseContext 重命名
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-04-10 09:40:47 +08:00 |
|
|
|
4c12703334
|
style(loadbalance): 使用自增运算符替代显式加法
totalWeight += 1 → totalWeight++
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-04-10 09:40:47 +08:00 |
|
|
|
649a6ed23f
|
refactor(security): 重命名 HeadersMiddleware 移除冗余前缀
SecurityHeadersMiddleware → HeadersMiddleware
NewSecurityHeaders → NewHeaders
NewSecurityHeadersWithHSTS → NewHeadersWithHSTS
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-04-10 09:40:38 +08:00 |
|
|
|
3e153f5fe1
|
refactor(logging): 提取命名常量并适配变量系统重命名
提取 formatJSON 常量替代硬编码 "json"
适配 variable.NewContext/ReleaseContext 重命名
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-04-10 09:40:38 +08:00 |
|
|
|
1ce84ce9c5
|
refactor(proxy): 提取命名常量并适配变量系统重命名
提取硬编码字符串为命名常量:
- upstreamCache = "CACHE"
- protoHTTPS = "https"
ProxyWebSocket → WebSocket
适配 variable.Context 重命名
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-04-10 09:40:37 +08:00 |
|
|
|
b28ad378fa
|
refactor(resolver): 重命名核心类型移除冗余前缀
ResolverStats → Stats
dnsCacheEntry → DNSCacheEntry (导出以符合 Go 命名规范)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-04-10 09:40:26 +08:00 |
|
|
|
4e535deb80
|
refactor(stream): 重命名 SSL 管理器类型移除冗余前缀
StreamSSLManager → SSLManager
StreamProxySSLManager → ProxySSLManager
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-04-10 09:40:26 +08:00 |
|
|
|
53319bbdd3
|
docs(variable): 更新 AGENTS.md 反映类型重命名
VariableContext → Context 相关文档同步更新
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-04-10 09:40:26 +08:00 |
|
|
|
0731dc46e4
|
refactor(variable): 重命名核心类型移除冗余前缀
VariableContext → Context
VariableStore → Store
ReleaseVariableContext → ReleaseContext (别名保留向后兼容)
提取硬编码字符串为命名常量 sslProtocolNone
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-04-10 09:40:17 +08:00 |
|
|
|
7a2b1d7e03
|
chore(makefile): 使用 goimports 替代 go fmt 格式化代码
goimports 可同时处理格式化和导入排序。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-04-09 17:58:18 +08:00 |
|
|
|
ce43d5c1d6
|
feat(cache): 新增缓存清理 API
支持通过 HTTP API 主动清理代理缓存,提供精确路径和通配符模式清理。
包含 IP 白名单和 Token 认证支持。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-04-09 17:58:18 +08:00 |
|
|
|
612208616c
|
feat(status): 支持 Prometheus 格式输出
新增 Prometheus 格式的状态指标输出,用于监控系统集成。
包含连接数、请求数、缓存、Pool、Upstream、SSL、限流等指标。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-04-09 17:51:28 +08:00 |
|
|
|
16069149a3
|
chore: 新增 golangci-lint 配置
配置项目代码检查规则,保留核心检查,禁用噪音过大的 linters。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-04-09 17:48:32 +08:00 |
|
|
|
8ecb48e246
|
feat(build): 为所有构建命令启用静态链接支持
- 新增 CGO_DISABLE 变量(CGO_ENABLED=0)
- 所有构建目标(build、build-prod、build-perf、build-pgo)均使用静态链接
- 跨平台构建(linux、darwin、windows)同样启用静态链接
- 更新 help 文案反映静态构建特性
静态链接确保二进制文件无外部依赖,便于容器化部署。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-04-09 14:54:05 +08:00 |
|
|
|
83b2a35715
|
feat(config): 完善 Resolver/SSL 默认值及 YAML 输出
- 添加 Resolver/SessionTickets/ClientVerify 默认配置
- GenerateConfigYAML 输出改为非注释格式
- 新增 Resolver、SSL 默认值、YAML 可加载性测试
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-04-09 14:44:01 +08:00 |
|
|
|
be56cae64f
|
docs: 移除废弃的 max_idle_conns 配置示例
该字段已被移除,示例配置中不应再出现。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-04-09 14:43:53 +08:00 |
|
|
|
909bccc1eb
|
refactor(http2): 使用 textproto.CanonicalMIMEHeaderKey 替代手动实现
使用标准库 net/textproto 提供的规范化函数,确保 HTTP 头键
按照 RFC 7230 规范正确处理,包括 MIME 头的特殊大小写规则。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-04-09 13:35:29 +08:00 |
|
|
|
392d0b3449
|
docs: 新增模块 AGENTS.md 文档,更新目录索引
- 新增 http2、integration、resolver、variable 模块 AGENTS.md
- 更新 internal/AGENTS.md 目录表,补充新模块条目
- 更新 docs/prompts.md 添加 generate-config 缺失项分析提示
- 同步更新日期戳至 2026-04-09
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-04-09 13:35:29 +08:00 |
|
|
|
a298ca7254
|
feat(config): 完善 GenerateConfigYAML HTTP/2 和认证配置示例输出
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-04-09 13:25:47 +08:00 |
|
|
|
a7dde660c7
|
docs: 更新提示词文档,完善 generate-config 分析提示
|
2026-04-09 13:15:14 +08:00 |
|
|
|
e03546a580
|
feat(config): 完善 GenerateConfigYAML 配置示例输出
新增 Session Tickets、mTLS 客户端验证、auth_request 外部认证、
TCP SSL、DNS resolver 及全局变量配置的 YAML 示例生成
|
2026-04-09 13:10:15 +08:00 |
|
|
|
76213de082
|
docs: 新增提示词文档,使用 ultrawork 替代 /team
|
2026-04-09 12:19:22 +08:00 |
|
|
|
4d5dda5b69
|
style(variable): 添加文件末尾换行符
|
2026-04-09 12:19:22 +08:00 |
|
|
|
84c26c61ca
|
style(benchmark): 修复代码格式和忽略无用错误返回值
|
2026-04-09 12:19:08 +08:00 |
|
|
|
668ecde6db
|
feat(variable): 新增全局变量支持,自动注入请求上下文
|
2026-04-09 12:18:56 +08:00 |
|
|
|
412bfebdd8
|
feat(http2): 新增 HTTP/2 支持,集成到服务器和应用
|
2026-04-09 12:18:52 +08:00 |
|
|
|
42533c31d2
|
chore: 更新 gitignore 和 go.mod 依赖
|
2026-04-09 12:18:45 +08:00 |
|
|
|
ee71270aa5
|
docs: 移除废弃文档,更新变量配置说明
|
2026-04-09 12:18:41 +08:00 |
|
|
|
25bdba4e01
|
test(benchmark): 新增组件级基准测试套件
- 新增 benchmark_context.go 标准化测试上下文构造器
- 新增静态文件处理器基准测试(缓存命中/未命中、try_files)
- 新增访问日志中间件基准测试
- 新增压缩中间件基准测试(gzip/brotli、Pool 复用)
- 新增限流器基准测试(令牌桶、滑动窗口、多客户端并发)
- 新增变量展开基准测试(模板展开、Pool 操作)
|
2026-04-08 18:25:38 +08:00 |
|
|
|
f46b0dee07
|
feat(benchmark): 新增分层性能回归检测策略
- PR 趋势监控使用宽松阈值,仅警告不阻塞合并
- 定期完整检测使用严格阈值,生成统计报告
- 新增阈值配置文件支持分环境配置
- 回归检测脚本支持 YAML 配置和环境参数
- 新增方差分析脚本用于推导阈值
|
2026-04-08 18:25:22 +08:00 |
|
|
|
8e27ac0f77
|
docs: 更新提示词文档,使用 /team 替代 /ultrawork
- 将 /ultrawork 替换为 /team(更适合多任务协调)
- 将 /plan 替换为 /ralplan(更适合深度分析)
- 新增完善性能基准测试的任务提示
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-04-08 15:03:10 +08:00 |
|
|
|
0602796ee1
|
feat(ratelimit): 新增后台自动清理和优雅关闭
- RateLimiter 启动时自动开启后台清理 goroutine
- 新增 StopCleanup 方法优雅关闭清理 goroutine
- 新增 AutoCleanup 和 StopCleanup 测试
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-04-08 15:03:10 +08:00 |
|
|
|
4de32812f2
|
perf(loadbalance): 预计算一致性哈希虚拟节点哈希值
- Target 结构新增 VirtualHashes 字段存储预计算哈希
- 新增 PrecomputeHashes 方法在初始化时计算虚拟节点哈希
- SelectExcludingByKey 使用预计算哈希避免运行时重复计算
- 新增 SelectExcludingByKey 测试和基准测试
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-04-08 15:03:10 +08:00 |
|
|
|
214ea4e9a6
|
perf(cache,proxy): 使用 uint64 哈希键优化代理缓存性能
- ProxyCache 的 entries 和 pending map 从 string 改为 uint64 键
- 新增 buildCacheKeyHash 使用 FNV-64a 计算哈希(零分配)
- 增加原始键碰撞验证,防止哈希冲突误匹配
- 更新相关测试和基准测试
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-04-08 15:03:10 +08:00 |
|
|
|
49d33f8b0c
|
feat(middleware/security): 新增 auth_request 外部认证中间件
- 支持将认证委托给外部服务,根据响应状态码决定请求是否继续
- 配置 URI、Method、Timeout 和自定义 Headers
- 支持 $request_uri 等变量在 Headers 中使用
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-04-08 14:37:29 +08:00 |
|
|
|
84d67c8570
|
feat(handler/static): 新增 alias 指令支持路径别名
- NewStaticHandlerWithAlias 创建带 alias 的静态文件处理器
- alias 与 root 互斥,支持路径替换而非附加
- 新增测试覆盖 alias 路径映射逻辑
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-04-08 14:37:20 +08:00 |
|
|
|
d48caf5183
|
feat(proxy): 新增代理响应临时文件处理,保护内存
- TempFileHandler 检测响应大小,超过阈值写入临时文件
- TempFileCleaner 定期清理过期临时文件
- 避免 SSR 攻击和内存溢出风险
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-04-08 14:37:13 +08:00 |
|
|
|
1a9059b1ff
|
feat(stream): 新增 TCP/UDP Stream SSL/TLS 支持
- StreamSSLManager 管理服务端 TLS 终端和客户端 TLS 连接
- 支持证书加载、mTLS 客户端验证
- 并发安全的证书配置管理
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-04-08 14:37:02 +08:00 |
|
|
|
b7de258f4e
|
feat(variable): 新增 SSL 客户端证书变量支持
- 新增 ssl_client_verify、ssl_client_serial、ssl_client_subject 等变量
- 支持从 TLS 连接状态提取客户端证书信息
- 用于日志记录和访问控制决策
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-04-08 14:36:53 +08:00 |
|
|
|
9d49349ee1
|
feat(ssl,config): 新增 Session Tickets 和 mTLS 客户端证书验证
- SessionTicketsConfig 支持 TLS 1.3 会话恢复,密钥轮换和持久化
- ClientVerifyConfig 支持双向 TLS 认证,CA 证书池和 CRL
- TLSManager 集成 SessionTicketManager 和 ClientVerifier
- 新增完整测试覆盖密钥轮换和客户端验证逻辑
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-04-08 14:36:47 +08:00 |
|
|
|
61455412eb
|
feat(variable,proxy): 新增上游变量支持,集成到代理请求处理
- 新增 upstream_addr、upstream_status、upstream_response_time 等变量
- 新增 UpstreamTiming 结构体捕获连接、首字节、响应时间
- Proxy.ServeHTTP 集成变量上下文,记录上游时间
- 新增测试覆盖上游变量和计时功能
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-04-08 14:36:37 +08:00 |
|
|
|
b72394eb3b
|
style(handler,server): 格式化测试代码结构体字段对齐
- 对齐 errorpage_test.go、static_test.go、pprof_test.go 中的结构体字段
- 纯代码格式化,无逻辑变更
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-04-08 13:30:00 +08:00 |
|
|
|
3711b12fad
|
docs(server/pprof): 添加详细函数文档注释,修复注释错字
- 为 pprof.go 和 pprof_impl.go 的所有公开函数添加文档注释
- 包含参数说明、返回值描述、使用示例和注意事项
- 修复注释错字"厉止"→"停止"
- 补充包级文档说明核心功能和用途
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-04-08 13:30:00 +08:00 |
|