27 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
89e0c03fec fix: 统一限速单位为 Mbps,与 ppanel-node 节点端对齐
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 8m1s
ppanel-node limiter.go 将 speed_limit 视为 Mbps(× 1000000 / 8 → Bytes/s),
但后端之前存储的是 Bytes(前端 mbToBits 转换),导致节点收到天文数字等于不限速。

- 回滚 traffic_limit KB→Bytes 转换,统一用 Mbps 直接比较
- 部署后需执行数据迁移:UPDATE subscribe SET speed_limit = speed_limit / 1048576 WHERE speed_limit > 0

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-27 02:46:25 -07:00
315c59e5b7 fix: traffic_limit 限速值 KB→Bytes 转换,修复与基础限速单位不一致
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 7m56s
traffic_limit 的 speed_limit 前端输入单位是 KB,
订阅基础 speed_limit 存储单位是 Bytes,
比较和返回前需要 ×1024 转换为 Bytes,否则限速值异常偏低。

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-27 02:30:06 -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
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
Chang lue Tsen
1995987f00 feat(config): add PaddingScheme to configuration and update server config logic 2026-01-07 09:39:10 -05:00
Tension
bbc3703404 feat(traffic): enhance logging for successful push traffic tasks 2025-12-28 21:52:42 +08:00
Chang lue Tsen
a273f8d883 fix(config): update protocol handling for Hysteria2 compatibility 2025-10-07 09:51:27 -04:00
Chang lue Tsen
6dcd75a39b fix(config): compatible hysteria2, remove in future versions 2025-10-04 12:00:42 -04:00
Chang lue Tsen
41d8de42c0 feat(constant): deprecate Hysteria2 in favor of Hysteria 2025-10-04 05:10:04 -04:00
Chang lue Tsen
c835e751ac feat(node): update Hysteria protocol to use new naming convention 2025-09-29 11:30:23 -04:00
Chang lue Tsen
d74d636735 feat(traffic): add protocol handling and update traffic statistics calculation 2025-09-28 11:31:21 -04: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
Chang lue Tsen
2c5efa2026 feat(protocol): add server protocol configuration query and enhance protocol options 2025-09-13 14:20:04 -04:00
Chang lue Tsen
712e31cc60 fix(userlist): correct node ID assignment in getServerUserListLogic 2025-09-04 14:09:17 -04:00
Chang lue Tsen
60988bc2ba fix(userlist): correct node ID assignment and update query logic for tag filtering 2025-09-04 14:05:04 -04:00
Chang lue Tsen
61ac829c37 feat(userlist): enhance GetServerUserListLogic with improved node and tag handling 2025-09-04 13:46:24 -04:00
Chang lue Tsen
a2d8d7d0bd fix(push): initialize onlineUsers as a map in pushOnlineUsersLogic 2025-09-04 12:13:55 -04:00
Chang lue Tsen
0636a4bddf feat(subscription): implement FilterList method for subscription queries and update related logic 2025-09-04 10:20:35 -04:00
Chang lue Tsen
7ecf955eb7 fix(server): encode ServerKey in base64 and update last reported time for nodes 2025-09-04 09:26:50 -04:00
Chang lue Tsen
367ef9d2e7 feat(api): add reset sort endpoints for server and node 2025-09-01 11:41:34 -04:00
Chang lue Tsen
3012a68339 feat(api): enhance server status handling with protocol support and refactor related logic 2025-09-01 04:17:33 -04:00
Chang lue Tsen
6dc1bee14c feat(api): refactor cache key handling for server and user lists 2025-08-31 11:29:55 -04:00
Chang lue Tsen
c7884d94aa feat(api): migrate server and node data handling, update related structures and logic 2025-08-26 07:05:59 -04:00
Chang lue Tsen
76063bc071 fix(server): encode server key in base64 for shadowsocks protocol 2025-06-01 12:54:48 -04:00
Chang lue Tsen
34c09c4618 refactor: update import paths from ppanel-server to server 2025-04-25 15:09:31 +09:00
Chang lue Tsen
8addcc584b init: 1.0.0 2025-04-25 12:08:29 +09:00