Commit Graph

1096 Commits

Author SHA1 Message Date
ryan 0e1ce40cbb docs(readme): update project description and deployment instructions 2026-10-11 21:38:30 +08:00
ryan cf7613dade docs(readme): update project description and deployment instructions 2026-10-11 21:32:08 +08:00
ryan 53f2e58ced docs(readme): update project description and deployment instructions 2026-10-11 21:28:14 +08:00
ryan 7c2304d4f3 chore(release): v3.5.8
### ✨ 新功能

- 在「系统管理 → 系统配置 → 业务配置」新增可信代理范围设置,默认信任 Cloudflare 官方网段,支持追加、覆盖或关闭;识别出的访客真实 IP 会用于访问日志、WAF 判断和上游请求,并兼容已有自定义 OpenResty 主模板。

### 🛠 修复

- 修复 Casdoor 等第三方认证源使用字符串用户 ID 时登录回调失败的问题;自动注册不会再与已有本地用户或其他认证源账号发生 ID 冲突,已绑定账号不受影响。
- 修复 Agent 在 OpenResty 运行状态异常时可能重复启动并导致端口占用的问题;现可恢复已有运行实例,避免节点配置应用失败。
v3.5.8
2026-10-08 09:00:26 +08:00
Ryan 96a17ae35d fix(agent): recover OpenResty runtime after invalid PID (#45)
* fix(agent): recover OpenResty runtime after invalid PID

* fix(agent): scope OpenResty shutdown to instance processes

---------

Co-authored-by: Noru Wyrms <wyrmsnoru@gmail.com>
2026-10-08 08:39:40 +08:00
velor2012 fec9bd18dd fix(oauth): 支持 Casdoor 认证,修复第三方回调的用户id为string时会导致服务器内部错误的问题 (#46)
* fix(oauth): support Casdoor string user IDs

* test(oauth): verify legacy IDs and auth source isolation

---------

Co-authored-by: Noru Wyrms <wyrmsnoru@gmail.com>
2026-10-08 08:20:15 +08:00
ryan 6f63715182 fix(openflare): trust Cloudflare client IP ranges by default 2026-10-07 23:51:36 +08:00
ryan 7483897d3c chore(release): v3.5.7 v3.5.7 2026-10-07 15:18:04 +08:00
ryan d979b74784 feat(performance): expose request buffering setting 2026-10-07 15:15:04 +08:00
ryan 5e86f63c46 chore(release): v3.5.7
### ✨ 新功能
- Cloudflare 指向分组支持自定义 DNS 目标,可填写域名或 IP,节点绑定仍为默认选项。
- Cloudflare 节点分组会在主节点故障时切换至备用节点,并在主节点恢复后切回;分组详情支持批量开启橙云。
- 代理路由支持为单条路由单独关闭 HTTP/2,便于适配测速与下载场景。

### 🛠 修复
- 修复节点配置应用失败后的恢复问题,Agent 现会自动重试并在成功后停止;重启后也会继续未完成的重试。

### ⚡️ 优化与改进
- 优化常见代理访问的响应压缩与上传处理效率,同时保留流式上传的兼容选项。

### 💄 其他/体验
- Cloudflare 分组成员操作改为图标按钮,减少操作栏占用空间。
2026-10-07 15:08:16 +08:00
OpenAI Codex d1978a8571 fix(migrations): seed log migration flag 2026-10-07 07:00:32 +00:00
OpenAI Codex 4e584d2e2d fix(migrations): resolve duplicate goose versions 2026-10-07 03:55:55 +00:00
Ryan fd0e9acc2f feat(cloudflare): add custom targets and node failover (#43)
* feat(cloudflare): add custom targets and node failover

* fix(cloudflare): propagate batch sync errors

---------

Co-authored-by: OpenAI Codex <codex@openai.com>
2026-10-07 11:29:41 +08:00
Ryan e49e0ad2bf perf(openresty): improve compression and proxy buffering (#42) 2026-10-07 11:05:27 +08:00
dependabot[bot] 28b7f7d796 chore(deps): bump markdown-it from 14.1.1 to 14.3.2 in /docs (#41)
Bumps [markdown-it](https://github.com/markdown-it/markdown-it) from 14.1.1 to 14.3.2.
- [Changelog](https://github.com/markdown-it/markdown-it/blob/14.3.2/CHANGELOG.md)
- [Commits](https://github.com/markdown-it/markdown-it/compare/14.1.1...14.3.2)

---
updated-dependencies:
- dependency-name: markdown-it
  dependency-version: 14.3.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-07 10:59:53 +08:00
ryan 7ad25f61aa feat(proxy-route): allow disabling HTTP/2 per route 2026-10-07 10:30:16 +08:00
dependabot[bot] 0bebca2990 chore(deps): bump brace-expansion from 1.1.18 to 1.1.21 in /frontend (#39)
Bumps [brace-expansion](https://github.com/juliangruber/brace-expansion) from 1.1.18 to 1.1.21.
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](https://github.com/juliangruber/brace-expansion/compare/v1.1.18...v1.1.21)

---
updated-dependencies:
- dependency-name: brace-expansion
  dependency-version: 1.1.21
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-07 10:27:10 +08:00
Ryan 2960a4ddeb fix(agent): retry failed node config applies (#40) 2026-10-07 10:27:00 +08:00
dependabot[bot] 6c15c11e35 chore(deps): bump source-map-js from 1.2.1 to 1.2.2 in /frontend (#38)
Bumps [source-map-js](https://github.com/7rulnik/source-map-js) from 1.2.1 to 1.2.2.
- [Release notes](https://github.com/7rulnik/source-map-js/releases)
- [Changelog](https://github.com/7rulnik/source-map-js/blob/main/CHANGELOG.md)
- [Commits](https://github.com/7rulnik/source-map-js/compare/v1.2.1...v1.2.2)

---
updated-dependencies:
- dependency-name: source-map-js
  dependency-version: 1.2.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-07 10:07:10 +08:00
dependabot[bot] 1db4c0683c chore(deps): bump sharp from 0.35.4 to 0.35.5 in /frontend (#37)
Bumps [sharp](https://github.com/lovell/sharp) from 0.35.4 to 0.35.5.
- [Release notes](https://github.com/lovell/sharp/releases)
- [Commits](https://github.com/lovell/sharp/compare/v0.35.4...v0.35.5)

---
updated-dependencies:
- dependency-name: sharp
  dependency-version: 0.35.5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-07 10:06:58 +08:00
dependabot[bot] 04cda06045 chore(deps): bump next from 16.3.0 to 16.3.6 in /frontend (#36)
Bumps [next](https://github.com/vercel/next.js) from 16.3.0 to 16.3.6.
- [Release notes](https://github.com/vercel/next.js/releases)
- [Commits](https://github.com/vercel/next.js/compare/v16.3.0...v16.3.6)

---
updated-dependencies:
- dependency-name: next
  dependency-version: 16.3.6
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-07 10:06:42 +08:00
Ryan 588298c520 Merge pull request #35 from Rain-kl/dependabot/npm_and_yarn/frontend/dompurify-3.4.16
chore(deps): bump dompurify from 3.4.13 to 3.4.16 in /frontend
2026-10-07 09:52:34 +08:00
Ryan 0946978052 Merge pull request #34 from Rain-kl/dependabot/npm_and_yarn/frontend/axios-1.20.0
chore(deps): bump axios from 1.19.0 to 1.20.0 in /frontend
2026-10-07 09:52:21 +08:00
dependabot[bot] 04615e244e chore(deps): bump dompurify from 3.4.13 to 3.4.16 in /frontend
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 3.4.13 to 3.4.16.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/3.4.13...3.4.16)

---
updated-dependencies:
- dependency-name: dompurify
  dependency-version: 3.4.16
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-10-01 09:41:56 +00:00
dependabot[bot] de793010ae chore(deps): bump axios from 1.19.0 to 1.20.0 in /frontend
Bumps [axios](https://github.com/axios/axios) from 1.19.0 to 1.20.0.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.19.0...v1.20.0)

---
updated-dependencies:
- dependency-name: axios
  dependency-version: 1.20.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-10-01 09:41:25 +00:00
Ryan 5471a63360 Merge pull request #33 from Rain-kl/dependabot/npm_and_yarn/frontend/undici-8.11.2
chore(deps): bump undici from 8.10.0 to 8.11.2 in /frontend
2026-10-01 17:39:48 +08:00
ryan 17ce9d050b chore(release): v3.5.6
### ✨ 新功能
- Cloudflare 指向分组:支持将已添加的域名在不同分组之间移动,自动排队更新远程 DNS 指向。
- Cloudflare 指向分组:详情页支持批量勾选域名进行批量移动与批量移出操作。
- WAF IP 组:在查看 IP 组弹窗中新增即时搜索功能,支持快速过滤和定位 IP 地址。

### 🛠 修复
- 修复 WebDAV 文件存储配置「基础路径」后,上传的文件无法正常访问或删除的问题(路径被重复拼接);升级后历史文件记录同样可正常读写。
- 修复本地存储读取历史记录中路径以斜杠开头的文件时报错的问题,现可正常读取。
v3.5.6
2026-10-01 16:11:15 +08:00
dependabot[bot] 737b3ae760 chore(deps): bump undici from 8.10.0 to 8.11.2 in /frontend
Bumps [undici](https://github.com/nodejs/undici) from 8.10.0 to 8.11.2.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v8.10.0...v8.11.2)

---
updated-dependencies:
- dependency-name: undici
  dependency-version: 8.11.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-30 01:18:28 +00:00
ryan c3606bc6f6 fix(cloudflare): deduplicate batch member ids and guard move dialog dismiss during pending 2026-09-26 15:39:10 +08:00
ryan 2b3be6f3a3 docs(changelog): document cloudflare member move and ip group search 2026-09-26 15:32:08 +08:00
ryan 11c8e5c7f3 feat(cloudflare): add domain move and batch operations in group detail page 2026-09-26 15:26:37 +08:00
ryan 4d52a5b097 feat(waf): add search and filter in ip group view dialog 2026-09-26 15:15:26 +08:00
ryan b1626d068f feat(cloudflare): register move and batch member API routes 2026-09-26 15:08:32 +08:00
ryan 079fa7ee53 feat(cloudflare): add move and batch operation logics with tests 2026-09-26 14:57:16 +08:00
ryan 3867841a2f docs: add implementation plan for cloudflare member move and ip group search 2026-09-24 11:45:51 +08:00
ryan 805eea5bd6 docs: add design spec for cloudflare member move and ip-group search 2026-09-24 11:44:43 +08:00
ryan aad059ab6e fix(objectstore): decouple WebDAV targetPath from logical storage key and fix basePath duplication
- WebDAV Put now returns PutResult with driver-agnostic logical relative key (relKey), keeping database records decoupled from mount basePath.
- targetPath mounts logical keys to the remote WebDAV server path, and transparently handles legacy database records containing basePath or duplicate basePath prefixes.
- Make localBackend path resolution resilient to keys with leading slashes or legacy absolute paths outside local root by safely mounting them as relative paths.
- Add comprehensive unit tests for WebDAV targetPath, relKey, end-to-end roundtrip with in-memory WebDAV server, and local storage leading slash handling.
2026-09-22 14:16:21 +08:00
Ryan 96abbf180d Merge pull request #32 from Rain-kl/dependabot/npm_and_yarn/frontend/sharp-0.35.4
chore(deps): bump sharp from 0.35.3 to 0.35.4 in /frontend
2026-09-19 13:58:26 +08:00
Ryan fff4f425ae Merge pull request #31 from Rain-kl/dependabot/npm_and_yarn/frontend/js-yaml-4.3.2
chore(deps): bump js-yaml from 4.3.1 to 4.3.2 in /frontend
2026-09-19 13:58:15 +08:00
Ryan e1753f868e Merge pull request #30 from Rain-kl/dependabot/go_modules/google.golang.org/grpc-1.83.2
chore(deps): bump google.golang.org/grpc from 1.83.0 to 1.83.2
2026-09-19 13:58:04 +08:00
ryan a49d07e2c2 chore(release): v3.5.5
### 🛠 修复
- 修复 Cloudflare 指向分组引用的节点已被删除时,分组列表/详情接口整体返回「Cloudflare 资源不存在」的问题;现会跳过缺失节点并继续返回其余分组。
- 修复静态导出部署下访问 Cloudflare 指向分组详情(`/cloudflare/groups/{id}`,id 不为 1)会跳回首页并触发 React hydration 报错的问题。

### ⚡️ 优化与改进
- 优化 openflare-agent Docker 镜像体积:精简运行时依赖并消除离线 IP 库冗余层,镜像总体积从 500MB+ 缩减至约 150MB。
v3.5.5
2026-09-19 12:42:47 +08:00
ryan 1fe2763034 perf(docker): switch agent openresty base image to alpine-slim 2026-09-19 12:34:51 +08:00
ryan bf1e77a865 fix(docker): optimize Dockerfile by reducing layers and improving permissions 2026-09-19 12:27:50 +08:00
ryan 65bc7d9b81 chore(release): v3.5.5
### 🛠 修复

- 修复 Cloudflare 指向分组引用的节点已被删除时,分组列表/详情接口整体返回「Cloudflare 资源不存在」的问题;现会跳过缺失节点并继续返回其余分组。
- 修复静态导出部署下访问 Cloudflare 指向分组详情(`/cloudflare/groups/{id}`,id 不为 1)会跳回首页并触发 React hydration 报错的问题。
2026-09-19 11:13:42 +08:00
ryan 1d4533f183 fix(cloudflare): handle missing nodes in group detail responses 2026-09-18 14:04:44 +08:00
ryan a2404a50ef fix(cloudflare): restore group detail pages for ids other than 1
Static export only generates /cloudflare/groups/1.html. Unknown ids fell
through to the dashboard index, bouncing the browser home and triggering
React hydration error #418. Serve the generated group shell and resolve
the real id from the pathname, matching the websites detail fallback.
2026-09-17 22:00:12 +08:00
dependabot[bot] 71a715a64b chore(deps): bump sharp from 0.35.3 to 0.35.4 in /frontend
Bumps [sharp](https://github.com/lovell/sharp) from 0.35.3 to 0.35.4.
- [Release notes](https://github.com/lovell/sharp/releases)
- [Commits](https://github.com/lovell/sharp/compare/v0.35.3...v0.35.4)

---
updated-dependencies:
- dependency-name: sharp
  dependency-version: 0.35.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-17 13:47:50 +00:00
dependabot[bot] 501c754352 chore(deps): bump js-yaml from 4.3.1 to 4.3.2 in /frontend
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 4.3.1 to 4.3.2.
- [Changelog](https://github.com/nodeca/js-yaml/blob/4.3.2/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/4.3.1...4.3.2)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 4.3.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-17 13:47:40 +00:00
dependabot[bot] a0324dc65c chore(deps): bump google.golang.org/grpc from 1.83.0 to 1.83.2
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.83.0 to 1.83.2.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.83.0...v1.83.2)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-version: 1.83.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-17 13:47:06 +00:00
ryan bbd7f72c2d fix(cloudflare): clean up pointing member when zone domain is deleted 2026-08-29 18:32:02 +08:00