Commit Graph
59 Commits
Author SHA1 Message Date
tbphp 6c639478dc feat: Security-hardening Optimization (#225)
* fix: code error

* feat: opz security

* feat: Optimize batch key encryption

* feat: Optimize batch test key

* feat: Perfect encryption key

* docs: failed-to-decrypt

* feat: Security alert

* feat: Encryption migrate command

* fix: migrate command error

* feat: Adjust data length

* feat: Adjust data length

* docs: input text

* fix: Deterministic Encryption

* feat: Optimize security algorithms

* feat: Support KeyHash

* fix: Fix migration script field order issue

* fix: Fix log export key issue

* fix: code style

* fix: migrate order offset

* fix: Resolve migration script compatibility issues

* feat: Adjust Redis cleanup policy

* fix: migrate for sqlite

* fix: migrate

* fix: rm group_key_inx

* fix: rm group_key_inx

* fix: filter null hash data

* docs: log warn

* docs: update readme
2025-09-05 15:45:16 +08:00
tbphp 21b3d3b05d fix: Requestbody database compatibility issue 2025-08-24 22:46:19 +08:00
tbphpandlimliu d0aec6b02d feat: 优化日志功能 (#209)
* feat: 添加请求和响应体日志记录功能

- 在 RequestLog 模型中添加 request_body 和 response_body
  字段用于存储完整的请求和响应内容
  - 修改响应处理器以捕获和返回响应体内容,支持流式和非流式响应
  - 更新代理服务器逻辑,在请求日志中记录请求体和响应体
  - 在前端日志表格中添加详情查看功能,支持查看完整的请求和响应内容
  - 提供 JSON 格式化显示和语法高亮,提升日志查看体验

* feat: 添加是否记录响应和请求体按钮

* fix: 修改请求和响应体记录选项的默认值为false

* feat: 添加分组级请求体日志记录控制功能

- 分组 - 高级配置 - 分组配置添加"禁用请求和响应体日志记录"选项
  (disable_request_body_logging),覆盖系统设置

* refactor: 重构请求体响应体记录分组级别逻辑

- 不再单独处理分组设置,系统和分组使用同一个配置key
- 具体逻辑:
  - 系统启用 + 分组不做配置 = 记录
  - 系统启用 + 分组启用 = 记录
  - 系统启用 + 分组禁用 = 未记录请求内容(此分组已禁用请求体记录功能)
  - 系统禁用 + 分组开启 = 未记录请求内容(系统设置中已关闭请求体记录功能)
  - 系统禁用 = 未记录请求内容(系统设置中已关闭请求体记录功能)

* feat: 优化日志详情记录

* fix: space

* fix: code

* feat: 记录重试日志

* feat: 内容复制

* feat: 删除响应内容记录

* feat: 优化请求日志记录

* feat: 统计过滤重试日志

* feat: 优化日志详情记录

* feat: 移除url的key记录

* feat: 移除请求key

* feat: remove highlight.js

* feat: format

* fix: 恢复误删的keydelete

---------

Co-authored-by: limliu <lim.liu.01@outlook.com>
2025-08-23 16:13:26 +08:00
LimLLLandlimliu 54f561694c feat: 添加请求和响应体日志记录功能 (#180)
* feat: 添加请求和响应体日志记录功能

- 在 RequestLog 模型中添加 request_body 和 response_body
  字段用于存储完整的请求和响应内容
  - 修改响应处理器以捕获和返回响应体内容,支持流式和非流式响应
  - 更新代理服务器逻辑,在请求日志中记录请求体和响应体
  - 在前端日志表格中添加详情查看功能,支持查看完整的请求和响应内容
  - 提供 JSON 格式化显示和语法高亮,提升日志查看体验

* feat: 添加是否记录响应和请求体按钮

* fix: 修改请求和响应体记录选项的默认值为false

* feat: 添加分组级请求体日志记录控制功能

- 分组 - 高级配置 - 分组配置添加"禁用请求和响应体日志记录"选项
  (disable_request_body_logging),覆盖系统设置

* refactor: 重构请求体响应体记录分组级别逻辑

- 不再单独处理分组设置,系统和分组使用同一个配置key
- 具体逻辑:
  - 系统启用 + 分组不做配置 = 记录
  - 系统启用 + 分组启用 = 记录
  - 系统启用 + 分组禁用 = 未记录请求内容(此分组已禁用请求体记录功能)
  - 系统禁用 + 分组开启 = 未记录请求内容(系统设置中已关闭请求体记录功能)
  - 系统禁用 = 未记录请求内容(系统设置中已关闭请求体记录功能)

---------

Co-authored-by: limliu <lim.liu.01@outlook.com>
2025-08-21 22:07:56 +08:00
0bcc068cb8 refactor: 规范错误处理 (#202)
* solve Fix: resource has been exhausted counted as failure count

* solve Fix: resource has been exhausted counted as failure count

* Update provider.go

* Update provider.go

* Update provider.go

* fix

* fix2

* fix

* feat: uncount error

* refactor: 规范错误处理

* fix: 简化判断

* feat: 调整错误处理顺序

* docs: 增加备注

---------

Co-authored-by: kikii16 <3372550@gmail.com>
Co-authored-by: kiki <40960890+vickyyd@users.noreply.github.com>
2025-08-21 22:02:20 +08:00
kikiandkikii16 060c9d94a9 feat: 定义不进行失败计数的错误类型 (#159)
* solve Fix: resource has been exhausted counted as failure count

* solve Fix: resource has been exhausted counted as failure count

* Update provider.go

* Update provider.go

* Update provider.go

* fix

* fix2

* fix

---------

Co-authored-by: kikii16 <3372550@gmail.com>
2025-08-21 21:38:34 +08:00
tbphp 8d0562ccf9 feat: 允许自定义Header并支持变量 (#168)
* feat: 允许自定义Header并支持变量

* feat: 缓存header序列化数据

* feat: 调整自定义请求头变量
2025-08-16 13:06:44 +08:00
Enochandenoch 835b840402 feat: 排除404状态码避免无意义重试 (#146)
当请求资源不存在时,不代表key无效,反而可能错误地将key判断为无效,而且此时重试没有意义

Co-authored-by: enoch <clzhao98@outlook.com>
2025-08-11 07:38:07 +08:00
tbphp 2be2ea697e feat: 请求日志添加模型字段 (#113)
* feat: 请求日志添加模型字段

* fix: 调整gemini判断模型顺序
2025-08-03 12:29:18 +08:00
tbphp 655b67eb5c refactor: 优化流式响应的性能和兼容性 2025-07-26 12:45:49 +08:00
tbphp b9755700cc fix: 清理客户端auth key 2025-07-22 15:55:10 +08:00
tbphp 9c5933289a Merge pull request #17 from tbphp/fix-log-apikey-error
Fix log apikey error
2025-07-17 18:36:08 +08:00
tbphp a64d48439f fix: 冗余日志group和key字段 2025-07-16 22:39:41 +08:00
tbphp 1c9b010ca8 fix: 返回错误状态 2025-07-16 14:18:36 +08:00
tbphp ee400afbcd feat: 请求成功时不再重置失败 2025-07-14 20:21:19 +08:00
tbphp 807b766e79 feat: 日志增强 2025-07-14 00:18:15 +08:00
tbphp b2374841e5 fix: 流式换行符修复 2025-07-13 11:04:24 +08:00
tbphp 25d65b0a94 fix: 日志错误格式修复 2025-07-12 11:22:01 +08:00
tbphp 13d7c4dbad feat: 请求日志记录 2025-07-12 10:15:07 +08:00
tbphp f655de3cda feat: 配置优化梳理 2025-07-11 21:23:56 +08:00
tbphp 1368792aa0 feat: 优化代理服务 2025-07-11 17:11:00 +08:00
tbphp 6ffbb7e9a1 feat: 代理调试版本 2025-07-11 14:01:54 +08:00
tbphp ae4644f287 fix: server close 2025-07-09 17:24:13 +08:00
tbphp 747f130f7e feat: key provider 2025-07-07 18:55:06 +08:00
tbphp 13adf2ef8b feat: 将interface{}替换为any以提高代码一致性 2025-07-04 21:22:25 +08:00
tbphp 01b86f7e30 feat: 密钥管理 2025-07-04 21:19:15 +08:00
tbphp c0594d068e feat: 完善api错误提示 2025-07-03 21:33:16 +08:00
tbphp 762dfe48e8 feat: 添加基础通道实现和请求处理逻辑 2025-07-02 09:46:08 +08:00
tbphp 92fdd6d680 feat: 添加登录功能和路由注册 2025-07-01 12:29:16 +08:00
tbphp b9a833ceab Refactor configuration and key management
- Removed key management configuration from .env.example and related code.
- Updated Makefile to load environment variables for HOST and PORT.
- Modified main.go to handle request logging with a wait group for graceful shutdown.
- Simplified dashboard statistics handler to focus on key counts and request metrics.
- Removed key manager implementation and related interfaces.
- Updated proxy server to use atomic counters for round-robin key selection.
- Cleaned up unused types and configurations in types.go.
- Added package-lock.json for frontend dependencies.
2025-06-30 22:09:16 +08:00
tbphp 731315144e feat: 前端搭建-未完成 2025-06-29 21:59:32 +08:00
tbphp ab95af0bbe refactor: 重构types 2025-06-29 20:14:13 +08:00
tbphp 2ba378f7ac fix: 修复gzip乱码 2025-06-29 18:57:00 +08:00
tbphp e55889354f feat: 流式输出性能优化 2025-06-29 17:41:19 +08:00
tbphp f83cb83846 fix: query key 2025-06-29 10:06:27 +08:00
tbphp 96d3fc762a feat: 上游支持gemini格式透传 2025-06-29 09:26:57 +08:00
tbphp d82d46376f feat: 优化超时配置 2025-06-13 12:36:13 +08:00
tbphp 3232d34534 feat: 优化服务超时时间(临时处理) 2025-06-13 10:20:13 +08:00
tbphp 3450a05615 feat: Multi-Target Load Balancing 2025-06-11 11:50:49 +08:00
tbphp b97bd1146b feat: ignorableStreamErrors 2025-06-10 14:50:51 +08:00
tbphp 57b6d26a87 fix: retrycount log 2025-06-10 14:39:46 +08:00
tbphp ed84d53769 fix: error log 2025-06-10 14:12:23 +08:00
tbphp 272d36add5 feat: 错误日志记录 2025-06-10 11:09:13 +08:00
tbphp 6b33f7054d fix: 修复语法问题 2025-06-09 22:27:30 +08:00
tbphp 0c5cf4266d refactor: 重构项目结构 2025-06-09 21:50:18 +08:00
tbphp 2470292662 feat: 忽略健康检查日志 2025-06-09 18:44:57 +08:00
tbphp 1a9f032fbc feat: 优化日志级别 2025-06-09 18:31:26 +08:00
tbphp d764e0008a fix: 忽略错误 2025-06-09 16:19:21 +08:00
tbphp 57f4a8945f fix: 重试机制调整 2025-06-09 16:12:58 +08:00
tbphp d86efc0f7e fix: 日志过滤 2025-06-09 14:48:54 +08:00