54 Commits

Author SHA1 Message Date
token cd444c893e style: 规范前端服务文件结尾 2026-08-31 09:47:10 +08:00
token 724ec5e858 feat(bot-protection): 接入 Turnstile 机器人防护 2026-08-31 09:45:35 +08:00
token 87f1fe3853 feat(resource): 增加网关连接与转发资源限制 2026-08-31 09:44:49 +08:00
token 72d2a7aa0a feat: 网关路由集群节点展示健康探测与代理状态
在服务集群列表中显示每个上游的主动探测和被动代理结果,并修正综合健康判定,避免被动 Unknown 把已探测成功的节点标成未知。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-24 01:49:57 +08:00
token bf0af07298 feat: replace TunnelDetailModal with NodeDetailSheet for improved node management UI
- Implemented NodeDetailSheet component to display detailed information about tunnel nodes, including connection info, key management, and proxy rules.
- Removed the TunnelDetailModal component as its functionality has been integrated into the new NodeDetailSheet.
- Updated TunnelPage to utilize NodeDetailSheet for displaying node details and managing node actions.
- Enhanced TunnelService with new API methods for creating nodes, updating node details, and regenerating node keys.
- Improved UI elements for better user experience, including search functionality and loading states.
2026-08-21 00:54:52 +08:00
token 2b8bfc1666 fix(stats): 暴露统计库失败原因并修复 Docker 目录权限
chiseled 镜像以 UID 1654 运行,chmod 给宿主机登录用户不够。仪表盘改为展示真实错误,权限恢复后自动重试,compose 启动时 chown 数据目录。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-13 20:22:59 +08:00
token 67521ad227 fix(stats): Native AOT 下显式初始化 SQLite 并提示统计降级
裁剪会丢掉 SQLitePCLRaw 模块初始化器,导致 stats.db 打不开、仪表盘静默变成暂无数据。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-13 01:37:57 +08:00
token 095c2cb80f fix(ui): 访问节点下拉移到目标页,无集群时不显示
独立部署或尚未接入从节点时隐藏该选项,避免干扰原有路由表单。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-13 01:37:57 +08:00
token 59d2af3ba6 feat: 支持地区黑名单与集群访问节点中继
基于 ip2region 预编译地区 IP 区间实现零查询封禁,并支持域名指定集群节点回源时在节点间安全中继。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-12 15:03:27 +08:00
token 356558c765 feat: 集群管理与 MessagePack 节点同步协议,重写限流引擎并优化统计性能
- 集群:主/从角色、接入码一键加入、WebSocket 全量配置+证书同步、
  心跳与节点管理,前端新增集群管理页与 /api/v1/cluster 接口组
- 协议:节点间通信采用 MessagePack + LZ4 二进制编码,源生成 Resolver
  完全兼容 Native AOT,证书文件原生二进制传输
- 限流:移除 AspNetCoreRateLimit,改用内置 System.Threading.RateLimiting
  按 IP 分区固定窗口限流
- 性能:静态站点 ETag/304 协商缓存、统计链路内存封顶与两代缓存、
  配置服务并发安全加固
- 前端:证书/限流/安全/隧道/端口转发等页面动画补齐

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-12 13:37:56 +08:00
token f7ebf85f62 feat: 文件存储分片上传与前端动画/路由重构,补充架构文档
- FileStorageService 增加分片上传(暂存目录白名单校验、24h 过期清理、合并/放弃接口)
- 新增 MergeChunksRequest / AbortUploadRequest DTO 并注册到 AOT JsonContext
- 前端文件管理器:分片上传队列、复制/移动/压缩/解压/下载,剪贴板存节点快照
- 抽出 motion 动画组件与 routes/lazy-pages 路由懒加载单源,侧边栏 hover 预取
- 补全 README 架构、源码布局、运行数据流与隧道数据路径说明
2026-08-08 02:30:04 +08:00
token b7561cd08c feat: implement system settings for log retention configuration
- Added a new SystemSettingPage for managing log retention days.
- Introduced LogRetention service to handle log retention settings.
- Updated SettingService to include methods for getting and setting log retention.
- Enhanced AbnormalIpMonitor to manage IP entries more efficiently with eviction logic.
- Refactored ClusterRequestFailoverMiddleware to improve request handling and routing.
- Improved BlacklistAndWhitelistService to utilize IpPolicyMatcher for IP policies.
- Added a new FailoverRouteTable and FailoverEntry classes for better route management.
- Updated various services to support new configuration versioning.
- Enhanced error handling and logging throughout the middleware and services.
2026-07-24 23:56:23 +08:00
token 36b5dd192f feat: improve gateway service cards and client IP sources 2026-07-24 16:17:55 +08:00
token 72ffa7aba9 统一地理统计中文化并回填国家维度数据
将 IP 地理解析扩展为国家、区域、省份字段,统一国家名为中文,并对最近保留周期内的请求日志及国家、省份聚合数据执行一次性回填。兼容历史英文国家名,合并重复维度并保留访问量与拦截量。

