df7303738a
bug: 无订阅情况 出现下多笔订单 支付状态乱
Build docker and publish / build (20.15.1) (push) Successful in 7m18s
2026-03-30 00:32:41 -07:00
a9205cc3fc
feat: 用户订阅显示节点分组名及限速起止时间
...
Build docker and publish / build (20.15.1) (push) Successful in 7m28s
- UserSubscribe/UserSubscribeDetail 新增 node_group_id/node_group_name 字段
- 管理员查询用户订阅列表批量填充分组名
- 管理员查询单个订阅详情填充分组名
- ThrottleResult/UserSubscribeDetail 新增 throttle_start/throttle_end 字段
- 限速时返回限速窗口起止时间(秒级 Unix 时间戳)
Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-29 10:07:17 -07:00
2db2bc0860
feat: 限速状态可视化 - 后台订阅详情展示实际限速与降速状态
...
Build docker and publish / build (20.15.1) (push) Successful in 8m7s
- 新增 pkg/speedlimit/calculator.go 公共限速计算函数
- UserSubscribeDetail 响应新增 effective_speed/is_throttled/throttle_rule 字段
- GetUserSubscribeById 接口查询时实时计算并返回限速状态
- 重构 getServerUserListLogic 的 calculateEffectiveSpeedLimit,改用共享函数
Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-28 08:14:07 -07:00
e5c8e965af
fix: 设备组详情补充 auth_type/device_type 字段,统一用户名显示
...
Build docker and publish / build (20.15.1) (push) Successful in 8m15s
- FamilyMemberItem 新增 auth_type、device_type 字段
- FamilySummary 新增 owner_auth_type 字段
- findUserIdentifiers 返回 identifierInfo(含 auth_type)
- 新增 parseDeviceType() 从 UserAgent 解析设备类型
Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-26 21:30:51 -07:00
774fce6147
fix: 预览节点只显示用户实际所在分组的节点,不再包含公共节点
Build docker and publish / build (20.15.1) (push) Successful in 7m48s
2026-03-25 23:15:48 -07:00
d63b943964
fix: 修复订阅更新 group_locked 不能为 null 问题 + Kutt 短链3次重试
...
Build docker and publish / build (20.15.1) (push) Successful in 7m46s
- updateUserSubscribeLogic: 更新订阅时补充 GroupLocked 字段,避免写入 NULL 触发数据库约束错误
- inviteLinkResolver: generateShortLinkWithTimeout 增加最多3次重试,防止网络波动导致短链生成失败
Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-25 22:36:34 -07:00
95830eae8a
fix: 流量分组查询条件改为仅判断 max_traffic_gb > 0
2026-03-24 01:03:29 -07:00
e5e9f93f68
Merge remote-tracking branch 'origin/master' into internal
2026-03-19 01:55:01 -07:00
282e1e4087
deviceno
Build docker and publish / build (20.15.1) (push) Successful in 7m26s
2026-03-17 09:12:56 -07:00
dcdbabdb13
注销
Build docker and publish / build (20.15.1) (push) Successful in 7m34s
2026-03-17 07:12:42 -07:00
3cd22d8538
x
Build docker and publish / build (20.15.1) (push) Successful in 8m3s
2026-03-16 00:59:49 -07:00
3d732c0361
feat: 为用户设备添加 DeviceNo 字段并实现 ID 混淆,同时在迁移脚本中新增 ID 重建逻辑。
Build docker and publish / build (20.15.1) (push) Has been cancelled
2026-03-15 19:38:37 -07:00
ad578883e4
feat: 添加付费用户数据迁移脚本、报告及相关管理逻辑调整。
Build docker and publish / build (20.15.1) (push) Successful in 7m49s
2026-03-14 22:37:03 -07:00
EUForest
06a2425474
feat(subscribe): add traffic limit rules and user traffic stats
...
- Add subscribe traffic_limit schema and migration\n- Support traffic_limit in admin create/update and list/details\n- Apply traffic_limit when building server user list speed limits\n- Add public user traffic stats API
2026-03-14 12:41:52 +08:00
e4ec85c176
fix: clearAllSessions 改用 SCAN 查找 session,修复会话清理无效
...
Build docker and publish / build (20.15.1) (push) Successful in 7m37s
根因:登录时只写了 auth:session_id:{sessionId} (Redis SET),
从未写入 auth:user_sessions:{userId} sorted set,
导致 clearAllSessions 用 ZRange 永远返回空,session 根本没被清除。
修复:改用 SCAN auth:session_id:* 遍历所有 session key,
按 value 匹配 userId 找出该用户的全部 session 后删除,
同时清理关联的 device cache key。
Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-12 02:47:32 -07:00
384c8df506
fix: 踢出用户时清除所有 session,确保旧 token 立即失效
...
Build docker and publish / build (20.15.1) (push) Successful in 7m43s
- kickOfflineByUserDeviceLogic: 管理员踢设备后新增 clearAllSessions,
之前只清单个 WebSocket session,用户可用旧 token 继续访问
- unbindDeviceLogic: 家庭成员被踢时增加踢设备+清 session;
补全 session detail key 清理
Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-12 02:19:35 -07:00
EUForest
17163486f6
fix(subscribe): fix user subscription node retrieval logic to support directly assigned nodes
2026-03-10 18:29:19 +08:00
1372510abf
feat: 后台管理新增手动激活订单接口
...
Build docker and publish / build (20.15.1) (push) Successful in 7m53s
POST /v1/admin/order/activate { "order_no": "xxx" }
- 支持对 pending(1) 或 closed(3) 状态的订单手动激活
- 强制更新为 paid(2) 并 enqueue 激活任务
- 用于处理 IAP 被误关闭或客户端未成功回调的订单
2026-03-09 03:58:57 -07:00
dcfcd036de
x
Build docker and publish / build (20.15.1) (push) Successful in 7m46s
2026-03-08 22:37:58 -07:00
f792157d6e
邀请记录
Build docker and publish / build (20.15.1) (push) Successful in 7m22s
2026-03-08 21:57:20 -07:00
EUForest
39310d5b9a
Features:
...
- Node group CRUD operations with traffic-based filtering
- Three grouping modes: average distribution, subscription-based, and traffic-based
- Automatic and manual group recalculation with history tracking
- Group assignment preview before applying changes
- User subscription group locking to prevent automatic reassignment
- Subscribe-to-group mapping configuration
- Group calculation history and detailed reports
- System configuration for group management (enabled/mode/auto_create)
Database:
- Add node_group table for group definitions
- Add group_history and group_history_detail tables for tracking
- Add node_group_ids (JSON) to nodes and subscribe tables
- Add node_group_id and group_locked fields to user_subscribe table
- Add migration files for schema changes
2026-03-08 23:22:38 +08:00
69028898a4
搜索
Build docker and publish / build (20.15.1) (push) Successful in 7m52s
2026-03-08 08:05:26 -07:00
4907853667
邀请 N天配置
2026-03-08 07:31:11 -07:00
4d913c1728
修复缓存
Build docker and publish / build (20.15.1) (push) Successful in 7m26s
2026-03-06 21:58:29 -08:00
7308aa9191
无订阅 支付后出现两个订阅
Build docker and publish / build (20.15.1) (push) Failing after 7m37s
2026-03-05 21:53:36 -08:00
9f4d71770b
家庭组逻辑导致支付失败
Build docker and publish / build (20.15.1) (push) Failing after 9m9s
2026-03-05 02:13:28 -08:00
d962fafe7f
修复订单支付显示方式
Build docker and publish / build (20.15.1) (push) Successful in 7m59s
2026-03-04 23:28:37 -08:00
69ac1f104d
修复订单支付显示方式
Build docker and publish / build (20.15.1) (push) Has been cancelled
2026-03-04 23:20:36 -08:00
4349a7ea2f
家庭组 权益修改
Build docker and publish / build (20.15.1) (push) Successful in 8m16s
2026-03-04 22:02:42 -08:00
4752f844ef
各种配置项修复,优化到后台管理端配置
Build docker and publish / build (20.15.1) (push) Has been cancelled
2026-03-04 17:58:40 -08:00
0c544268e5
refactor payment platform canonicalization and order method consistency
Build docker and publish / build (20.15.1) (push) Failing after 8m1s
2026-03-04 02:15:32 -08:00
4d8516b2e1
同步历史版本代码
2026-03-03 09:32:22 -08:00
EUForest
31e75efacb
Merge upstream/master into master
2026-02-13 23:06:43 +08:00
EUForest
ffe589ff77
feat: Device short code lookup
2026-01-31 11:52:09 +08:00
Chang lue Tsen
7d84cf858b
fix(currency): initialize exchange rate to 0 and improve error logging in purchase checkout
2026-01-07 09:35:52 -05:00
EUForest
ed669d0620
feat: remove v prefix from service version and disable SECRET_KEY check
2026-01-07 14:40:07 +08:00
EUForest
8f783b162c
feat: redemption code
2026-01-06 16:24:24 +08:00
EUForest
3f3b0ae6ad
up: Redemption Code
2026-01-06 16:15:10 +08:00
EUForest
518595b058
feat: Redemption Code
2026-01-05 17:53:31 +08:00
EUForest
80ee9a6acf
Merge upstream/master into develop
...
Sync upstream changes from perfect-panel/server
Includes updates from v1.0.1 to v1.2.5:
- Currency configuration support
- Subscribe improvements (short token, inventory check, etc.)
- Node management enhancements
- Database migrations
- Bug fixes and optimizations
2026-01-02 12:51:55 +08:00
Tension
8436c2d6ee
feat(subscribe): add short token generation for user subscriptions
2025-12-30 14:06:46 +08:00
Tension
d4c6aa0528
feat(node): add enabled field to node creation logic
2025-12-29 15:03:39 +08:00
Tension
e8084e9d2c
feat(subscribe): rename stop user subscribe handler to toggle and update logic for status change
2025-12-29 13:50:50 +08:00
Tension
495c4529ed
fix(gorm): adjust caller skip for logging methods to improve stack trace accuracy
2025-12-28 21:52:54 +08:00
Tension
21f77e141b
feat(node): update Node Multiplier configuration and initialize node
2025-12-28 21:52:16 +08:00
Tension
d332e760f8
feat(subscribe): add ShowOriginalPrice field and related database changes
2025-12-28 17:08:26 +08:00
Tension
31e634ba66
feat(user): add handlers and logic for resetting user subscribe token and traffic
2025-12-28 16:49:28 +08:00
Chang lue Tsen
67f16ead82
feat(user): add unscoped filter to include soft-deleted records in user queries
2025-12-27 10:57:34 -05:00
Chang lue Tsen
ec510b66fb
refactor(server): remove deprecated server types and related methods for cleaner codebase
2025-12-23 07:48:03 -05:00
EUForest
76ff9a658d
Merge branch perfect-panel/master/server into develop
2025-12-11 23:53:32 +08:00