sagitchu
608fbf74de
fix(backend): randomize new tunnel relay ports safely
2026-04-01 20:16:31 +08:00
sagit
8b9cdef0e4
feat: add configurable GitHub proxy settings ( #401 )
...
* docs: add GitHub proxy config design spec
* docs: add GitHub proxy config implementation plan
* feat(backend): use configurable github proxy for node upgrades
* feat(backend): use configurable github proxy for node install command
* feat(frontend): add github proxy config settings
* feat(script): support configurable github proxy in installer flows
Honor custom GitHub mirror settings across interactive and env-driven installer/update paths so script downloads match the panel configuration. Add shell regressions to lock down proxy prompting, URL recomputation, and non-interactive fallback behavior.
2026-04-01 15:59:44 +08:00
sagit
3c10727e08
feat(config): add floating save button (FAB) for issue #266 ( #400 )
...
* docs: add floating save button design spec for issue #266
* docs: add implementation plan for floating save button
* feat(config): add floating save button (FAB) for issue #266
2.2.0-alpha3
2026-04-01 01:50:32 +00:00
qimaoww
841d43344a
fix(backend): 修复转发监听 IP 为 IPv6 时报missing port in address ( #397 )
...
* fix(backend): handle IPv6 forward bind IP ports
* test(handler): add IPv6 bindIP test cases for forward service config
---------
Co-authored-by: sagit <36596628+Sagit-chu@users.noreply.github.com >
Co-authored-by: sagitchu <sagitchu@gmail.com >
2.2.0-alpha2
2026-03-31 03:24:56 +00:00
sagit
5efe790937
fix: 实现用户端口数量限制验证 ( #399 )
...
- 在 ensureUserTunnelForwardAllowed 中添加 User.Num 限制验证
- 在 ensureUserTunnelForwardAllowed 中添加 UserTunnel.Num 限制验证
- 新增 CountActiveForwardsByUser 和 CountActiveForwardsByUserTunnel 函数
- 添加转发数量限制的契约测试
Closes #390
2026-03-31 02:52:49 +00:00
sagit
eec6cb4298
fix(agent): add port cleanup before resuming paused services ( #398 )
...
When user traffic quota is exceeded, services are paused with
ForceClosePortConnections to kill active connections. However,
when admin resets quota and resumes services, the resume logic
was missing this cleanup, causing "address already in use" errors.
Changes:
- Add ForceClosePortConnections call in resumeServices (socket & api)
- Add ForceClosePortConnections call in resumeService (api single)
- Increase wait time from 100ms to 500ms for port release
Fixes #387
2026-03-31 10:28:28 +08:00
Misaka Master
352fc82907
fix(backend): include interfaceName in ListNodes API response ( #395 )
...
- Add missing interfaceName field to node list API response map
- Fixes bug where interface name value disappears after page refresh
- Field is correctly saved to DB but was not returned in API response
Co-authored-by: Alex-WU-Gen-9-png <github@enomria0785.eu.org >
2026-03-29 20:59:52 +08:00
sagit
87722e461c
feat(monitor): hop-by-hop latency metrics for forwarding chain ( #394 )
2.2.0-alpha1
2026-03-29 18:59:06 +08:00
sagit
701b4011cb
feat: move tunnel quality monitor toggle from /settings to /config ( #393 )
...
将实时隧道质量检测开关从 /settings 移到 /config 页面,统一管理全局配置项。
2.1.9
2026-03-29 15:48:45 +08:00
sagitchu
d128d2f657
feat: move tunnel quality monitor toggle from /settings to /config
2026-03-29 15:47:10 +08:00
sagit
400a40fe80
fix: 节点离线时允许删除隧道关联,但禁止新增隧道 ( #392 )
...
## 修复内容
修复 #342
### 问题
当节点离线时,用户无法编辑隧道配置(包括更换节点),也无法修改相关的转发规则。
### 变更
**Backend:**
- `prepareTunnelCreateState`: 更新隧道时,允许已关联的离线节点保留(用户可能在移除它们),仅拒绝新增的离线节点
- `syncForwardServicesWithWarnings`: 离线节点跳过下发并返回警告,不再硬性失败
- `applyTunnelRuntime`: 所有节点类型(入口/转发链/出口)均支持离线错误延迟处理
- 新增 `isNodeOfflineOrTimeoutError` 辅助函数
**Frontend:**
- `validateTunnelForm`: 新增 `isEdit` 参数,编辑模式下跳过离线节点验证
- `tunnel.tsx`: 传递 `isEdit` 标志到表单验证
2.1.9-rc12
2026-03-28 19:31:54 +08:00
sagitchu
103290ed35
fix: 节点离线时允许删除隧道关联,但禁止新增隧道 ( #342 )
...
- prepareTunnelCreateState: 更新隧道时允许已关联的离线节点,仅拒绝新增的离线节点
- syncForwardServicesWithWarnings: 离线节点跳过下发并返回警告,不再硬性失败
- applyTunnelRuntime: 所有节点类型均支持离线错误延迟处理
- 前端 validateTunnelForm: 编辑模式下跳过离线节点验证
Closes #342
2026-03-28 19:30:30 +08:00
sagitchu
363e714603
fix: 支持跨版本隧道链路 (v6入v4出 / v4入v6出)
...
问题:selectTunnelDialHost 只检查同版本兼容 (v4->v4, v6->v6),
导致 v6-only 入口节点连接 v4-only 出口节点时报错:
"节点链路不兼容"
修复:在 default 分支增加跨版本支持:
- fromV6 && toV4 → 返回出口 v4 地址
- fromV4 && toV6 → 返回出口 v6 地址
更新测试用例以反映新行为
2026-03-28 10:35:47 +08:00
sagit
afd1258fcd
fix(monitor): add tunnel quality detection toggle ( #386 )
...
## Summary
- add a global settings toggle to enable or disable real-time tunnel
quality detection
- stop frontend tunnel quality polling and related status UI when the
toggle is off
- gate the backend tunnel quality prober so disabling the setting also
stops server-side probing
## Test plan
- [x] cd go-backend && go test ./...
- [x] cd vite-frontend && npm run build
🤖 Generated with [Claude Code](https://claude.com/claude-code )
2.1.9-rc11
2026-03-26 20:10:31 +08:00
sagitchu
e69082a596
fix(monitor): add tunnel quality detection toggle
...
Allow admins to disable real-time tunnel quality probing from settings so the monitor UI and backend probe loop stop together.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-26 20:08:40 +08:00
sagit
d30363d164
docs: update agent context to 2.1.9-rc10 ( #385 )
2.1.9-rc10
2026-03-25 20:27:40 +08:00
sagitchu
8e1a87bf5a
docs: update agent context to 2.1.9-rc10
2026-03-25 20:26:09 +08:00
sagit
6180b5a198
fix(backend): clean up forwards when revoking tunnel permissions ( #384 )
2026-03-25 20:25:49 +08:00
sagitchu
61d95ab5d5
fix(backend): clean up forwards when revoking tunnel permissions
2026-03-25 20:24:27 +08:00
sagit
c27be19915
fix: bracket IPv6 forward entry addresses ( #383 )
...
Return standard [host]:port values from forward list responses so IPv6 rule entries can be copied directly from the UI.
2026-03-24 22:16:55 +08:00
sagit
f62a35c3f9
fix: resolve PostgreSQL type encoding issues for node metrics ( #381 )
...
Fixed OID 25 (text) inference failing to encode int64 by embedding the
node ID format string directly. Replaced CAST(x AS INTEGER) with CAST(x
AS BIGINT) to prevent 32-bit overflow on Unix milliseconds timestamps.
2.1.9-rc9
2026-03-24 10:46:29 +08:00
sagitchu
2a1caf32c4
fix(monitor): resolve PostgreSQL type encoding issues for node metrics
2026-03-24 10:45:17 +08:00
sagit
fdcc30a493
release: 2.1.9-rc8 ( #380 )
...
Release 2.1.9-rc8
2.1.9-rc8
2026-03-24 09:46:39 +08:00
sagitchu
efaffb0475
chore: release 2.1.9-rc8
2026-03-24 09:45:21 +08:00
sagitchu
4954526cbc
chore: finalize release plan 064
2026-03-24 07:23:23 +08:00
sagit
9d50071915
chore: release 2.1.9-rc7 ( #379 )
...
Bump version to 2.1.9-rc7 in AGENTS.md
2.1.9-rc7
2026-03-24 07:22:52 +08:00
sagitchu
ceceee6ebd
chore: bump version to 2.1.9-rc7
2026-03-24 07:21:20 +08:00
sagitchu
11051f5517
chore: finalize release plan 063
2.1.9-rc6
2026-03-24 07:18:56 +08:00
sagit
ff2c7c4959
chore: release 2.1.9-rc6 ( #378 )
...
Bump version to 2.1.9-rc6 in AGENTS.md
2026-03-24 07:18:26 +08:00
sagitchu
6364b96935
chore: bump version to 2.1.9-rc6
2026-03-24 07:16:01 +08:00
sagit
409f0a232a
fix: bump npm package version to 2.1.9-rc5 ( #376 )
...
Bumps version in package.json and AGENTS.md
2026-03-24 00:58:34 +08:00
sagitchu
f79994e0e0
fix: bump npm package version to 2.1.9-rc5 to fix CI error
2026-03-24 00:56:08 +08:00
sagit
9fdb16d035
chore: bump version to 2.1.9-rc4 ( #375 )
...
Bump version tag in AGENTS.md
2026-03-23 23:01:58 +08:00
sagitchu
53b632a6f7
chore: bump version to 2.1.9-rc4
2026-03-23 22:59:47 +08:00
sagit
bf7b2a0740
fix: re-assign tunnel ports automatically for out-of-range entries ( #373 ) ( #374 )
...
Automatically re-assign ports from available ranges instead of rejecting
tunnel modification when adding new entry nodes.
2026-03-23 22:59:13 +08:00
sagitchu
8475bc27bb
fix: re-assign port automatically if out of range for new tunnel entries ( fixes #373 )
2026-03-23 22:57:49 +08:00
sagit
5d01572eff
release: 2.1.9-rc3 ( #371 )
...
Sync all changes and fix service monitor stale detection
2.1.9-rc3
2026-03-22 19:06:43 +08:00
sagitchu
a353faaa71
chore: release 2.1.9-rc3 (fix service monitor stale detection)
2026-03-22 19:05:31 +08:00
sagit
e7b25004ba
Update monitor rendering ( #370 )
...
Merge all changes into main for RC2 release.
2.1.9-rc2
2026-03-22 17:56:14 +08:00
sagitchu
3826cb02c0
chore: update monitor rendering and release rc2
2026-03-22 17:55:10 +08:00
sagitchu
a1fee8e432
Merge remote-tracking branch 'origin/main' into fix-agents-v14-final
2.1.9-rc1
2026-03-22 13:33:58 +08:00
sagitchu
aafdb78482
feat: node logo by distro types and official icons
2026-03-22 13:33:37 +08:00
sagit
16b545d8cd
chore: update AGENTS.md for release 2.1.9-beta14 ( #368 )
2026-03-22 05:05:50 +00:00
sagitchu
45065178b8
chore: update AGENTS.md for release 2.1.9-beta14
2026-03-22 13:04:43 +08:00
sagit
8ebde9dca9
feat: node OS logo and UI fixes ( #367 )
...
* chore: update AGENTS.md with next release info
* feat: node OS logo, UI rate fix, and monitor trend updates
2.1.9-beta14
2026-03-22 05:03:04 +00:00
sagit
0a1ec60750
fix: qualify tunnel_metric columns ( #366 )
...
fix ambiguous column reference in tunnel_metric upserts
2026-03-21 19:42:00 +08:00
sagitchu
9ec35d2f2f
merge main into sync-agents-v12
2026-03-21 19:40:44 +08:00
sagitchu
c914040b7d
fix(repo): qualify tunnel_metric columns to avoid ambiguity in ON CONFLICT
2026-03-21 19:40:16 +08:00
sagit
822362c44c
Update AGENTS.md for release v2.1.9-beta12 ( #365 )
...
Updating commit SHA and tag in AGENTS.md for the latest release.
2026-03-21 19:24:51 +08:00
sagitchu
80f5935b76
chore: update AGENTS.md for release v2.1.9-beta12
2026-03-21 19:23:20 +08:00