From 9655e33223f72365fbcc43cd0e10a95fe8593c41 Mon Sep 17 00:00:00 2001 From: crschnick Date: Mon, 7 Sep 2026 13:59:21 +0000 Subject: [PATCH] Fix proxy handling for local cli socket --- .../io/xpipe/app/beacon/BeaconClient.java | 1 + .../io/xpipe/app/beacon/BeaconServer.java | 8 +++---- build.gradle | 21 +++++++++---------- 3 files changed, 14 insertions(+), 16 deletions(-) diff --git a/app/src/main/java/io/xpipe/app/beacon/BeaconClient.java b/app/src/main/java/io/xpipe/app/beacon/BeaconClient.java index 874a21564..b70cd20c5 100644 --- a/app/src/main/java/io/xpipe/app/beacon/BeaconClient.java +++ b/app/src/main/java/io/xpipe/app/beacon/BeaconClient.java @@ -46,6 +46,7 @@ public class BeaconClient { } var client = HttpClient.newBuilder() + .proxy(HttpClient.Builder.NO_PROXY) .followRedirects(HttpClient.Redirect.NORMAL) .build(); HttpResponse response; diff --git a/app/src/main/java/io/xpipe/app/beacon/BeaconServer.java b/app/src/main/java/io/xpipe/app/beacon/BeaconServer.java index e6d0784a7..2a87fa3ea 100644 --- a/app/src/main/java/io/xpipe/app/beacon/BeaconServer.java +++ b/app/src/main/java/io/xpipe/app/beacon/BeaconServer.java @@ -2,12 +2,10 @@ package io.xpipe.app.beacon; import io.xpipe.app.beacon.api.DaemonStopExchange; +import io.xpipe.app.core.AppProperties; import lombok.SneakyThrows; -import java.net.Inet4Address; -import java.net.InetSocketAddress; -import java.net.ServerSocket; -import java.net.Socket; +import java.net.*; public class BeaconServer { @@ -15,7 +13,7 @@ public class BeaconServer { public static boolean isReachable(int port) { var local = Inet4Address.getByAddress(new byte[] {0x7f, 0x00, 0x00, 0x01}); - try (var socket = new Socket()) { + try (var socket = new Socket(Proxy.NO_PROXY)) { InetSocketAddress adress = new InetSocketAddress(local, port); socket.connect(adress, 5000); } catch (Exception e) { diff --git a/build.gradle b/build.gradle index e59f26852..edfa5dbbe 100644 --- a/build.gradle +++ b/build.gradle @@ -153,6 +153,16 @@ def getBaseJvmArgs() { // Reduce heap usage with deduplication jvmRunArgs += ['-XX:+UseStringDeduplication'] + return jvmRunArgs +} + +def getDaemonJvmArgs() { + def os = DefaultNativePlatform.currentOperatingSystem + def jvmRunArgs = ["-Dio.xpipe.app.isDaemon=true"] + + // Use custom JavaFX preloader + jvmRunArgs += ["-Djavafx.preloader=" + packageName("core.AppPreloader")] + // Why is this not on by default? ... // https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/doc-files/net-properties.html // https://stackoverflow.com/questions/53333556/proxy-authentication-with-jdk-11-httpclient @@ -164,17 +174,6 @@ def getBaseJvmArgs() { '-Djdk.httpclient.auth.retrylimit=1' ] - - return jvmRunArgs -} - -def getDaemonJvmArgs() { - def os = DefaultNativePlatform.currentOperatingSystem - def jvmRunArgs = ["-Dio.xpipe.app.isDaemon=true"] - - // Use custom JavaFX preloader - jvmRunArgs += ["-Djavafx.preloader=" + packageName("core.AppPreloader")] - // Disable JDK24 warnings jvmRunArgs += [ "--enable-native-access=com.sun.jna",