更新 Speed/Convoy.php

This commit is contained in:
ste87 2026-03-14 14:08:42 +08:00
parent a11a90e40b
commit 3e40016545

View File

@ -89,6 +89,13 @@ class Convoy extends Server
'label' => 'Bandwidth (MiB)', 'label' => 'Bandwidth (MiB)',
'required' => false, 'required' => false,
], ],
[
'name' => 'rate_limit',
'type' => 'text',
'label' => 'Rate Limit (MiB/s)',
'required' => false,
'description' => 'Network speed limit in MiB/s. Set to 0 or leave empty for unlimited.',
],
[ [
'name' => 'snapshot', 'name' => 'snapshot',
'type' => 'text', 'type' => 'text',
@ -238,6 +245,7 @@ class Convoy extends Server
$ram = $properties['ram'] ?? $settings['ram']; $ram = $properties['ram'] ?? $settings['ram'];
$disk = $properties['disk'] ?? $settings['disk']; $disk = $properties['disk'] ?? $settings['disk'];
$bandwidth = $properties['bandwidth'] ?? $settings['bandwidth']; $bandwidth = $properties['bandwidth'] ?? $settings['bandwidth'];
$rateLimit = $properties['rate_limit'] ?? $settings['rate_limit'];
$snapshot = $properties['snapshot'] ?? $settings['snapshot']; $snapshot = $properties['snapshot'] ?? $settings['snapshot'];
$backups = $properties['backups'] ?? $settings['backups']; $backups = $properties['backups'] ?? $settings['backups'];
$ipv4 = $properties['ipv4'] ?? $settings['ipv4']; $ipv4 = $properties['ipv4'] ?? $settings['ipv4'];
@ -276,6 +284,11 @@ class Convoy extends Server
'start_on_completion' => isset($properties['start_on_create']) ? (bool) $properties['start_on_create'] : (bool) $settings['start_on_create'], 'start_on_completion' => isset($properties['start_on_create']) ? (bool) $properties['start_on_create'] : (bool) $settings['start_on_create'],
]; ];
// Add rate limit if set
if (isset($rateLimit) && $rateLimit > 0) {
$data['limits']['rate_limit'] = (float) $rateLimit;
}
$server = $this->request('servers', 'post', $data); $server = $this->request('servers', 'post', $data);
if (!isset($server['data'])) { if (!isset($server['data'])) {
@ -303,6 +316,7 @@ class Convoy extends Server
} }
$currentData = $this->request('servers/' . $properties['server_uuid']); $currentData = $this->request('servers/' . $properties['server_uuid']);
$rateLimit = $properties['rate_limit'] ?? $settings['rate_limit'];
$data = [ $data = [
'address_ids' => [], 'address_ids' => [],
@ -314,6 +328,11 @@ class Convoy extends Server
'disk' => (int) ($properties['disk'] ?? $settings['disk']) * 1024 * 1024, 'disk' => (int) ($properties['disk'] ?? $settings['disk']) * 1024 * 1024,
]; ];
// Add rate limit if set
if (isset($rateLimit) && $rateLimit > 0) {
$data['rate_limit'] = (float) $rateLimit;
}
$limitIpv4 = (int) ($properties['ipv4'] ?? $settings['ipv4']); $limitIpv4 = (int) ($properties['ipv4'] ?? $settings['ipv4']);
$limitIpv6 = (int) ($properties['ipv6'] ?? $settings['ipv6']); $limitIpv6 = (int) ($properties['ipv6'] ?? $settings['ipv6']);
// Check if IPv4 has increased // Check if IPv4 has increased