diff --git a/backend/app/Controllers/Admin/FeatherZeroTrustController.php b/backend/app/Controllers/Admin/FeatherZeroTrustController.php index 12be19623..9cb167dd2 100755 --- a/backend/app/Controllers/Admin/FeatherZeroTrustController.php +++ b/backend/app/Controllers/Admin/FeatherZeroTrustController.php @@ -17,6 +17,7 @@ namespace App\Controllers\Admin; +use App\Helpers\WingsUrlHelper; use App\App; use App\Chat\Node; use App\Chat\Server; @@ -167,7 +168,8 @@ public function scanServer(Request $request): Response $node['daemonListen'], $node['scheme'], $node['daemon_token'], - 30 + 30, + WingsUrlHelper::isBehindProxy($node) ); // Create configuration @@ -309,7 +311,8 @@ public function scanBatch(Request $request): Response $node['daemonListen'], $node['scheme'], $node['daemon_token'], - 30 + 30, + WingsUrlHelper::isBehindProxy($node) ); // Create scanner diff --git a/backend/app/Controllers/Admin/NodeStatusController.php b/backend/app/Controllers/Admin/NodeStatusController.php index 1fef21480..54922be66 100755 --- a/backend/app/Controllers/Admin/NodeStatusController.php +++ b/backend/app/Controllers/Admin/NodeStatusController.php @@ -17,6 +17,7 @@ namespace App\Controllers\Admin; +use App\Helpers\WingsUrlHelper; use App\Chat\Node; use App\Helpers\ApiResponse; use App\Services\Wings\Wings; @@ -100,7 +101,8 @@ public function getGlobalStatus(Request $request): Response $node['daemonListen'], $node['scheme'], $node['daemon_token'], - 10 // Short timeout for status checks + 10, // Short timeout for status checks + WingsUrlHelper::isBehindProxy($node) ); $utilization = $wings->getSystem()->getSystemUtilization(); diff --git a/backend/app/Controllers/Admin/NodesController.php b/backend/app/Controllers/Admin/NodesController.php index 168d2e26c..96ca27dd6 100755 --- a/backend/app/Controllers/Admin/NodesController.php +++ b/backend/app/Controllers/Admin/NodesController.php @@ -17,6 +17,7 @@ namespace App\Controllers\Admin; +use App\Helpers\WingsUrlHelper; use App\App; use App\Chat\Node; use App\Cache\Cache; @@ -754,7 +755,8 @@ public function diagnostics(Request $request, int $id): Response (int) $node['daemonListen'], $node['scheme'], $node['daemon_token'], - 30 + 30, + WingsUrlHelper::isBehindProxy($node) ); $diagnostics = $wings->getSystem()->getDiagnostics( @@ -899,7 +901,8 @@ public function triggerSelfUpdate(Request $request, int $id): Response (int) $node['daemonListen'], $node['scheme'], $node['daemon_token'], - 30 + 30, + WingsUrlHelper::isBehindProxy($node) ); $response = $wings->getSystem()->triggerSelfUpdate($cleanPayload, true); @@ -1140,7 +1143,8 @@ public function executeTerminalCommand(Request $request, int $id): Response (int) $node['daemonListen'], $node['scheme'], $node['daemon_token'], - ($timeoutSeconds ?? 60) + 10 // Add 10s buffer for HTTP timeout + ($timeoutSeconds ?? 60) + 10, // Add 10s buffer for HTTP timeout + WingsUrlHelper::isBehindProxy($node) ); $result = $wings->getSystem()->executeCommand( @@ -1231,7 +1235,8 @@ public function getConfig(Request $request, int $id): Response (int) $node['daemonListen'], $node['scheme'], $node['daemon_token'], - 30 + 30, + WingsUrlHelper::isBehindProxy($node) ); $config = $wings->getConfig()->getConfig(); @@ -1313,7 +1318,8 @@ public function putConfig(Request $request, int $id): Response (int) $node['daemonListen'], $node['scheme'], $node['daemon_token'], - 30 + 30, + WingsUrlHelper::isBehindProxy($node) ); // Wings API expects 'content' field, not 'config' @@ -1433,7 +1439,8 @@ public function patchConfig(Request $request, int $id): Response (int) $node['daemonListen'], $node['scheme'], $node['daemon_token'], - 30 + 30, + WingsUrlHelper::isBehindProxy($node) ); // Wings API expects 'updates' field in patchConfig, but we accept 'values' from frontend @@ -1499,7 +1506,8 @@ public function getConfigSchema(Request $request, int $id): Response (int) $node['daemonListen'], $node['scheme'], $node['daemon_token'], - 30 + 30, + WingsUrlHelper::isBehindProxy($node) ); $schema = $wings->getConfig()->getConfigSchema(); @@ -1561,7 +1569,8 @@ public function getVersionStatus(Request $request, int $id): Response (int) $node['daemonListen'], $node['scheme'], $node['daemon_token'], - 10 // Short timeout for version check + 10, // Short timeout for version check + WingsUrlHelper::isBehindProxy($node) ); // Get current Wings version diff --git a/backend/app/Controllers/Admin/ServersController.php b/backend/app/Controllers/Admin/ServersController.php index bce792027..c58aeef75 100755 --- a/backend/app/Controllers/Admin/ServersController.php +++ b/backend/app/Controllers/Admin/ServersController.php @@ -17,6 +17,7 @@ namespace App\Controllers\Admin; +use App\Helpers\WingsUrlHelper; use App\App; use App\Chat\Node; use App\Chat\User; @@ -1180,7 +1181,8 @@ public function create(Request $request): Response $port, $scheme, $token, - $timeout + $timeout, + WingsUrlHelper::isBehindProxy($nodeInfo) ); $wingsData = [ @@ -1764,7 +1766,8 @@ public function update(Request $request, int $id): Response $nodeInfo['daemonListen'], $nodeInfo['scheme'], $nodeInfo['daemon_token'], - 30 + 30, + WingsUrlHelper::isBehindProxy($nodeInfo) ); // Deauthorize old owner from Wings @@ -1904,7 +1907,8 @@ public function update(Request $request, int $id): Response $port, $scheme, $token, - $timeout + $timeout, + WingsUrlHelper::isBehindProxy($nodeInfo) ); // If spell changed, trigger reinstall instead of just sync @@ -2057,7 +2061,8 @@ public function delete(Request $request, int $id): Response $port, $scheme, $token, - $timeout + $timeout, + WingsUrlHelper::isBehindProxy($nodeInfo) ); $response = $wings->getServer()->deleteServer($server['uuid']); @@ -2572,7 +2577,8 @@ public function suspend(Request $request, int $id): Response $port, $scheme, $token, - $timeout + $timeout, + WingsUrlHelper::isBehindProxy($nodeInfo) ); $response = $wings->getServer()->killServer($server['uuid']); @@ -2916,7 +2922,8 @@ public function cancelTransfer(Request $request, int $id): Response $sourceNode['daemonListen'], $sourceNode['scheme'], $sourceNode['daemon_token'], - 30 + 30, + WingsUrlHelper::isBehindProxy($sourceNode) ); $wingsSource->getTransfer()->cancelTransfer($server['uuid']); $logger->info('Cancelled transfer on source node for server ' . $server['uuid']); @@ -2933,7 +2940,8 @@ public function cancelTransfer(Request $request, int $id): Response $destinationNode['daemonListen'], $destinationNode['scheme'], $destinationNode['daemon_token'], - 30 + 30, + WingsUrlHelper::isBehindProxy($destinationNode) ); // Destination node uses DELETE /api/transfer with server UUID in body $wingsDest->getServer()->deleteServer($server['uuid']); @@ -3018,7 +3026,8 @@ private function syncServerConfiguration(array $server): ?Response $node['daemonListen'], $node['scheme'], $node['daemon_token'], - 30 + 30, + WingsUrlHelper::isBehindProxy($node) ); $response = $wings->getServer()->syncServer($server['uuid']); if (!$response->isSuccessful()) { diff --git a/backend/app/Controllers/User/NodeStatusController.php b/backend/app/Controllers/User/NodeStatusController.php index 353e0c467..8c8990cf7 100755 --- a/backend/app/Controllers/User/NodeStatusController.php +++ b/backend/app/Controllers/User/NodeStatusController.php @@ -17,6 +17,7 @@ namespace App\Controllers\User; +use App\Helpers\WingsUrlHelper; use App\App; use App\Chat\Node; use App\Chat\Server; @@ -149,7 +150,8 @@ public function getStatus(Request $request): Response $node['daemonListen'], $node['scheme'], $node['daemon_token'], - 10 // Short timeout for status checks + 10, // Short timeout for status checks + WingsUrlHelper::isBehindProxy($node) ); $utilization = $wings->getSystem()->getSystemUtilization(); diff --git a/backend/app/Controllers/User/Server/Logs/ServerLogsController.php b/backend/app/Controllers/User/Server/Logs/ServerLogsController.php index bb88da097..955312b36 100755 --- a/backend/app/Controllers/User/Server/Logs/ServerLogsController.php +++ b/backend/app/Controllers/User/Server/Logs/ServerLogsController.php @@ -17,6 +17,7 @@ namespace App\Controllers\User\Server\Logs; +use App\Helpers\WingsUrlHelper; use App\App; use App\Chat\Server; use App\Helpers\LogHelper; @@ -117,7 +118,8 @@ public function getLogs(Request $request, string $uuidShort): Response $port, $scheme, $token, - $timeout + $timeout, + WingsUrlHelper::isBehindProxy($node) ); $response = $wings->getServer()->getServerLogs($server['uuid']); @@ -215,7 +217,8 @@ public function getInstallLogs(Request $request, string $uuidShort): Response $port, $scheme, $token, - $timeout + $timeout, + WingsUrlHelper::isBehindProxy($node) ); $response = $wings->getServer()->getServerInstallLogs($server['uuid']); @@ -318,7 +321,8 @@ public function uploadLogs(Request $request, string $uuidShort): Response $port, $scheme, $token, - $timeout + $timeout, + WingsUrlHelper::isBehindProxy($node) ); $response = $wings->getServer()->getServerLogs($server['uuid']); @@ -450,7 +454,8 @@ public function uploadInstallLogs(Request $request, string $uuidShort): Response $port, $scheme, $token, - $timeout + $timeout, + WingsUrlHelper::isBehindProxy($node) ); $response = $wings->getServer()->getServerInstallLogs($server['uuid']); diff --git a/backend/app/Controllers/User/Server/Power/ServerPowerController.php b/backend/app/Controllers/User/Server/Power/ServerPowerController.php index 686886c6a..07b6fc9e2 100755 --- a/backend/app/Controllers/User/Server/Power/ServerPowerController.php +++ b/backend/app/Controllers/User/Server/Power/ServerPowerController.php @@ -17,6 +17,7 @@ namespace App\Controllers\User\Server\Power; +use App\Helpers\WingsUrlHelper; use App\App; use App\Chat\Server; use App\SubuserPermissions; @@ -153,7 +154,8 @@ public function sendPowerAction(Request $request, string $uuidShort, string $act $port, $scheme, $token, - $timeout + $timeout, + WingsUrlHelper::isBehindProxy($node) ); if ($action === 'start') { diff --git a/backend/app/Controllers/User/Server/ServerBackupController.php b/backend/app/Controllers/User/Server/ServerBackupController.php index 5d1bedd8f..8602d7041 100755 --- a/backend/app/Controllers/User/Server/ServerBackupController.php +++ b/backend/app/Controllers/User/Server/ServerBackupController.php @@ -345,7 +345,8 @@ public function createBackup(Request $request, string $serverUuid): Response (int) $nodeForEvict['daemonListen'], $nodeForEvict['scheme'], $nodeForEvict['daemon_token'], - 30 + 30, + WingsUrlHelper::isBehindProxy($nodeForEvict) ); } catch (\Throwable $e) { App::getInstance(true)->getLogger()->error('FIFO backup eviction: Wings client error: ' . $e->getMessage()); @@ -404,7 +405,8 @@ public function createBackup(Request $request, string $serverUuid): Response $port, $scheme, $token, - $timeout + $timeout, + WingsUrlHelper::isBehindProxy($node) ); // Initiate backup on Wings @@ -575,7 +577,8 @@ public function restoreBackup(Request $request, string $serverUuid, string $back $port, $scheme, $token, - $timeout + $timeout, + WingsUrlHelper::isBehindProxy($node) ); // Initiate restore on Wings @@ -926,7 +929,8 @@ public function deleteBackup(Request $request, string $serverUuid, string $backu $port, $scheme, $token, - $timeout + $timeout, + WingsUrlHelper::isBehindProxy($node) ); // Delete backup on Wings diff --git a/backend/app/Controllers/Wings/Transfer/WingsTransferStatusController.php b/backend/app/Controllers/Wings/Transfer/WingsTransferStatusController.php index 3026d4916..3850eeb4b 100755 --- a/backend/app/Controllers/Wings/Transfer/WingsTransferStatusController.php +++ b/backend/app/Controllers/Wings/Transfer/WingsTransferStatusController.php @@ -17,6 +17,7 @@ namespace App\Controllers\Wings\Transfer; +use App\Helpers\WingsUrlHelper; use App\App; use App\Chat\Node; use App\Chat\Backup; @@ -411,7 +412,8 @@ private function deleteServerFromOldNode(array $server, array $transfer, $logger $oldNode['daemonListen'], $oldNode['scheme'], $oldNode['daemon_token'], - 30 + 30, + WingsUrlHelper::isBehindProxy($oldNode) ); // Delete the server from the old node diff --git a/backend/app/Controllers/Wings/WingsAdminController.php b/backend/app/Controllers/Wings/WingsAdminController.php index d373d25dc..9bd6e7e6e 100755 --- a/backend/app/Controllers/Wings/WingsAdminController.php +++ b/backend/app/Controllers/Wings/WingsAdminController.php @@ -20,6 +20,7 @@ use App\Chat\Node; use App\Helpers\ApiResponse; use App\Services\Wings\Wings; +use App\Helpers\WingsUrlHelper; use OpenApi\Attributes as OA; use App\Plugins\Events\Events\WingsEvent; use Symfony\Component\HttpFoundation\Request; @@ -142,7 +143,8 @@ public function utilization(Request $request, int $id): Response $port, $scheme, $token, - $timeout + $timeout, + WingsUrlHelper::isBehindProxy($node) ); $utilization = $wings->getSystem()->getSystemUtilization(); @@ -208,7 +210,8 @@ public function getDockerDiskUsage(Request $request, int $id): Response $port, $scheme, $token, - $timeout + $timeout, + WingsUrlHelper::isBehindProxy($node) ); $dockerDiskUsage = $wings->getDocker()->getDockerDiskUsage(); @@ -274,7 +277,8 @@ public function getDockerPrune(Request $request, int $id): Response $port, $scheme, $token, - $timeout + $timeout, + WingsUrlHelper::isBehindProxy($node) ); $dockerPrune = $wings->getDocker()->pruneDockerImages(); @@ -340,7 +344,8 @@ public function getIps(Request $request, int $id): Response $port, $scheme, $token, - $timeout + $timeout, + WingsUrlHelper::isBehindProxy($node) ); $ips = $wings->getSystem()->getSystemIPs(); @@ -425,7 +430,8 @@ public function system(Request $request, int $id): Response $port, $scheme, $token, - $timeout + $timeout, + WingsUrlHelper::isBehindProxy($node) ); $system = $wings->getSystem()->getDetailedSystemInfo(); @@ -488,7 +494,8 @@ public function listModules(Request $request, int $id): Response $port, $scheme, $token, - $timeout + $timeout, + WingsUrlHelper::isBehindProxy($node) ); $modules = $wings->getModule()->listModules(); @@ -545,7 +552,8 @@ public function getModuleConfig(Request $request, int $id, string $module): Resp $port, $scheme, $token, - $timeout + $timeout, + WingsUrlHelper::isBehindProxy($node) ); $config = $wings->getModule()->getModuleConfig($module); @@ -607,7 +615,8 @@ public function updateModuleConfig(Request $request, int $id, string $module): R $port, $scheme, $token, - $timeout + $timeout, + WingsUrlHelper::isBehindProxy($node) ); $config = $wings->getModule()->updateModuleConfig($module, $requestData['config']); @@ -664,7 +673,8 @@ public function enableModule(Request $request, int $id, string $module): Respons $port, $scheme, $token, - $timeout + $timeout, + WingsUrlHelper::isBehindProxy($node) ); $result = $wings->getModule()->enableModule($module); @@ -721,7 +731,8 @@ public function disableModule(Request $request, int $id, string $module): Respon $port, $scheme, $token, - $timeout + $timeout, + WingsUrlHelper::isBehindProxy($node) ); $result = $wings->getModule()->disableModule($module); diff --git a/backend/app/Services/Chatbot/Tools/AutoAllocateTool.php b/backend/app/Services/Chatbot/Tools/AutoAllocateTool.php index 583b4193d..31565f8e7 100755 --- a/backend/app/Services/Chatbot/Tools/AutoAllocateTool.php +++ b/backend/app/Services/Chatbot/Tools/AutoAllocateTool.php @@ -17,6 +17,7 @@ namespace App\Services\Chatbot\Tools; +use App\Helpers\WingsUrlHelper; use App\App; use App\Chat\Node; use App\Chat\Server; @@ -148,7 +149,8 @@ public function execute(array $params, array $user, array $pageContext = []): mi $node['daemonListen'], $node['scheme'], $node['daemon_token'], - 30 + 30, + WingsUrlHelper::isBehindProxy($node) ); $response = $wings->getServer()->syncServer($server['uuid']); diff --git a/backend/app/Services/Chatbot/Tools/CompressFilesTool.php b/backend/app/Services/Chatbot/Tools/CompressFilesTool.php index 1894f535f..59593183b 100755 --- a/backend/app/Services/Chatbot/Tools/CompressFilesTool.php +++ b/backend/app/Services/Chatbot/Tools/CompressFilesTool.php @@ -17,6 +17,7 @@ namespace App\Services\Chatbot\Tools; +use App\Helpers\WingsUrlHelper; use App\App; use App\Chat\Node; use App\Chat\Server; @@ -141,7 +142,9 @@ public function execute(array $params, array $user, array $pageContext = []): mi $node['fqdn'], $node['daemonListen'], $node['scheme'], - $node['daemon_token'] + $node['daemon_token'], + 30, + WingsUrlHelper::isBehindProxy($node) ); $response = $wings->getServer()->compressFiles($server['uuid'], $root, $files, $name, $extension); diff --git a/backend/app/Services/Chatbot/Tools/CopyFilesTool.php b/backend/app/Services/Chatbot/Tools/CopyFilesTool.php index 0e0fa6a05..018194076 100755 --- a/backend/app/Services/Chatbot/Tools/CopyFilesTool.php +++ b/backend/app/Services/Chatbot/Tools/CopyFilesTool.php @@ -17,6 +17,7 @@ namespace App\Services\Chatbot\Tools; +use App\Helpers\WingsUrlHelper; use App\App; use App\Chat\Node; use App\Chat\Server; @@ -136,7 +137,8 @@ public function execute(array $params, array $user, array $pageContext = []): mi $node['daemonListen'], $node['scheme'], $node['daemon_token'], - 30 + 30, + WingsUrlHelper::isBehindProxy($node) ); $response = $wings->getServer()->copyFiles($server['uuid'], $location, $files); diff --git a/backend/app/Services/Chatbot/Tools/CreateBackupTool.php b/backend/app/Services/Chatbot/Tools/CreateBackupTool.php index 84fc9f9c2..f1e5ff573 100755 --- a/backend/app/Services/Chatbot/Tools/CreateBackupTool.php +++ b/backend/app/Services/Chatbot/Tools/CreateBackupTool.php @@ -17,6 +17,7 @@ namespace App\Services\Chatbot\Tools; +use App\Helpers\WingsUrlHelper; use App\App; use App\Chat\Node; use App\Chat\Backup; @@ -122,7 +123,8 @@ public function execute(array $params, array $user, array $pageContext = []): mi (int) $node['daemonListen'], $node['scheme'], $node['daemon_token'], - 30 + 30, + WingsUrlHelper::isBehindProxy($node) ); } catch (\Exception $e) { $this->app->getLogger()->error('CreateBackupTool FIFO: ' . $e->getMessage()); @@ -183,7 +185,8 @@ public function execute(array $params, array $user, array $pageContext = []): mi $node['daemonListen'], $node['scheme'], $node['daemon_token'], - 30 + 30, + WingsUrlHelper::isBehindProxy($node) ); $response = $wings->getServer()->createBackup($server['uuid'], 'wings', $backupUuid, $ignoredFiles); diff --git a/backend/app/Services/Chatbot/Tools/CreateDirectoryTool.php b/backend/app/Services/Chatbot/Tools/CreateDirectoryTool.php index c721c403d..0c135df1d 100755 --- a/backend/app/Services/Chatbot/Tools/CreateDirectoryTool.php +++ b/backend/app/Services/Chatbot/Tools/CreateDirectoryTool.php @@ -17,6 +17,7 @@ namespace App\Services\Chatbot\Tools; +use App\Helpers\WingsUrlHelper; use App\App; use App\Chat\Node; use App\Chat\Server; @@ -120,7 +121,8 @@ public function execute(array $params, array $user, array $pageContext = []): mi $node['daemonListen'], $node['scheme'], $node['daemon_token'], - 30 + 30, + WingsUrlHelper::isBehindProxy($node) ); $response = $wings->getServer()->createDirectory($server['uuid'], trim($name), $path); diff --git a/backend/app/Services/Chatbot/Tools/DecompressArchiveTool.php b/backend/app/Services/Chatbot/Tools/DecompressArchiveTool.php index 337b359c6..8fbc60981 100755 --- a/backend/app/Services/Chatbot/Tools/DecompressArchiveTool.php +++ b/backend/app/Services/Chatbot/Tools/DecompressArchiveTool.php @@ -17,6 +17,7 @@ namespace App\Services\Chatbot\Tools; +use App\Helpers\WingsUrlHelper; use App\App; use App\Chat\Node; use App\Chat\Server; @@ -121,7 +122,9 @@ public function execute(array $params, array $user, array $pageContext = []): mi $node['fqdn'], $node['daemonListen'], $node['scheme'], - $node['daemon_token'] + $node['daemon_token'], + 30, + WingsUrlHelper::isBehindProxy($node) ); $response = $wings->getServer()->decompressArchive($server['uuid'], $file, $root); diff --git a/backend/app/Services/Chatbot/Tools/DeleteAllocationTool.php b/backend/app/Services/Chatbot/Tools/DeleteAllocationTool.php index c79e09dc0..33a241f72 100755 --- a/backend/app/Services/Chatbot/Tools/DeleteAllocationTool.php +++ b/backend/app/Services/Chatbot/Tools/DeleteAllocationTool.php @@ -17,6 +17,7 @@ namespace App\Services\Chatbot\Tools; +use App\Helpers\WingsUrlHelper; use App\App; use App\Chat\Node; use App\Chat\Server; @@ -149,7 +150,8 @@ public function execute(array $params, array $user, array $pageContext = []): mi $node['daemonListen'], $node['scheme'], $node['daemon_token'], - 30 + 30, + WingsUrlHelper::isBehindProxy($node) ); $response = $wings->getServer()->syncServer($server['uuid']); diff --git a/backend/app/Services/Chatbot/Tools/DeleteBackupTool.php b/backend/app/Services/Chatbot/Tools/DeleteBackupTool.php index c286bc3df..f759a46b6 100755 --- a/backend/app/Services/Chatbot/Tools/DeleteBackupTool.php +++ b/backend/app/Services/Chatbot/Tools/DeleteBackupTool.php @@ -17,6 +17,7 @@ namespace App\Services\Chatbot\Tools; +use App\Helpers\WingsUrlHelper; use App\App; use App\Chat\Node; use App\Chat\Backup; @@ -153,7 +154,8 @@ public function execute(array $params, array $user, array $pageContext = []): mi $node['daemonListen'], $node['scheme'], $node['daemon_token'], - 30 + 30, + WingsUrlHelper::isBehindProxy($node) ); $response = $wings->getServer()->deleteBackup($server['uuid'], $backup['uuid']); diff --git a/backend/app/Services/Chatbot/Tools/DeleteFilesTool.php b/backend/app/Services/Chatbot/Tools/DeleteFilesTool.php index eefac771d..8c95fe779 100755 --- a/backend/app/Services/Chatbot/Tools/DeleteFilesTool.php +++ b/backend/app/Services/Chatbot/Tools/DeleteFilesTool.php @@ -17,6 +17,7 @@ namespace App\Services\Chatbot\Tools; +use App\Helpers\WingsUrlHelper; use App\App; use App\Chat\Node; use App\Chat\Server; @@ -128,7 +129,8 @@ public function execute(array $params, array $user, array $pageContext = []): mi $node['daemonListen'], $node['scheme'], $node['daemon_token'], - 30 + 30, + WingsUrlHelper::isBehindProxy($node) ); $response = $wings->getServer()->deleteFiles($server['uuid'], $root, $files); diff --git a/backend/app/Services/Chatbot/Tools/GetFileContentTool.php b/backend/app/Services/Chatbot/Tools/GetFileContentTool.php index 4a40bb17e..83af5db7e 100755 --- a/backend/app/Services/Chatbot/Tools/GetFileContentTool.php +++ b/backend/app/Services/Chatbot/Tools/GetFileContentTool.php @@ -17,6 +17,7 @@ namespace App\Services\Chatbot\Tools; +use App\Helpers\WingsUrlHelper; use App\Chat\Node; use App\Chat\Server; use App\Services\Wings\Wings; @@ -104,7 +105,8 @@ public function execute(array $params, array $user, array $pageContext = []): mi $node['daemonListen'], $node['scheme'], $node['daemon_token'], - 30 + 30, + WingsUrlHelper::isBehindProxy($node) ); $response = $wings->getServer()->getFileContentsRaw($server['uuid'], $path, false); diff --git a/backend/app/Services/Chatbot/Tools/GetFilesTool.php b/backend/app/Services/Chatbot/Tools/GetFilesTool.php index bb040ff9d..2ba7c9f56 100755 --- a/backend/app/Services/Chatbot/Tools/GetFilesTool.php +++ b/backend/app/Services/Chatbot/Tools/GetFilesTool.php @@ -17,6 +17,7 @@ namespace App\Services\Chatbot\Tools; +use App\Helpers\WingsUrlHelper; use App\Chat\Node; use App\Chat\Server; use App\Services\Wings\Wings; @@ -98,7 +99,8 @@ public function execute(array $params, array $user, array $pageContext = []): mi $node['daemonListen'], $node['scheme'], $node['daemon_token'], - 30 + 30, + WingsUrlHelper::isBehindProxy($node) ); $response = $wings->getServer()->listDirectory($server['uuid'], $path); diff --git a/backend/app/Services/Chatbot/Tools/GetServerFirewallRulesTool.php b/backend/app/Services/Chatbot/Tools/GetServerFirewallRulesTool.php index 8bd464bae..be97d31cc 100644 --- a/backend/app/Services/Chatbot/Tools/GetServerFirewallRulesTool.php +++ b/backend/app/Services/Chatbot/Tools/GetServerFirewallRulesTool.php @@ -17,6 +17,7 @@ namespace App\Services\Chatbot\Tools; +use App\Helpers\WingsUrlHelper; use App\App; use App\Chat\Node; use App\Chat\Server; @@ -104,7 +105,8 @@ public function execute(array $params, array $user, array $pageContext = []): mi $node['daemonListen'], $node['scheme'], $node['daemon_token'], - 10 + 10, + WingsUrlHelper::isBehindProxy($node) ); $response = $wings->getServer()->getFirewallRules($server['uuid']); diff --git a/backend/app/Services/Chatbot/Tools/GetServerStatusTool.php b/backend/app/Services/Chatbot/Tools/GetServerStatusTool.php index f9552f69a..9b5b07c46 100755 --- a/backend/app/Services/Chatbot/Tools/GetServerStatusTool.php +++ b/backend/app/Services/Chatbot/Tools/GetServerStatusTool.php @@ -17,6 +17,7 @@ namespace App\Services\Chatbot\Tools; +use App\Helpers\WingsUrlHelper; use App\App; use App\Chat\Server; use App\Services\Wings\Wings; @@ -105,7 +106,8 @@ public function execute(array $params, array $user, array $pageContext = []): mi $node['daemonListen'], $node['scheme'], $node['daemon_token'], - 10 // 10 second timeout + 10, // 10 second timeout + WingsUrlHelper::isBehindProxy($node) ); $serverResponse = $wings->getServer()->getServer($server['uuid']); diff --git a/backend/app/Services/Chatbot/Tools/PullFileTool.php b/backend/app/Services/Chatbot/Tools/PullFileTool.php index 9a510e917..4cc63d5cd 100755 --- a/backend/app/Services/Chatbot/Tools/PullFileTool.php +++ b/backend/app/Services/Chatbot/Tools/PullFileTool.php @@ -17,6 +17,7 @@ namespace App\Services\Chatbot\Tools; +use App\Helpers\WingsUrlHelper; use App\App; use App\Chat\Node; use App\Chat\Server; @@ -131,7 +132,8 @@ public function execute(array $params, array $user, array $pageContext = []): mi $node['daemonListen'], $node['scheme'], $node['daemon_token'], - 30 + 30, + WingsUrlHelper::isBehindProxy($node) ); $response = $wings->getServer()->pullFile( diff --git a/backend/app/Services/Chatbot/Tools/RenameFileTool.php b/backend/app/Services/Chatbot/Tools/RenameFileTool.php index 904eee071..e59575946 100755 --- a/backend/app/Services/Chatbot/Tools/RenameFileTool.php +++ b/backend/app/Services/Chatbot/Tools/RenameFileTool.php @@ -17,6 +17,7 @@ namespace App\Services\Chatbot\Tools; +use App\Helpers\WingsUrlHelper; use App\App; use App\Chat\Node; use App\Chat\Server; @@ -139,7 +140,8 @@ public function execute(array $params, array $user, array $pageContext = []): mi $node['daemonListen'], $node['scheme'], $node['daemon_token'], - 30 + 30, + WingsUrlHelper::isBehindProxy($node) ); $response = $wings->getServer()->renameFiles($server['uuid'], $root, $files); diff --git a/backend/app/Services/Chatbot/Tools/ServerPowerActionTool.php b/backend/app/Services/Chatbot/Tools/ServerPowerActionTool.php index d097b870e..5632042ad 100755 --- a/backend/app/Services/Chatbot/Tools/ServerPowerActionTool.php +++ b/backend/app/Services/Chatbot/Tools/ServerPowerActionTool.php @@ -17,6 +17,7 @@ namespace App\Services\Chatbot\Tools; +use App\Helpers\WingsUrlHelper; use App\App; use App\Chat\Node; use App\Chat\Server; @@ -144,7 +145,8 @@ public function execute(array $params, array $user, array $pageContext = []): mi $node['daemonListen'], $node['scheme'], $node['daemon_token'], - 30 + 30, + WingsUrlHelper::isBehindProxy($node) ); $response = null; diff --git a/backend/app/Services/Chatbot/Tools/SetPrimaryAllocationTool.php b/backend/app/Services/Chatbot/Tools/SetPrimaryAllocationTool.php index aa8838837..ce1b3ba6c 100755 --- a/backend/app/Services/Chatbot/Tools/SetPrimaryAllocationTool.php +++ b/backend/app/Services/Chatbot/Tools/SetPrimaryAllocationTool.php @@ -17,6 +17,7 @@ namespace App\Services\Chatbot\Tools; +use App\Helpers\WingsUrlHelper; use App\App; use App\Chat\Node; use App\Chat\Server; @@ -140,7 +141,8 @@ public function execute(array $params, array $user, array $pageContext = []): mi $node['daemonListen'], $node['scheme'], $node['daemon_token'], - 30 + 30, + WingsUrlHelper::isBehindProxy($node) ); $response = $wings->getServer()->syncServer($server['uuid']); diff --git a/backend/app/Services/Chatbot/Tools/WriteFileTool.php b/backend/app/Services/Chatbot/Tools/WriteFileTool.php index 9a29d40e5..64293e286 100755 --- a/backend/app/Services/Chatbot/Tools/WriteFileTool.php +++ b/backend/app/Services/Chatbot/Tools/WriteFileTool.php @@ -17,6 +17,7 @@ namespace App\Services\Chatbot\Tools; +use App\Helpers\WingsUrlHelper; use App\App; use App\Chat\Node; use App\Chat\Server; @@ -128,7 +129,8 @@ public function execute(array $params, array $user, array $pageContext = []): mi $node['daemonListen'], $node['scheme'], $node['daemon_token'], - 30 + 30, + WingsUrlHelper::isBehindProxy($node) ); $response = $wings->getServer()->writeFile($server['uuid'], $path, $content); diff --git a/backend/app/Services/FeatherZeroTrust/SuspensionService.php b/backend/app/Services/FeatherZeroTrust/SuspensionService.php index a3118bef5..3429bf563 100755 --- a/backend/app/Services/FeatherZeroTrust/SuspensionService.php +++ b/backend/app/Services/FeatherZeroTrust/SuspensionService.php @@ -17,6 +17,7 @@ namespace App\Services\FeatherZeroTrust; +use App\Helpers\WingsUrlHelper; use App\App; use App\Chat\Node; use App\Chat\User; @@ -95,7 +96,8 @@ public static function suspendIfNeeded(string $serverUuid, int $detectionsCount, $node['daemonListen'], $node['scheme'], $node['daemon_token'], - 30 + 30, + WingsUrlHelper::isBehindProxy($node) ); $response = $wings->getServer()->killServer($serverUuid); diff --git a/backend/app/Services/Server/LifecycleHookExecutorService.php b/backend/app/Services/Server/LifecycleHookExecutorService.php index dd6ddea82..90e22488a 100644 --- a/backend/app/Services/Server/LifecycleHookExecutorService.php +++ b/backend/app/Services/Server/LifecycleHookExecutorService.php @@ -17,6 +17,7 @@ namespace App\Services\Server; +use App\Helpers\WingsUrlHelper; use App\App; use GuzzleHttp\Client; use App\Chat\ServerActivity; @@ -256,7 +257,8 @@ protected function executeContainerCommand(array $payload, array $server, array $node['daemonListen'], $node['scheme'], $node['daemon_token'], - 30 + 30, + WingsUrlHelper::isBehindProxy($node) ); $response = $wings->getServer()->sendCommands($server['uuid'], [$command]); if (!$response->isSuccessful()) { diff --git a/backend/app/Services/UserDataExport/UserDataExportService.php b/backend/app/Services/UserDataExport/UserDataExportService.php index 47cc44baf..b95abb654 100644 --- a/backend/app/Services/UserDataExport/UserDataExportService.php +++ b/backend/app/Services/UserDataExport/UserDataExportService.php @@ -779,7 +779,8 @@ private function requestServerBackup(array $server, string $exportUuid): array (int) $node['daemonListen'], $node['scheme'], $node['daemon_token'], - 30 + 30, + WingsUrlHelper::isBehindProxy($node) ); $response = $wings->getServer()->createBackup((string) $server['uuid'], 'wings', $backupUuid, '[]');