前端对世界地图和排行数据进行国家名称归一与同名聚合,避免历史英文数据导致国家重复显示;中国地图仍按省份维度展示。
2026-07-21 17:59:15 +08:00
token b232e8c29e feat(security): 添加拦截日志页面以支持安全审计 2026-07-21 01:09:15 +08:00
token 2b5ee9d64d Update package.json
修改
2026-07-21 00:50:11 +08:00
token 2bb4fc1252 feat(security): implement access control and threat detection features
- Refactor CreateBlacklistAndWhitelist component to enforce mandatory enabling of blacklist.
- Update RateLimitPage to improve UI and add warning for gateway rebuilds after changes.
- Remove redundant WhitelistPage and integrate its functionality into AccessControlPage.
- Create AccessControlPage for unified management of IP blacklists and whitelists.
- Add SecurityOverviewPage for a comprehensive security dashboard overview.
- Introduce SecurityFilterBar for consistent filtering across security-related pages.
- Develop ThreatDetectionPage to monitor and manage abnormal IPs with blacklist capabilities.
- Implement StatisticsService for fetching various statistical data related to security.
- Add TypeScript definitions for echarts-gl module.
2026-07-20 10:10:42 +08:00
token 90ee0fdc6b feat: 新增 TCP/UDP Stream 四层转发功能;HTTPS 重定向兼容 X-Forwarded-Proto
- 新增 StreamForward/StreamUpStream 实体、StreamProxyManager 代理管理、StreamForwardService 服务及前端管理页面
- 支持 TCP/UDP 协议、多种负载均衡策略
- HTTPS 重定向时检查 X-Forwarded-Proto 头,外网反向代理回源 HTTP 不再重复跳转
2026-07-17 18:35:12 +08:00
token 65ddd31cc1 feat(cert): 支持上传自定义证书、泛域名 DNS-01 及修复 HTTPS 重定向
证书管理:
- 新增上传自定义证书接口 (POST /api/v1/cert/upload),支持 PFX/P12 与 PEM 格式,
  统一转换为固定密码 pfx 落盘,校验私钥并读取有效期/颁发机构
- 新增 CertType 区分 Let's Encrypt 与用户上传证书,上传证书不参与自动续期
- 泛域名支持: SNI 按 *.example.com 匹配一级子域名,泛域名安全文件名处理,
  网关缓存按泛域名失效
- 泛域名申请: 新增 DNS-01 两步验证接口 (dns/prepare、dns/validate),
  生成 _acme-challenge TXT 记录供手动添加后签发;泛域名排除出 HTTP-01 自动续期
- 前端: 新增上传证书 / 重新上传 / DNS 验证对话框及入口

修复:
- HTTPS 重定向未生效: Server.RedirectHttps 此前从未被消费,现在网关在 ACME
  校验之后加入重定向中间件,将 80 端口明文请求 307 跳转到 HTTPS

文档与 CI:
- README(中/英) 补充证书管理说明与多平台下载
- release 工作流新增 linux/win/osx 的 x64 与 arm64 构建
- docker 镜像改为 linux/amd64,linux/arm64 多架构并修正触发分支

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-03 11:52:02 +08:00
token 0dbc89d543 feat(gateway): add request failover controls
- add request-level failover settings to server models and management UI
2026-03-22 16:01:31 +08:00
token f1e520996c feat: 支持配置健康检查 Interval/Timeout
允许为路由配置健康检查的探测间隔与超时,减少误判并适配不同上游响应特性。

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-04 20:08:50 +08:00
token 618ba118aa feat: 支持路由级健康检查配置
为服务/集群类型路由增加健康检查开关与地址校验,网关按路由生成 HealthCheck 配置并在服务信息页展示启用状态与路径。

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-04 19:51:38 +08:00
token abe4d6d899 增加健康检查 2026-01-04 19:30:09 +08:00
token ef57676312 优化性能 2026-01-04 17:37:22 +08:00
token 42ed5deb17 支持容器化及性能优化,改进证书与UI
增加对 Docker 的支持,优化了 `docker-compose` 和 `Dockerfile` 配置,支持多阶段构建。改进了 QPS 计算逻辑,采用无锁滑动窗口机制,提升性能并添加历史记录功能。增强了证书管理,支持缓存和失效逻辑,避免重复加载。更新了仪表盘 UI,替换折线图为柱状图,优化布局和交互。删除冗余代码,提升代码可读性和维护性。
2025-11-15 01:34:24 +08:00
token ca9c12b66f feat: Refactor FileStoragePage layout and styles for improved UX
- Updated the layout of the FileStoragePage to enhance the sidebar and main content structure.
- Improved styling for file tree and action buttons.
- Added loading skeletons and empty states for better user feedback.
- Enhanced file grid display with improved card styles and hover effects.

feat: Add maxRequestBodySize and timeout fields to server configuration

- Introduced new input fields for max request body size and timeout in CreateServer and UpdateServer components.
- Updated server types to include maxRequestBodySize and timeout properties.

feat: Enhance ProxyList component with improved server card rendering

- Refactored server card rendering logic for better readability and maintainability.
- Added status indicators and improved dropdown menu functionality for server actions.
- Updated layout and styling for a more cohesive design.

