263 Commits

Author SHA1 Message Date
a141672243 移除不再使用的配置文件和信号处理模块,更新扩展名规则中的阈值注释以简化理解。 2025-03-22 19:35:07 +08:00
11378a7e0c 增强请求头设置,添加浏览器User-Agent和Referer,以提高目标URL的可访问性和兼容性。 2025-03-22 18:48:43 +08:00
1aed50444e 优化目标可访问性检查的上下文超时时间,将超时从5秒增加到15秒,以提高请求的稳定性和成功率。 2025-03-22 18:29:38 +08:00
cc45cac622 feat(config): 更新配置管理和扩展名规则处理
- 在配置中添加新的扩展名规则支持,允许用户定义文件扩展名与目标URL的映射
- 优化配置加载逻辑,确保路径配置的扩展名规则在初始化时得到处理
- 更新前端配置页面,支持添加、编辑和删除扩展名规则
- 增强错误处理和用户提示,确保用户体验流畅
2025-03-22 18:17:30 +08:00
c85d08d7a4 移除错误处理模块并更新目标URL获取逻辑,调整返回值以支持备用目标标记。 2025-03-22 16:03:51 +08:00
9c2bc25bfa 优化仪表板页面的指标获取频率,将定时器间隔从1000毫秒调整为3000毫秒,以减少请求频率并提高性能。 2025-03-16 11:54:32 +08:00
e98b2c3efe feat(config): 更新配置处理逻辑并添加日志记录
- 确保在更新配置时调用 ProcessExtensionMap 方法,以更新路径配置的 processedExtMap
- 在配置更新和加载时添加日志记录,便于调试和监控
- 优化回调触发逻辑,确保所有路径配置在触发回调前已更新
2025-03-13 13:23:06 +08:00
50021c1a09 feat(config): 增强配置页面的状态管理
- 添加标志以跟踪配置来源,区分API加载和用户修改
- 优化自动保存逻辑,确保在用户修改时不触发自动保存
- 更新配置时使用包装的setConfig函数,提升代码可读性和维护性
2025-03-13 01:01:51 +08:00
de2209d177 优化指标处理逻辑,移除错误统计部分并更新前端展示。更新.gitignore以忽略.cursor文件。 2025-03-13 00:54:29 +08:00
64423b00e2 feat(config): 添加默认配置文件创建功能
- 实现 createDefaultConfig 方法,在配置文件不存在时自动创建默认配置
- 移除 config.json 中的固定路径配置
- 支持自动创建配置文件目录
- 提供默认的压缩和路由配置
2025-03-12 20:50:19 +08:00
7f4a964163 feat(auth): 增强OAuth认证状态管理和安全性
- 新增 state 状态管理机制,增加 10 分钟有效期
- 实现 generateState 和 validateState 方法
- 优化 LoginHandler 和 OAuthCallbackHandler 中的状态验证逻辑
- 添加更详细的调试和错误日志记录
- 完善回调地址生成逻辑,支持更多网络环境
- 在 OAuth 授权请求中添加 scope 参数
2025-03-12 20:27:20 +08:00
2626f63770 refactor(dashboard): 优化配置页面布局和交互
- 移除 AlertDialog 中的 Info 图标和触发器
- 在卡片标题下添加配置保存提示文本
- 调整配置页面按钮和布局结构
- 简化页面组件和图标导入
2025-03-12 19:19:12 +08:00
07e63eea5f 配置页添加提示 2025-03-12 19:11:58 +08:00
26af4b2b07 添加版本镜像和持续稳定版镜像 v1.0.4 2025-03-12 19:05:15 +08:00
512ec6707d feat(auth): 支持自定义OAuth回调地址配置
- 在 docker-compose.yml 中新增 OAUTH_REDIRECT_URI 环境变量配置
- 修改 getCallbackURL 方法,优先使用环境变量指定的回调地址
- 保留原有的自动获取回调地址逻辑作为备选方案
- 增加配置灵活性,方便在不同部署环境中自定义回调地址
2025-03-12 18:54:01 +08:00
a4067a6c66 feat(auth): 增强OAuth用户信息解析和处理逻辑
- 重构用户信息解析方法,支持更多JSON字段和灵活的用户名提取
- 添加调试日志记录用户信息响应内容
- 优化用户名提取策略,支持多种备用字段
- 增加头像URL的多字段兼容处理
- 改进用户信息验证和错误处理机制
- 扩展 OAuthUserInfo 结构体,支持更多可选字段
2025-03-12 15:43:42 +08:00
0d10e89a0b feat(auth): 增强OAuth认证流程的错误处理和日志记录
- 添加详细的OAuth认证流程错误日志
- 增加对OAuth请求各个阶段的参数和状态验证
- 完善错误处理,提供更具体的错误信息和状态码
- 记录认证过程中的关键步骤和错误信息
- 新增客户端IP和请求来源的日志记录
- 优化OAuth令牌和用户信息的验证逻辑
2025-03-12 15:14:01 +08:00
0ce0f75b58 feat(proxy): 优化路径匹配
- 增强路径匹配逻辑,确保仅匹配完整路径段
v1.0.3
2025-03-11 02:47:22 +08:00
8fb5dec9a4 refactor(routes): 重构API路由处理逻辑
- 引入 Route 结构体定义路由配置
- 使用路由切片替换原有的 switch 语句处理 API 请求
- 简化路由匹配和授权中间件处理流程
- 优化 API 路由的定义和处理方式,提高代码可读性和可维护性
2025-03-10 22:28:09 +08:00
cda5db91c3 Merge branch 'main' of https://github.com/woodchen-ink/proxy-go 2025-03-10 03:30:42 +08:00
10aef5e73e feat(metrics): 优化指标数据清理和持久化策略
- 调整指标清理机制,智能保留高频路径和引用来源统计数据
- 修改清理任务频率为15分钟,并立即执行首次清理
- 优化指标存储服务保存间隔为30分钟,减少IO操作
- 在清理和保存过程中添加内存使用情况日志
- 强制执行垃圾回收,减少内存占用
- 移除部分冗余的性能指标统计项目
2025-03-10 03:30:39 +08:00
wood chen
09173f4b0b
Update readme.md 2025-03-09 21:34:01 +08:00
22c0d2e301 feat(metrics): 优化指标数据处理和清理机制
- 在指标收集器中新增定期清理任务,自动清理无效的统计数据
- 修改 MetricsHandler 中的延迟分布处理,移除冗余日志输出
- 优化 MetricsStorage 的数据加载逻辑,限制加载的统计数据数量
- 新增延迟分布单独持久化存储,减少主指标文件的复杂性
- 改进数据加载和恢复的日志记录,提供更清晰的操作反馈
2025-03-09 13:21:35 +08:00
006fa9a172 refactor(metrics): 移除延迟分布统计的冗余日志输出
- 删除 RecordRequest 和 GetStats 方法中的详细日志记录
- 保留核心的延迟分布统计逻辑,提高代码简洁性
- 减少不必要的日志输出,优化性能和可读性
2025-03-09 12:16:44 +08:00
2a41458bb8 feat(metrics): 添加引用来源统计持久化支持
- 在 MetricsStorage 结构体中新增 refererStatsFile 字段
- 在 SaveMetrics 方法中添加引用来源统计保存逻辑
- 在 LoadMetrics 方法中实现引用来源统计的加载和恢复
- 前端页面调整路径显示,增加长路径的截断处理
- 优化引用来源统计的数据处理和类型转换
2025-03-09 12:02:32 +08:00
d2e5020d22 feat(metrics): 优化延迟分布数据处理逻辑
- 增加对延迟分布数据的类型兼容性处理
- 新增直接使用 map[string]int64 类型的处理分支
- 优化日志输出,提供更详细的类型转换信息
- 在处理结束后打印最终的延迟分布数据
- 改进错误处理和类型转换的健壮性
2025-03-09 11:49:37 +08:00
f2e1b8cbf5 feat(metrics): 统一延迟分布桶命名并优化日志记录
- 将延迟分布桶键名从 "<10ms" 和 ">1s" 改为 "lt10ms" 和 "gt1s"
- 在指标处理和收集过程中添加详细日志,帮助诊断数据处理流程
- 前端页面适配新的桶键名,并提供友好的显示转换
- 增强延迟分布数据处理的健壮性和可读性
2025-03-09 11:43:26 +08:00
2cb88a4f5e fix(metrics): 优化延迟统计和分布数据处理
- 修复延迟统计分布数据获取逻辑,增加更健壮的类型转换
- 确保延迟分布桶始终存在,即使没有数据
- 在处理器中为空分布数据添加默认初始化
- 优化指标收集器中的延迟桶初始化和数据获取方法
2025-03-09 11:33:47 +08:00
b6b77b03ed feat(metrics): 增强指标展示和统计功能
- 在指标结构中新增延迟统计、错误统计和引用来源统计字段
- 更新前端仪表盘,添加延迟、带宽、错误和引用来源统计卡片
- 优化指标收集器,支持引用来源和错误类型统计
- 在工具函数中新增字符串转整数解析方法
- 简化引用来源URL处理,提取域名信息
2025-03-09 11:24:46 +08:00
f0c806292b feat(metrics): 完善指标存储服务集成
- 在主程序中添加指标存储服务初始化和停止逻辑
- 更新指标收集器的保存方法,支持外部指标存储服务
- 优化静态文件服务路径,使用新的 web/dist 目录
- 调整静态文件处理逻辑,支持更灵活的路由
2025-03-09 11:00:39 +08:00
e67a3880f5 删除统计保存功能 2025-03-09 10:48:43 +08:00
a0cea8f5b8 feat(metrics): 增强指标收集和恢复日志记录
- 在指标初始化和加载过程中添加详细日志
- 改进指标恢复逻辑,支持从不同数据结构恢复统计信息
- 添加更多日志输出,帮助诊断指标加载问题
- 优化数据验证逻辑,允许小范围的统计数据误差
- 增加对未找到数据的日志提示
2025-03-09 10:41:24 +08:00
095b087fd8 refactor(metrics): 优化指标收集和内存管理
- 修改路径统计数据结构为指针类型,提高性能
- 使用原子操作方法替换旧的原子操作
- 添加内存释放和垃圾回收机制
- 限制路径统计数量,只保留前20个路径
- 优化指标保存和文件清理逻辑,减少内存使用
2025-03-09 10:35:00 +08:00
4276709b3f feat(config): 添加指标保存间隔和最大文件数的默认值处理
- 在配置解析中新增 MetricsSaveInterval 和 MetricsMaxFiles 字段
- 在前端页面为指标配置添加默认值(15分钟间隔,10个文件)
- 更新配置解析逻辑以支持新的指标相关配置
2025-03-09 05:47:41 +08:00
015aa6bc15 feat(metrics): 增加指标保存和管理功能
- 在配置中新增指标保存间隔和最大文件数量设置
- 实现定期自动保存指标数据到文件
- 添加指标文件自动清理机制
- 优化指标收集和存储逻辑
- 在Web界面添加指标设置选项卡
2025-03-09 05:41:22 +08:00
wood chen
34c561029c
Merge pull request #5 from woodchen-ink/dependabot/go_modules/golang.org/x/net-0.37.0
chore(deps): bump golang.org/x/net from 0.35.0 to 0.37.0
2025-03-08 22:55:18 +08:00
dependabot[bot]
906dea0bcb
chore(deps): bump golang.org/x/net from 0.35.0 to 0.37.0
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.35.0 to 0.37.0.
- [Commits](https://github.com/golang/net/compare/v0.35.0...v0.37.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-06 12:33:35 +00:00
5aeaa50c49 feat(dashboard): 移除固定路径选项卡
删除配置页面中的"固定路径"选项卡,简化用户界面
2025-03-04 16:23:52 +08:00
dc5ccbd98d Merge branch 'main' of https://github.com/woodchen-ink/proxy-go 2025-03-03 23:08:30 +08:00
3810153f8e refactor(auth): Update OAuth URLs and button text for CZL Connect integration 2025-03-03 23:08:27 +08:00
wood chen
4418d8d146
Update readme.md 2025-03-03 06:50:35 +08:00
4af1592021 删除固定路径代理配置, 因为普通代理好像已经支持了 2025-03-03 06:47:52 +08:00
f614692f33 refactor(auth): Remove user allowlist filtering
- Delete `isAllowedUser` function for user authorization
- Remove environment variable `OAUTH_ALLOWED_USERS` from docker-compose
- Eliminate user whitelist check in OAuth callback handler
v1.0.2
2025-02-20 02:50:43 +08:00
929d13157d refactor(proxy): Optimize hop-by-hop header handling and routing logic
- Simplify hop-by-hop headers initialization using map literal
- Create a local copy of hop headers to improve header filtering
- Enhance routing logic with context-based timeout for alternative target checks
- Improve error handling and logging in file size and routing detection
- Reduce unnecessary goroutine complexity in target URL selection
2025-02-18 13:34:50 +08:00
wood chen
ec07ae094e
Update readme.md v1.0.1 2025-02-17 19:10:18 +08:00
6bc6edfd37 refactor(config): Optimize configuration table layout and styling
- Adjust table column widths for better proportional display
- Reduce padding and font sizes in extension mapping section
- Enhance visual hierarchy with subtle background and border adjustments
- Maintain existing functionality while improving UI compactness
2025-02-17 19:03:02 +08:00
ed9f3be1ce refactor(config): Improve path configuration table layout and size display
- Restructure path configuration table to enhance readability
- Add tooltips for size thresholds showing exact byte values
- Separate extension mapping into a nested row with subtle background
- Improve visual hierarchy of path and extension configuration
- Maintain existing functionality while enhancing UI presentation
2025-02-17 18:55:28 +08:00
627a63caad chore(deps): Update Next.js and related dependencies to version 15.1.7
- Upgrade Next.js from 15.1.0 to 15.1.7
- Update package.json and package-lock.json with new dependency versions
- Modify dev script to specify localhost and port 13001
- Rename project from "proxy-go-web" to "web"
2025-02-17 18:38:21 +08:00
f7a52a1be5 feat(config): Add max file size threshold and improve path configuration
- Extend PathConfig with MaxSize parameter to define upper file size limit
- Update routing logic to handle both minimum and maximum file size thresholds
- Enhance frontend configuration UI to support max size input
- Improve file routing decision-making with comprehensive size range checks
2025-02-17 18:12:16 +08:00
69050adf57 refactor(routing): Improve file size detection and alternative target routing
- Enhance file size retrieval with fallback mechanisms for alternative and default sources
- Improve logging for file size detection and routing decisions
- Remove unused cache hit check function
- Optimize routing logic for extension-mapped targets
2025-02-17 17:56:29 +08:00