feat: add traffic limit rules and user traffic statistics

This commit is contained in:
EUForest
2026-03-14 17:59:27 +08:00
parent eac7b27f60
commit f8fbf5529f
23 changed files with 823 additions and 50 deletions
@@ -182,5 +182,19 @@
"validationFailed": "Validation failed",
"totalNodeGroups": "Total Node Groups",
"invalidRange": "Minimum traffic must be less than maximum traffic",
"rangeConflict": "Traffic range conflicts with node group \"{{name}}\" (range: {{min}} - {{max}} GB)"
"rangeConflict": "Traffic range conflicts with node group \"{{name}}\" (range: {{min}} - {{max}} GB)",
"isExpiredGroup": "Expired Node Group",
"isExpiredGroupDescription": "Allow expired users to use limited nodes",
"expiredDaysLimit": "Expired Days Limit",
"expiredDaysLimitDescription": "Number of days after expiration that users can still access nodes",
"maxTrafficGBExpired": "Max Traffic for Expired Users (GB)",
"maxTrafficGBExpiredDescription": "Maximum traffic allowed for expired users (0 = unlimited)",
"speedLimit": "Speed Limit (KB/s)",
"speedLimitDescription": "Speed limit for users in this node group (0 = unlimited)",
"expiredGroup": "Expired Only",
"expiredSettings": "Expired Settings",
"days": "days",
"expiredGroupExists": "System already has an expired node group: {{name}}",
"nodeGroupUsedBySubscribe": "This node group is used as default node group in subscription products, cannot set as expired group",
"expiredGroupForCalculationDescription": "Expired-only node groups cannot participate in group calculation"
}
@@ -74,6 +74,17 @@
"showOriginalPriceDescription": "When enabled, the subscription card will display both the original price and the discounted price to help users understand the discount amount",
"speedLimit": "Speed Limit ",
"traffic": "Traffic",
"trafficLimit": "Traffic Limit",
"trafficLimitRules": "Traffic Limit Rules",
"trafficLimitDescription": "Configure traffic-based speed limit rules. When traffic usage reaches the specified amount, the speed will be limited.",
"addTrafficLimitRule": "Add Traffic Limit Rule",
"statType": "Statistics Type",
"selectStatType": "Select type...",
"statTypeHour": "Hour",
"statTypeDay": "Day",
"statValue": "Time Value",
"trafficUsage": "Traffic Usage (GB)",
"speedLimitKb": "Speed Limit (kb)",
"unitPrice": "Unit Price",
"unitTime": "Unit Time",
"unlimitedInventory": "Unlimited (enter -1)",