feat: Create SystemService for fetching system version information

- Added a new service to fetch system version information from the API.
- Defined VersionInfo interface for type safety.

fix: Update ServerPage layout and integrate server statistics display

- Improved layout of the ServerPage to include a statistics overview for servers.
- Added functionality to refresh server list and open documentation link.
2025-11-10 17:26:51 +08:00
token 4c23f643ec feat(server): 优化服务器列表UI和交互体验
重构服务器列表卡片组件,改进视觉设计和交互细节:
1. 添加卡片悬停动画和状态指示器
2. 重新设计操作菜单图标和布局
3. 增强标签样式和功能标识
4. 优化空状态页面显示
5. 调整网格布局响应式设计
2025-08-24 00:05:46 +08:00
token 50c08287d5 refactor(web): 优化UI组件和样式,移除未使用的导入
feat(server): 添加性能监控中间件和QPS服务增强

fix(web): 修复表格分页和样式问题

perf(gateway): 优化隧道客户端连接池配置

chore: 更新依赖和配置文件

style: 清理未使用的代码和注释

docs: 更新API文档和类型定义

test: 更新测试用例
2025-08-23 02:41:19 +08:00
token aaafac6fc2 refactor(ui): 重构多个组件和页面使用Tailwind CSS替换内联样式
feat(table): 新增DataTable组件基于TanStack React Table实现
feat(alert): 新增Alert组件用于显示提示信息
style: 统一组件样式和布局,移除react-layout-kit依赖
fix(theme-switch): 修复主题切换回调函数类型定义
chore: 更新依赖并添加@tanstack/react-table
2025-08-22 19:12:54 +08:00
token 5f7787efd6 feat: 重构项目结构并添加新功能
- 重构项目目录结构,将核心逻辑移至Core项目
- 添加隧道客户端功能及相关配置
- 实现黑白名单、限流策略等新功能
- 更新前端UI组件库至shadcn/ui
- 优化前端主题切换功能
- 添加设置管理接口
- 实现文件存储和目录浏览功能
- 完善证书管理功能
- 添加服务监控仪表盘
- 实现服务启停和配置管理
2025-08-22 18:39:26 +08:00
token cb4e4b0f98 重构Docker构建流程,添加多架构支持,更新依赖项并移除不必要的日志记录功能。新增配置服务以替代EntityFrameworkCore,简化数据管理。 2025-08-12 16:12:43 +08:00
token 73c85de390 优化ProxyList和DomainNamesList组件的样式,使用主题色彩,调整布局为网格形式 2025-07-18 03:26:11 +08:00
token c378e7996c chore: update dependencies and refactor modal components
- Updated @lobehub/ui to version 2.0.0 and added antd as a dependency.
- Upgraded React and ReactDOM to version 19.0.0.
- Refactored main.tsx to use StrictMode and createRoot for rendering.
- Removed duplicate onClose prop in Modal components across various files.
- Cleaned up imports by removing unused CSSProperties in TableList.tsx.
- Updated Vite configuration to change the API proxy target to a new IP address.
2025-07-17 22:16:15 +08:00
token e41a4fd386 添加删除一个月前日志的功能,更新应用日志服务,优化登录页面样式 2025-06-16 11:56:46 +08:00
token c9768944b1 优化登录页面样式,添加路由前缀验证,更新日志记录功能 2025-03-10 18:58:37 +08:00
token cd03f9ca7b 优化仪表板内存数据处理,修复内存使用率显示错误 2024-11-26 01:09:28 +08:00
token 85f66bd904 修复日志存储失败
修复域名不能提供try
修复压缩不生效
2024-11-26 00:53:57 +08:00
token 5899ea27b9 Update index.tsx 2024-11-25 23:43:12 +08:00
token ad5b93d4a7 添加 LoggerContext 和日志清理后台服务,更新依赖项,修改配置文件,优化 API 调用 2024-11-18 18:02:28 +08:00
token e36a3660ec Add global using statement for Gnarly.Data 2024-10-24 01:37:33 +08:00
token 3ea72d332a 优化代码逻辑
增加界面懒加载
优化日志显示
2024-08-07 00:29:52 +08:00
token 5e5716cd9b 优化版本 2024-08-06 02:43:37 +08:00
token 8c09b57f20 增加主题切换
修复路由错误
2024-07-29 00:29:02 +08:00
token cb8a02b17d 修复证书申请
修复Logo显示
2024-07-28 23:38:59 +08:00
token fd15113cd6 增加docker-compose 2024-07-28 22:48:05 +08:00
token c171384ef2 支持日志记录
支持编辑服务
支持编辑路由
2024-07-27 23:55:37 +08:00
token a1ec916ebd 实现文件管理
优化核心功能
 优化证书管理界面
 优化服务
2024-07-27 05:00:10 +08:00
token c5421dc6ca 增加tryFiles 2024-07-25 02:00:40 +08:00
token e8203725d4 增加关于界面
增加证书管理
2024-07-25 01:44:54 +08:00
token 78cdaef52c 增加证书申请 2024-07-24 01:10:24 +08:00