Files
amneziavpnphp/bin/check_traffic_limits.php
T
infosave2007 b6cf9cbab7 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
2025-11-08 09:56:25 +03:00

32 lines
908 B
PHP

#!/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);