Update readme

This commit is contained in:
xfy 2026-06-04 13:29:45 +08:00
parent 8757f0d5cb
commit d82afa3233

View File

@ -7,7 +7,7 @@
基于 [fasthttp](https://github.com/valyala/fasthttp) 构建,提供比标准 net/http 更高的性能。支持 HTTP/3 (QUIC)、WebSocket、虚拟主机、多种负载均衡算法、故障转移、代理缓存、Lua 脚本扩展,以及完整的安全与性能优化特性。
> **代码统计**156 个源文件 | 170 个测试文件 | ~113,000 行 Go 代码
> **代码统计**154 个源文件 | 171 个测试文件 | ~121,000 行 Go 代码
## 特性
@ -15,6 +15,7 @@
- **静态文件服务** - 零拷贝传输sendfile、文件缓存、预压缩支持、try_files 配置、ETag 和 304 Not Modified
- **反向代理** - 请求头/响应头修改、超时控制、故障转移next_upstream、Location/Refresh 头改写
- **HTTP/2** - 完整的 HTTP/2 服务器支持,包含适配器与流控
- **HTTP/3 (QUIC)** - 基于 quic-go支持 0-RTT 连接
- **WebSocket** - 完整的 WebSocket 代理支持
- **虚拟主机** - 单进程支持多域名独立配置server_name 支持通配符和正则匹配
@ -26,6 +27,12 @@
- **GeoIP 过滤** - 基于 MaxMind GeoIP2 的国家/地区访问控制
- **自定义错误页面** - 支持为特定状态码配置自定义错误页面
- **nginx 配置导入** - 支持将 nginx 配置文件转换为 lolly YAML 配置
- **变量系统** - nginx 风格变量(`$request_uri``$remote_addr``$host` 等),支持自定义变量
- **Gzip/Brotli 压缩** - 动态与预压缩gzip_static/br_static支持
- **URL 重写** - 正则替换、break/last/redirect/permanent 标记
- **目录索引** - 自动生成目录列表HTML/JSON/XML
- **访问日志** - 结构化访问日志,支持自定义格式
- **DNS 解析缓存** - 带 TTL 与统计的缓存 DNS 解析器
### 负载均衡
@ -45,16 +52,16 @@
- **连接限制** - 单 IP 并发连接数限制
- **认证** - Basic Auth支持 bcrypt 与 argon2id外部 auth_request 子请求
- **安全头部** - HSTS、X-Frame-Options、CSP、Referrer-Policy
- **SSL/TLS** - OCSP Stapling、TLS 1.2/1.3、加密套件配置、Session Tickets 密钥轮换
- **SSL/TLS** - OCSP Stapling、TLS 1.2/1.3、加密套件配置、Session Tickets 密钥轮换、客户端证书验证mTLS
- **请求体限制** - 可配置全局和路径级别的请求体大小限制
### 性能优化
- **Goroutine 池** - 限制并发 worker 数量,避免 goroutine 爆炸
- **文件缓存** - LRU 淘汰策略,内存上限控制
- **连接池** - 空闲连接复用,减少连接建立开销
- **零拷贝** - 大文件≥8KB传输使用 sendfile 系统调用
- **代理缓存** - 支持缓存后端响应cache_lock 防止缓存击穿
- **连接池** - 基于 fasthttp HostClient 的空闲连接复用,减少连接建立开销
- **零拷贝** - 大文件≥8KB在 Linux 上使用 sendfile 系统调用,其他平台自动回退到高效拷贝
- **代理缓存** - 支持缓存后端响应cache_lock 防止缓存击穿与并发回源
- **PGO 优化** - 支持 Profile-Guided Optimization 构建
### 运维
@ -115,15 +122,23 @@ internal/
├── loadbalance/ # 负载均衡算法
├── matcher/ # Location 匹配器
├── middleware/ # 中间件链
│ ├── compression/ # Gzip/Brotli 压缩
│ ├── security/ # 访问控制、认证、限流、安全头部
│ ├── rewrite/ # URL 重写
│ ├── accesslog/ # 访问日志
│ ├── bodylimit/ # 请求体限制
│ └── errorintercept/ # 错误拦截
├── lua/ # Lua 脚本引擎
├── http2/ # HTTP/2 服务器
├── http3/ # HTTP/3 服务器
├── adapter/ # HTTP/2、HTTP/3 适配器
├── stream/ # TCP/UDP Stream 代理
├── ssl/ # TLS 配置
├── cache/ # 缓存系统
├── resolver/ # DNS 解析器
├── variable/ # 变量系统
├── logging/ # 日志系统
├── converter/ # nginx 配置转换器
└── ... # 其他工具模块
```