9c091e528b
docs(lua): add route script documentation and examples
...
- Add route script vs middleware script distinction
- Document route_type options (exact, prefix, regex, etc.)
- Add practical examples: status, health, echo, ip, json, redirect
- Document enable_file_watch for hot reload support
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-09 13:57:33 +08:00
2a532f8c28
docs(lua): update config format to match implementation
...
Replace unsupported shorthand fields (content_by_lua, etc.) with actual
scripts list format and global_settings structure.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-09 09:49:33 +08:00
4b48fd71e6
docs: add llms.txt for AI agent usage guide
...
Add comprehensive documentation file designed for AI agents to understand
and use Lolly HTTP server. Covers configuration structure, static file
serving, reverse proxy, SSL/TLS, security, Lua scripting, and common
deployment patterns.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-07 14:54:21 +08:00
7d2c71c921
chore(build): 配置 TMPDIR 避免 tmpfs 空间不足
...
- Makefile 设置 TMPDIR 为项目 tmp 目录
- 更新 docs/prompts.md 基准测试命令示例
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-29 14:57:12 +08:00
247fa81c00
fix(lua): 修复 Lua 引擎并发安全问题
...
- 缓存 coroutine.yield/status 函数,避免并发读取全局 Lua 状态机
- 添加 ngxRegisterMu 锁保护共享 ngx 表的并发写入
- 各 API 注册函数检查字段是否已存在,避免重复写入
- TCPSocket.currentOp 字段添加锁保护
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-29 14:19:11 +08:00
11e22c80b8
perf: 零分配优化与 Dial timeout 支持
...
- 添加 b2s/s2b 零分配字节-字符串转换工具函数
- WebSocket 数据转发使用 sync.Pool 复用 32KB buffer
- 条件化 Debug 日志避免非 Debug 级别的字符串分配
- 缓存键哈希计算直接写入 []byte 避免 string 转换
- 使用 bytes.EqualFold 替代 strings.ToLower 进行大小写不敏感比较
- generateETag 使用 strconv.AppendInt 避免 fmt.Sprintf
- 支持 Dial timeout 配置,区分 TCP 连接建立和总连接超时
- MaxConnsPerHost 默认值改为 512(fasthttp 推荐)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-28 20:11:20 +08:00
4562dd5a7d
docs: 添加子目录 AGENTS.md 文档
...
deepinit 生成的子目录级 AGENTS.md 文件,帮助 AI agents 理解各功能模块:
- docs/config/: advanced, basic, caching, load-balancing, lua, rewriting, security, ssl
- docs/lua/: api-gateway, authentication, caching, dynamic-routing, logging-monitoring, middleware, rate-limiting, websocket
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-23 10:35:49 +08:00
ce2d11197a
test(loadbalance,proxy): 添加上游参数和 random 算法测试
...
新增 IsAvailable/RecordFailure/RecordSuccess/filterHealthy 备份优先级、
Random 负载均衡算法测试,适配 createHostClient 签名变更。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-21 11:28:59 +08:00
6d33b9548f
docs: 添加 nginx core 模块功能分析提示
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-20 16:04:46 +08:00
cd807e43aa
docs(nginx): 添加 nginx 源码架构分析文档
...
- Upstream 模块源码实现分析(负载均衡算法、故障转移)
- Stream 模块架构分析(TCP/UDP 代理处理流程)
- Mail 模块架构概述(IMAP/POP3/SMTP 协议支持)
- 事件模块源码架构(定时器、epoll、QUIC)
- 变量系统源码实现(索引变量、前缀变量机制)
基于 nginx 1.31.0 源码分析
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-16 11:09:26 +08:00
89df85a5f4
docs(prompts): 简化任务列表,移除已完成项目
...
移除已完成的文档分析和优化任务,更新路径引用以匹配新的目录结构
(docs/nginx/ 和 lib/fasthttp/)。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-16 10:48:23 +08:00
972eab4267
refactor(docs): 重构文档目录结构,nginx 文档移至子目录
...
将 docs/ 根目录下的 nginx 相关文档统一移动到 docs/nginx/ 子目录,
提高文档组织性和可维护性。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-16 10:48:14 +08:00
0a332e8cef
docs(prompts): 添加 fasthttp 源码分析任务
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-16 09:54:24 +08:00
fd4e164ae6
refactor(security): 滑动窗口限流器使用分段锁优化并发性能
...
将单一 counters map + 全局 mutex 改为 16 buckets 分段锁结构:
- 新增 limiterBucket 结构体,每个桶独立持有 RW 锁和计数器 map
- 使用 FNV-1a 哈希算法将键均匀分布到 16 个桶中
- 各方法修改为按 bucket 分发操作:
- Allow() / allowApproximate() / allowPrecise()
- Reset() / ResetAll() / Cleanup()
- GetStats() / GetCount()
收益:
- 并发场景下锁竞争降低约 94% (16 个桶并行)
- 基准测试显示并行 Allow 操作约 89ns/op
测试验证:
- go test -race 通过并发安全测试
- 基准测试显示吞吐提升
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-14 14:26:01 +08:00
d687897090
docs: 更新 README 文档,添加 GeoIP 和 Lua 功能说明
...
- 新增 GeoIP 过滤功能介绍和配置示例
- 新增 Lua 脚本扩展功能介绍和配置示例
- 更新负载均衡算法说明,添加虚拟节点默认值
- 扩展安全功能说明,添加 trusted_proxies、auth_request 等
- 补充性能优化细节(sendfile 阈值、cache_lock)
- 更新 docs/prompts.md 提示词文档
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-13 16:19:34 +08:00
103e8ff0cf
feat(geoip): 添加基于国家代码的 GeoIP 访问控制功能
...
- 新增 GeoIPConfig 配置结构,支持 MaxMind MMDB 数据库
- 实现 GeoIPLookup 查询器,带 LRU 缓存和 TTL 支持
- AccessControl 集成 GeoIP 检查,按国家代码过滤请求
- 支持私有 IP 特殊处理策略 (allow/deny)
- 添加完整的单元测试和配置验证测试
- 新增 stream-udp.conf 示例配置文档
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-13 16:14:44 +08:00
4f6a7be44c
docs: 更新 AGENTS.md 项目文档
...
- 更新各目录 AGENTS.md 的子目录信息
- 添加新增目录的 AGENTS.md 文件
- 更新 docs/prompts.md 添加新的提示词
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-13 13:15:39 +08:00
c4adcfa76a
docs(lua): 添加定时器回调限制说明文档
...
说明定时器回调无法捕获 upvalue 的原因和替代方案。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-13 09:24:43 +08:00
6a6cfcd11c
docs(lua): 添加 Lua 配置示例和示例脚本
...
- lua-example.yaml 展示完整 Lua 中间件配置
- examples/lua-scripts/ 包含 auth.lua、content.lua、log.lua 示例
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-11 14:31:54 +08:00
bfab449241
feat(lua): 实现 Lua 中间件系统
...
添加可配置的 Lua 中间件实现,支持:
- 多执行阶段(rewrite、access、content、header_filter、body_filter、log)
- 脚本路径配置和超时控制
- 中间件启用/禁用开关
- 配置文件热加载
- 完整的单元测试和性能基准测试
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-11 13:34:34 +08:00
6543422281
docs: 添加 Nginx 配置和 Lua 脚本示例文档
...
- config: 反向代理、缓存、负载均衡、安全、SSL 等配置模板
- lua: API 网关、认证、动态路由、限流、WebSocket 等脚本示例
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-10 17:59:22 +08:00
941c44b798
docs: 添加 Lua 嵌入分析文档
...
- 新增 lua-embed-analysis.md 技术分析文档
- 新增 lua-nginx-module 文档目录
- 更新 gitignore 允许跟踪 docs/lua-nginx-module/
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-10 11:20:57 +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
a7dde660c7
docs: 更新提示词文档,完善 generate-config 分析提示
2026-04-09 13:15:14 +08:00
76213de082
docs: 新增提示词文档,使用 ultrawork 替代 /team
2026-04-09 12:19:22 +08:00
ee71270aa5
docs: 移除废弃文档,更新变量配置说明
2026-04-09 12:18:41 +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
9495a548e6
feat(proxy,server,logging): 集成变量系统和 DNS 解析器
...
变量系统集成:
- logging: 访问日志使用 variable 包展开模板
- rewrite: 重写规则支持变量展开
- proxy: 请求/响应头设置支持变量展开
DNS 解析器集成:
- app: 创建并启用 Resolver
- server: SetResolver/GetResolver 方法传递给 proxy
- proxy: SetResolver/Start 方法,后台 DNS 刷新协程
- proxy_dns.go: DNS 刷新逻辑和 IP 直连支持
新增集成测试:
- internal/integration/variable_test.go
- internal/integration/resolver_test.go
文档更新:
- docs/config-reference.md 配置参考文档
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 11:36:49 +08:00
4d108267c3
docs(nginx): 新增健康检查详解与7个高级模块文档
...
- 04-proxy-loadbalancing: 新增第18节主动健康检查详解
- 被动检查vs主动检查对比、NGINX Plus health_check/match指令
- Stream健康检查、gRPC健康检查、开源替代方案
- 新增 MQTT 模块文档 (33): broker负载均衡、Client ID路由
- 新增 OIDC 模块文档 (34): OpenID Connect认证、JWT验证
- 新增 Keyval 模块文档 (35): 动态键值存储、API管理接口
- 新增 流媒体模块文档 (36): HLS/FLV/MP4伪流媒体配置
- 新增 WebDAV 模块文档 (37): 文件共享服务器配置
- 新增 Zone Sync 模块文档 (38): 多节点状态同步
- 新增 HTTP Tunnel 模块文档 (39): HTTP CONNECT代理隧道
- 更新 README.md 目录索引
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 10:36:34 +08:00
ae027b6218
docs: 移除过时的文档文件
...
清理 docs 目录下不再需要的文档内容。
Co-Authored-By: Claude <noreply@anthropic.com>
2026-04-08 10:07:34 +08:00
db73a362af
docs(update-prompts): 更新提示词文档,移除过时的 plan.md 引用
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-04-08 09:58:11 +08:00
ee4f7a5ca9
refactor(config): 移除已废弃的配置字段
...
移除以下已标记废弃的字段:
- AuthConfig.MinPasswordLength (auth)
- FileCacheConfig.LRUEviction (file_cache)
- TransportConfig.MaxIdleConns (transport)
同时清理相关的验证逻辑、默认值设置、测试代码和文档。
Co-Authored-By: Claude <noreply@anthropic.com>
2026-04-08 09:50:32 +08:00
58e420b3ab
docs(config): 新增完整配置字段参考文档
...
- 添加 docs/config-reference.md,列出所有配置字段及枚举值
- 更新 defaults.go 注释,补充 client_max_body_size、try_files、error_page 字段说明
Co-Authored-By: Claude <noreply@anthropic.com>
2026-04-07 22:22:21 +08:00
2688ed6a9c
docs: 更新 AGENTS.md 文档,新增 benchmark/netutil/scripts 目录
...
- 根目录新增 scripts/ 和 .github/ 目录说明
- internal 新增 benchmark/ 和 netutil/ 目录说明
- middleware 新增 bodylimit/ 和 errorintercept/ 目录说明
- 更新日期为 2026-04-07
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 17:51:31 +08:00
d8ac807cb7
docs(nginx): 更新代理与 stream 文档,新增 njs/可观测性/ACME 指南
...
- 04: 新增 random 负载均衡、upstream 响应时间变量详解
- 10: 新增访问控制、连接限制、地理/真实IP模块、高级日志配置
- 24: 新增 worker_aio_requests、EPOLLEXCLUSIVE 详解
- 30: njs JavaScript 模块完整指南
- 31: OpenTelemetry 可观测性集成指南
- 32: ACME 自动证书管理指南
Co-Authored-By: Claude <noreply@anthropic.com>
2026-04-07 17:06:38 +08:00
3cc2dc7625
style(netutil,server,test): 修复代码格式问题,更新文档
...
- 修复 server.go 缩进问题
- 添加文件末尾换行符
- 格式化测试文件表格对齐
- 更新 update-prompts.md 添加新任务
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 11:38:54 +08:00
a1d84c1144
docs: 更新开发提示文档,添加代码质量检查任务
...
- 更新已有提示使用"深度分析"措辞
- 添加重复代码检测任务
- 添加 lint 检查任务
Co-Authored-By: Claude <noreply@anthropic.com>
2026-04-03 17:37:13 +08:00
ae8ea1ce0c
docs: 添加 nginx 高级主题文档 (Lua/安全/API网关/动态配置)
...
新增 5 篇深度文档:
- Lua 模块深度指南:OpenResty、ngx_lua、cosocket
- 安全深度指南:WAF、DDoS 防护、OWASP Top 10
- API 网关配置:路由设计、JWT 验证、限流配额
- 动态配置与服务发现:etcd/Consul、nginx-unit
Co-Authored-By: Claude <noreply@anthropic.com>
2026-04-03 16:57:22 +08:00
d6367a1c38
feat(http3,docs,middleware): 实现 Phase 9 HTTP/3 与性能优化扩展
...
- 新增 HTTP/3 (QUIC) 服务器支持,集成到 App 生命周期管理
- 新增 nginx 内置变量速查表文档
- 完善多篇 nginx 文档(代理、安全、流、限流、HTTP/2/3、核心事件)
- 新增一致性哈希负载均衡、gzip_static、滑动窗口限流中间件
- 扩展配置支持 HTTP/3 和日志格式选项
Co-Authored-By: Claude <noreply@anthropic.com>
2026-04-03 15:39:06 +08:00
5e19d1a5ee
docs(plan): 添加 Phase 9 规划 - HTTP/3 与性能优化扩展
...
- 规划 HTTP/3 (QUIC) 支持,使用 quic-go 库
- 规划一致性哈希负载均衡算法
- 规划 gzip_static 预压缩支持
- 规划滑动窗口限流算法
- 更新 update-prompts.md 添加新分析任务
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-03 15:02:40 +08:00
ac9153f09d
fix(proxy,stream,server): Phase 8 问题修复与功能完善
...
- WebSocket 代理集成:handleWebSocket 现调用 ProxyWebSocket 实现
- 删除 UDP Stream 冗余代码:移除 udpListener 类型及相关测试
- 热升级监听器继承:改用 net.Listen + Serve 模式支持监听器传递
- 代码格式修复:注释格式调整、字段对齐、文件末尾换行符
Co-Authored-By: Claude <noreply@anthropic.com>
2026-04-03 14:28:00 +08:00
95030cd68a
docs: 更新 AGENTS.md 文档
...
添加各模块的 AGENTS.md 文档文件,记录模块职责和代码结构
Co-Authored-By: Claude <noreply@anthropic.com>
2026-04-03 14:07:42 +08:00
80936ae66b
feat(server,proxy,ssl,docs): 完成 Phase 7 功能完善
...
主要变更:
- WebSocket 代理支持 (internal/proxy/websocket.go)
- OCSP stapling 实现 (internal/ssl/ocsp.go)
- 监控状态端点 (internal/server/status.go)
- 新增 nginx 模块文档 (19-24)
- UDP 代理超时配置支持
- 多模块代码注释完善和功能增强
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-03 13:13:12 +08:00
aa64329ba2
feat(server,handler,proxy,app): 集成未使用的中间件和模块
...
- 集成 6 个安全/功能中间件到 server.go
- 集成 GoroutinePool 和 SendFile 零拷贝
- 集成 FileCache 和 ProxyCache 缓存模块
- 集成 Stream TCP/UDP 代理模块
- 添加 Stream 配置结构到 config.go
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-03 11:27:53 +08:00
ac36cb629f
docs: 添加 nginx 模块翻译文档
...
- 翻译 nginx grpc、uwsgi、高级特性、内部重定向、镜像切片、memcached 模块文档
- 添加模块大纲和更新提示文档
Co-Authored-By: Claude <noreply@anthropic.com>
2026-04-03 10:55:02 +08:00
9d24263918
feat(stream,server,handler): 实现 Phase 6 性能优化和热升级
...
新增功能:
- stream 模块: 流式传输支持,优化大文件和实时数据传输
- Goroutine 池: 限制并发数量,减少调度开销
- 优雅升级: 零停机热升级,继承父进程监听器
- sendfile: 零拷贝文件传输,大文件直接从内核传输
重构改进:
- App 结构体封装,支持热升级和信号处理
- 配置结构字段对齐和代码清理
- 完善错误处理和日志记录
Co-Authored-By: Claude <noreply@anthropic.com>
2026-04-03 10:39:22 +08:00
b517fecc86
docs(plan): 更新 Phase 5 开发进度为已完成
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-03 10:11:55 +08:00
d4998e5634
feat(ssl,security): 实现 SSL/TLS 和安全中间件模块
...
- ssl: TLS 配置管理、证书加载、SNI 支持、现代安全默认值
- security/auth: HTTP Basic Auth (bcrypt/argon2id 密码哈希)
- security/ratelimit: 令牌桶限流、连接数限制
- security/access: IP 访问控制 (CIDR allow/deny)
- security/headers: 安全响应头 (X-Frame-Options, CSP, HSTS 等)
Phase 4 完成
Co-Authored-By: Claude <noreply@anthropic.com>
2026-04-03 09:53:18 +08:00
6ae7e32ef1
feat(proxy,loadbalance): 实现反向代理和负载均衡模块
...
实现 Phase 3 核心功能:
- loadbalance: 轮询、加权轮询、最少连接、IP哈希四种算法
- proxy: HTTP 反向代理、健康检查、故障转移
- 所有实现均为并发安全,使用 atomic 操作
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-02 17:06:29 +08:00
179aacac04
docs: 添加模块上下文文档 (AGENTS.md)
...
为各模块添加上下文文档,帮助 AI 助手理解代码结构:
- AGENTS.md: 项目根目录上下文
- docs/AGENTS.md: 文档目录说明
- internal/AGENTS.md: 内部包结构概览
- 各子模块 AGENTS.md: 模块特定上下文和约定
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-02 16:25:51 +08:00