feat: Enhance server validation in server.js and improve gateway management in ServerManager and FilterManager, ensuring proper gateway configuration for jumphost and exit server types.
Publish Fast Tabler Docker image / build-and-push-fast (push) Successful in 2m2s
Publish Fast Tabler Docker image / build-and-push-fast (push) Successful in 2m2s
This commit is contained in:
@@ -306,6 +306,22 @@ const serversRoutes = createJsonDataRoutes('servers.json', (server, i) => {
|
||||
return `Server at index ${i} has invalid type (allowed: ${SERVER_TYPES.join(', ')})`;
|
||||
}
|
||||
|
||||
if (normalizedType === 'jumphost' || normalizedType === 'exit') {
|
||||
if (!Array.isArray(server.gateways) || server.gateways.length === 0) {
|
||||
return `Server at index ${i} must have gateways for type ${normalizedType}`;
|
||||
}
|
||||
const primaries = server.gateways.filter(g => g && g.primary);
|
||||
if (primaries.length !== 1) {
|
||||
return `Server at index ${i} must have exactly one primary gateway`;
|
||||
}
|
||||
for (let j = 0; j < server.gateways.length; j++) {
|
||||
const gw = server.gateways[j] || {};
|
||||
if (!gw.name || String(gw.name).trim().length === 0) {
|
||||
return `Server at index ${i} gateway at index ${j} is missing name`;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Нормализуем тип, чтобы в S3 всегда лежали одинаковые значения
|
||||
server.type = normalizedType;
|
||||
return null;
|
||||
|
||||
Reference in New Issue
Block a user