90 Commits

Author SHA1 Message Date
2db2bc0860 feat: 限速状态可视化 - 后台订阅详情展示实际限速与降速状态
All checks were successful
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
b43dcd8dab merge: 同步 origin/master 新功能到定制版本
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 8m8s
2026-03-24 01:03:56 -07:00
EUForest
7fe7243c24 feat: Add slider verification code 2026-03-23 02:42:12 +08:00
f703b5089a 分组概念
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 7m58s
2026-03-19 03:21:47 -07:00
e5e9f93f68 Merge remote-tracking branch 'origin/master' into internal 2026-03-19 01:55:01 -07:00
de6fbcb518 device_no
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 7m22s
2026-03-18 10:28:55 -07:00
EUForest
bc721b0ba6 update: Adding interference to CAPTCHA 2026-03-18 12:45:09 +08:00
4b528184ea devicd_no
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 7m58s
2026-03-17 08:37:36 -07:00
dcdbabdb13 注销
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 7m34s
2026-03-17 07:12:42 -07:00
3d732c0361 feat: 为用户设备添加 DeviceNo 字段并实现 ID 混淆,同时在迁移脚本中新增 ID 重建逻辑。
Some checks failed
Build docker and publish / build (20.15.1) (push) Has been cancelled
2026-03-15 19:38:37 -07:00
7c2eddf9c3 feat: 为订单表添加 app_account_token 字段并增强 Apple IAP 对账逻辑,支持通过交易历史记录查找。
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 7m25s
2026-03-10 20:47:24 -07:00
EUForest
0f6fddc36d feat(error): add PermissionDenied error code
- Add error code 40008 for permission denied scenarios
- Add corresponding error message for admin permission checks
2026-03-09 22:53:59 +08:00
EUForest
0dbcff85f1 feat(captcha): add captcha service interface and implementations
- Add captcha service interface with Generate and Verify methods
- Implement local image captcha using base64Captcha library
- Implement Cloudflare Turnstile verification wrapper
- Support Redis-based captcha storage with 5-minute expiration
- Add factory method for creating captcha service instances
2026-03-09 22:53:13 +08:00
130fb702ab fix: IAP 支付流程优化与关键 bug 修复
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 7m42s
- getStatusLogic 类型断言修复(*user.User)
- restoreLogic 事务拆分为单条处理 + appAccountToken 解析
- attachTransactionLogic 提取 ParseProductIdDuration 共享函数
- 新增 config_helper.go 统一 Apple API 配置加载
- reconcileLogic 补充 BundleID 配置读取
- activateOrderLogic 邀请赠送天数逻辑完善

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-09 00:27:16 -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
1e14e2dbd9 map对齐
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 7m7s
2026-03-07 07:16:01 -08:00
4d913c1728 修复缓存
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 7m26s
2026-03-06 21:58:29 -08:00
7308aa9191 无订阅 支付后出现两个订阅
Some checks failed
Build docker and publish / build (20.15.1) (push) Failing after 7m37s
2026-03-05 21:53:36 -08:00
2215df8c0b 各种配置项修复,优化到后台管理端配置 2026-03-04 19:42:21 -08:00
4752f844ef 各种配置项修复,优化到后台管理端配置
Some checks failed
Build docker and publish / build (20.15.1) (push) Has been cancelled
2026-03-04 17:58:40 -08:00
a01570b59d fix gitea workflow path and runner label
Some checks failed
Build docker and publish / build (20.15.1) (push) Failing after 8m21s
2026-03-04 06:33:14 -08:00
0c544268e5 refactor payment platform canonicalization and order method consistency
Some checks failed
Build docker and publish / build (20.15.1) (push) Failing after 8m1s
2026-03-04 02:15:32 -08:00
b0eb6595ac add: 新增ci diamanté 2026-03-03 17:29:45 -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
7197f5dcf6 feat(stripe): update webhook event construction to ignore API version mismatches 2026-02-11 17:29:53 +08:00
Chang lue Tsen
ea94f3c9f9 feat(stripe): update webhook event construction to ignore API version mismatches 2026-02-08 06:43:34 -05:00
Chang lue Tsen
58caa497c3 fix(exchange): update exchange rate API endpoint and adjust request parameters 2026-01-07 09:35:09 -05: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
fb6adc9ae3 feat(subscribe): add inventory check and update logic for subscription plans 2025-12-28 22:44:14 +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
EUForest
76ff9a658d Merge branch perfect-panel/master/server into develop 2025-12-11 23:53:32 +08:00
Tension
143445a2fc feat(commission): implement commission withdrawal logic and logging 2025-11-29 14:33:05 +08:00
EUForest
d22659ff04 update: encryption 2025-11-24 15:59:03 +08:00
Chang lue Tsen
e3999ba75f feat(subscribe): add short token generation and validation logic 2025-11-18 12:03:14 -05:00
EUForest
ff2d3f85f3 new features: Based on IP user registration restrictions 2025-11-13 14:52:02 +08:00
Chang lue Tsen
87b743a2a2 refactor(constants): update repository and service name constants in tool and version files 2025-11-09 08:54:50 -05:00
EUForest
de6661cc16 Update: Successful authentication records the identifier. 2025-11-06 15:32:29 +08:00
EUForest
52ce054b35 Add: Server location latitude and longitude 2025-11-04 14:53:43 +08:00
EUForest
aaea4183c2 fix bug: Get area information 2025-10-31 23:23:58 +08:00
EUForest
9ab63dff88 fix bug: Login failed for old user 2025-10-23 12:21:43 +08:00
Chang lue Tsen
1b76794251 fix(coupon): add expiration check and error handling for expired coupons 2025-10-16 09:31:33 -04:00
Ember Moth
8b48286365 add payment type field (alipay/wxpay) to EPay config 2025-10-15 23:20:33 +09:00
EUForest
96808d531a
Application device interface encryption and other bug fixes (#87)
* add: device login

* update: global config

* add: User transmission interface encryption

* update: get global config

* update: User transmission interface encryption

* add: get device list

* add: SecretIsEmpty Message

* update: device middleware

* add: query user subscribe node list

* fix bug: query device list

* fix bug: unbind device

* update: device login

* fix bug: The ad table is missing the description field

* fix bug:page size is zero

* update: Device Middleware

* fix bug: Site custom data update failed
2025-10-15 10:09:19 -04:00
Chang lue Tsen
8562734fde feat(user): add encryption algorithm and salt fields to User model for migrate 2025-10-09 13:33:03 -04:00
Chang lue Tsen
de4386ff68 feat(encryption): add MultiPasswordVerify function for multiple hashing algorithms 2025-10-08 12:19:41 -04:00
Chang lue Tsen
3fb23e3106 refactor(adapter): delete old adapter 2025-09-29 11:22:36 -04:00
Chang lue Tsen
2de76104ad fix(tests): update time format in TestNewNodeMultiplierManager and add new time period 2025-09-29 15:18:58 +09:00
Chang lue Tsen
02f0d711ba fix(manager): update time parsing format in isInTimePeriod function 2025-09-29 13:11:51 +09:00
Chang lue Tsen
0d1df5f905 feat(config): enhance NodeConfig with TrafficReportThreshold, IPStrategy, DNS, Block, and Outbound fields 2025-09-28 19:06:29 +09:00