Add traffic limit functionality
- Add traffic_limit field to vpn_clients table (migration 007) - Add traffic limit management methods in VpnClient class - Add API endpoints: set-traffic-limit, traffic-limit-status, overlimit - Add UI for setting limits when creating clients - Add traffic limit column in clients table with visual indicators - Add automatic traffic limit check via cron (bin/check_traffic_limits.php) - Add translations for traffic limits (6 languages) - Update README with traffic limit documentation
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
/**
|
||||
* Check and disable clients that exceeded their traffic limit
|
||||
* Run this script via cron every hour
|
||||
*/
|
||||
|
||||
require_once __DIR__ . '/../inc/Config.php';
|
||||
require_once __DIR__ . '/../inc/DB.php';
|
||||
require_once __DIR__ . '/../inc/VpnClient.php';
|
||||
require_once __DIR__ . '/../inc/VpnServer.php';
|
||||
|
||||
// Load config
|
||||
Config::load(__DIR__ . '/../.env');
|
||||
|
||||
echo '[' . date('Y-m-d H:i:s') . '] Checking for clients over traffic limit...' . PHP_EOL;
|
||||
|
||||
try {
|
||||
$disabled = VpnClient::disableClientsOverLimit();
|
||||
|
||||
if ($disabled > 0) {
|
||||
echo '[' . date('Y-m-d H:i:s') . '] Disabled ' . $disabled . ' client(s) that exceeded traffic limit' . PHP_EOL;
|
||||
} else {
|
||||
echo '[' . date('Y-m-d H:i:s') . '] No clients over traffic limit' . PHP_EOL;
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
echo '[' . date('Y-m-d H:i:s') . '] ERROR: ' . $e->getMessage() . PHP_EOL;
|
||||
exit(1);
|
||||
}
|
||||
|
||||
exit(0);
|
||||
Reference in New Issue
Block a user