Commit Graph

1119 Commits

Author SHA1 Message Date
ryan 8d8b3e1ea8 feat(otel): support standard OTLP/HTTP trace export (#64) 2026-11-09 10:25:16 +08:00
ryan acd63ff410 fix(otel): resolve exporter protocol through startup configuration 2026-11-09 10:23:47 +08:00
Arthur Koba b281b65e78 feat(otel): support standard OTLP/HTTP trace export 2026-11-08 23:24:00 +03:00
Deqiying e0ba758afa feat(cloudflare): 支持分组级自动与手动 TTL 配置 (#62) 2026-11-08 22:07:26 +08:00
ryan 18dee29b73 chore(release): v3.5.9
### ✨ 新功能
- 新增完整俄语界面,支持俄语浏览器语言识别、原生语言名称、日期与数字格式;内置错误页及离线页跟随界面语言。

### 🛠 修复
- 修复 Agent 自动注册时节点不断重复创建的问题;响应丢失或重试后仍复用原节点,不会覆盖管理员修改。
- 修复 IP 组按规则自动抓取时会收录内网、回环及链路本地等地址的问题;历史抓取结果会在下次同步时清理。
- 修复通知收件人误判,以及推送模板变量与富文本标签丢失的问题。
- 选择非默认语言时,页面首次绘制前即应用所选语言,避免刷新或跳转时短暂显示英文。
- 界面脚本加载失败时提供同语言的重新加载入口,避免出现空白页。

### ⚡️ 优化与改进
- 节点管理页新增服务端分页及名称、节点标识、IP、状态和类型筛选,大规模节点场景下列表加载和轮询更轻量;详情页改为单节点查询。
- Agent、Relay 与 Flared 的自动更新检查改为每 6 小时一次,检查或下载更新失败时自动延长间隔重试(最长 3 小时),避免频繁请求触发 GitHub 限流;手动触发的立即更新不受限制。
- SQLite 数据库读写并发性能提升,数据库导出可完整包含最新已提交的数据。

### 💄 其他/体验
- 界面默认语言调整为英文,已有语言偏好保持不变;语言选择器固定显示各语言的原生名称。
- 统一并校对 Server、Agent、任务详情、通知与内置模板的英文文案,窄屏下 WAF 标题和通知模板说明的换行更合理。
v3.5.9
2026-11-07 21:50:40 +08:00
ryan b60546a94d feat(updater): throttle auto-update checks with exponential backoff
Check GitHub releases at most every 6 hours and retry transient failures
(release query, checksum or binary download) with exponential backoff
from 1 minute up to 3 hours. Forced updates bypass the throttle.
2026-11-07 21:49:46 +08:00
dependabot[bot] 8867c822bb chore(deps): bump source-map-js from 1.2.1 to 1.2.2 in /docs (#61)
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-11-07 21:37:09 +08:00
ryan 5f7e6d8907 feat(i18n): default to English, localize runtime text and add Russian (#52) 2026-11-07 21:35:55 +08:00
ArthurKoba 3c7b347d7b perf(nodes): paginate node lists and fetch details directly (#54)
* perf(nodes): paginate node lists and fetch details directly

* fix(nodes): preserve Unicode search and page transition state

* fix(nodes): validate search using the UTF-8 byte limit
2026-11-07 21:29:52 +08:00
ArthurKoba 72d67c80f2 fix(agent): make discovery enrollment compatible and idempotent (#53)
* fix(agent): make discovery enrollment compatible and idempotent

* fix(agent): confirm enrollment persistence and document token aliases
2026-11-07 21:29:47 +08:00
dependabot[bot] 1ca03df0ef chore(deps): bump next from 16.3.6 to 16.4.1 in /frontend (#57)
Bumps [next](https://github.com/vercel/next.js) from 16.3.6 to 16.4.1.
- [Release notes](https://github.com/vercel/next.js/releases)
- [Commits](https://github.com/vercel/next.js/compare/v16.3.6...v16.4.1)

---
updated-dependencies:
- dependency-name: next
  dependency-version: 16.4.1
  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-11-07 21:28:38 +08:00
dependabot[bot] d7c7ccb29b chore(deps): bump follow-redirects from 1.16.0 to 1.16.2 in /frontend (#60)
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.16.0 to 1.16.2.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.16.0...v1.16.2)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-version: 1.16.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-11-07 21:26:52 +08:00
dependabot[bot] babead59e4 chore(deps): bump zod from 4.4.3 to 4.6.6 in /frontend (#59)
Bumps [zod](https://github.com/colinhacks/zod) from 4.4.3 to 4.6.6.
- [Release notes](https://github.com/colinhacks/zod/releases)
- [Commits](https://github.com/colinhacks/zod/compare/v4.4.3...v4.6.6)

---
updated-dependencies:
- dependency-name: zod
  dependency-version: 4.6.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-11-07 21:26:46 +08:00
dependabot[bot] 5db05bd18d chore(deps): bump undici from 8.11.2 to 8.12.3 in /frontend (#56)
Bumps [undici](https://github.com/nodejs/undici) from 8.11.2 to 8.12.3.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v8.11.2...v8.12.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-11-07 21:26:35 +08:00
dependabot[bot] bcdb2775d7 chore(deps): bump dompurify from 3.4.16 to 3.4.17 in /frontend (#55)
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 3.4.16 to 3.4.17.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/3.4.16...3.4.17)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-11-07 21:26:29 +08:00
dependabot[bot] 47c47fea2c chore(deps): bump vite from 8.1.4 to 8.3.5 in /frontend (#50)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 8.1.4 to 8.3.5.
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v8.3.5/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 8.3.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-11-07 21:26:23 +08:00
dependabot[bot] 32cec2ac6e chore(deps): bump vite from 7.3.3 to 7.3.7 in /docs (#51)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 7.3.3 to 7.3.7.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v7.3.7/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v7.3.7/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 7.3.7
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-11-07 21:25:59 +08:00
dependabot[bot] 6a2503cf7a chore(deps): bump markdown-it from 14.3.2 to 14.3.3 in /docs (#49)
Bumps [markdown-it](https://github.com/markdown-it/markdown-it) from 14.3.2 to 14.3.3.
- [Changelog](https://github.com/markdown-it/markdown-it/blob/14.3.3/CHANGELOG.md)
- [Commits](https://github.com/markdown-it/markdown-it/compare/14.3.2...14.3.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-11-07 21:25:54 +08:00
dependabot[bot] e2acbecb42 chore(deps): bump github.com/go-jose/go-jose/v4 from 4.1.4 to 4.1.6 (#58)
Bumps [github.com/go-jose/go-jose/v4](https://github.com/go-jose/go-jose) from 4.1.4 to 4.1.6.
- [Release notes](https://github.com/go-jose/go-jose/releases)
- [Commits](https://github.com/go-jose/go-jose/compare/v4.1.4...v4.1.6)

---
updated-dependencies:
- dependency-name: github.com/go-jose/go-jose/v4
  dependency-version: 4.1.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-11-07 21:25:48 +08:00
Arthur Koba b4e94076c9 feat(i18n): add Russian UI and harden localization 2026-10-25 22:35:32 +03:00
Arthur Koba 65a96670d5 fix(i18n): use English runtime text and localize system UI 2026-10-25 19:44:15 +03:00
Noru Wyrms ada0550571 fix(sqlite): enable WAL and export consistent snapshots 2026-10-25 02:27:05 +00:00
ryan 02a2b79c08 fix(waf): exclude internal IPs from automatic IP groups 2026-10-16 00:02:09 +08:00
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