diff --git a/src/main/java/com/litoralregas/vpnorchestrator/vps/VpsController.java b/src/main/java/com/litoralregas/vpnorchestrator/vps/VpsController.java index 0ef90ef..bbec791 100644 --- a/src/main/java/com/litoralregas/vpnorchestrator/vps/VpsController.java +++ b/src/main/java/com/litoralregas/vpnorchestrator/vps/VpsController.java @@ -32,4 +32,9 @@ public class VpsController { public NetworkTrafficResponse getNetworkTraffic() { return wireGuardService.getNetworkTraffic(); } + + @GetMapping("/udp2raw-traffic") + public NetworkTrafficResponse getUdp2rawTraffic() { + return wireGuardService.getUdp2rawTraffic(); + } } \ No newline at end of file diff --git a/src/main/java/com/litoralregas/vpnorchestrator/vps/WireGuardService.java b/src/main/java/com/litoralregas/vpnorchestrator/vps/WireGuardService.java index bcc0537..d672d2e 100644 --- a/src/main/java/com/litoralregas/vpnorchestrator/vps/WireGuardService.java +++ b/src/main/java/com/litoralregas/vpnorchestrator/vps/WireGuardService.java @@ -192,4 +192,29 @@ public class WireGuardService { ); } } + + public NetworkTrafficResponse getUdp2rawTraffic() { + SshCommandResult result = sshService.executeOnConfiguredVps( + "sudo /usr/local/sbin/lr-vps-udp2raw-traffic 444 1" + ); + + if (result.exitCode() != 0) { + throw new SshCommandException( + "Failed to query UDP2RAW traffic: " + + result.stderr() + ); + } + + try { + return objectMapper.readValue( + result.stdout(), + NetworkTrafficResponse.class + ); + } catch (JsonProcessingException e) { + throw new IllegalStateException( + "Invalid UDP2RAW traffic JSON returned by script", + e + ); + } + } } \ No newline at end of file diff --git a/src/main/resources/application.yaml b/src/main/resources/application.yaml index fe2f72b..2542333 100644 --- a/src/main/resources/application.yaml +++ b/src/main/resources/application.yaml @@ -3,7 +3,7 @@ spring: name: vpn-orchestrator server: - port: 8080 + port: ${SERVER_PORT:8080} management: endpoints: @@ -13,16 +13,16 @@ management: app: security: - api-key: dev-api-key + api-key: ${LR_API_KEY} vps: ssh: - host: 146.59.230.190 - port: 22 - username: lr-vpn - password: hidrotek2026 - connect-timeout-ms: 10000 - command-timeout-ms: 15000 + host: ${LR_VPS_HOST} + port: ${LR_VPS_PORT:22} + username: ${LR_VPS_USERNAME} + password: ${LR_VPS_PASSWORD} + connect-timeout-ms: ${LR_VPS_CONNECT_TIMEOUT_MS:10000} + command-timeout-ms: ${LR_VPS_COMMAND_TIMEOUT_MS:15000} lr: login: