signal-cli icon indicating copy to clipboard operation
signal-cli copied to clipboard

http proxy

Open CaptainFX42 opened this issue 1 year ago • 7 comments

Hello,

We want to register with signal-cli client, but evertime we get this error message: java.net.SocketTimeoutException: Connect timed out

Yes, we are behind a HTTP-Proxy in our company. I found some Java-options, but this does not work either: export JAVA_TOOL_OPTIONS="-Djava.net.preferIPv4Stack=true -Dhttp.proxyHost=PROXY_IP -Dhttp.proxyPort=PROXY_PORT -Dhttps.proxyHost=PROXY_IP -Dhttps.proxyPort=PROXY_PORT" export JAVA_OPTS="-Djava.net.preferIPv4Stack=true -Dhttp.proxyHost=PROXY_IP -Dhttp.proxyPort=PROXY_PORT -Dhttps.proxyHost=PROXY_IP -Dhttps.proxyPort=PROXY_PORT"

also i use http_proxy and https_proxy env variables.

Our Server is running Debian 11.9 using signal-cli-native from official gitlab-repository, currently in version 0.13.1.

CaptainFX42 avatar Mar 18 '24 10:03 CaptainFX42

This is what worked for me:

JAVA_OPTS="-Dhttp.proxyHost=my.host.org -Dhttps.proxyPort=8080" ./signal-cli/build/install/signal-cli/bin/signal-cli

all on one line.

So not sure exactly what you mean by PROXY_PORT & PROXY_IP - if they're environment variables, you'd want to dereference to value by ie)

JAVA_OPTS="-Dhttp.proxyHost=$PROXY_IP -Dhttps.proxyPort=$PROXY_PORT" ./signal-cli/build/install/signal-cli/bin/signal-cli

This should be analogous to your 'export JAVA_OPTS...' line above.

i-infra avatar Apr 01 '24 23:04 i-infra

I always get this error:

Failed to register: Network is unreachable (SocketException) java.net.SocketException: Network is unreachable at [email protected]/sun.nio.ch.Net.connect0(Native Method) at [email protected]/sun.nio.ch.Net.connect(Net.java:589) at [email protected]/sun.nio.ch.Net.connect(Net.java:578) at [email protected]/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:583) at [email protected]/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327) at [email protected]/java.net.Socket.connect(Socket.java:751) at okhttp3.internal.platform.Platform.connectSocket(Platform.kt:128) at okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.kt:295) at okhttp3.internal.connection.RealConnection.connect(RealConnection.kt:207) at okhttp3.internal.connection.ExchangeFinder.findConnection(ExchangeFinder.kt:226) at okhttp3.internal.connection.ExchangeFinder.findHealthyConnection(ExchangeFinder.kt:106) at okhttp3.internal.connection.ExchangeFinder.find(ExchangeFinder.kt:74) at okhttp3.internal.connection.RealCall.initExchange$okhttp(RealCall.kt:255) at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:32) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:95) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:83) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:76) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) at org.asamk.signal.manager.config.ServiceConfig.lambda$getServiceEnvironmentConfig$0(ServiceConfig.java:39) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109) at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:201) at okhttp3.internal.connection.RealCall.execute(RealCall.kt:154) at org.whispersystems.signalservice.internal.push.PushServiceSocket.getServiceConnection(PushServiceSocket.java:2255) at org.whispersystems.signalservice.internal.push.PushServiceSocket.makeServiceRequest(PushServiceSocket.java:2168) at org.whispersystems.signalservice.internal.push.PushServiceSocket.createVerificationSession(PushServiceSocket.java:370) at org.whispersystems.signalservice.api.SignalServiceAccountManager.createRegistrationSession(SignalServiceAccountManager.java:242) at org.asamk.signal.manager.util.NumberVerificationUtils.requestValidSession(NumberVerificationUtils.java:154) at org.asamk.signal.manager.util.NumberVerificationUtils.getValidSession(NumberVerificationUtils.java:164) at org.asamk.signal.manager.util.NumberVerificationUtils.handleVerificationSession(NumberVerificationUtils.java:41) at org.asamk.signal.manager.internal.RegistrationManagerImpl.register(RegistrationManagerImpl.java:131) at org.asamk.signal.commands.RegisterCommand.register(RegisterCommand.java:75) at org.asamk.signal.commands.RegisterCommand.handleCommand(RegisterCommand.java:51) at org.asamk.signal.commands.CommandHandler.handleRegistrationCommand(CommandHandler.java:31) at org.asamk.signal.App.handleRegistrationCommand(App.java:265) at org.asamk.signal.App.handleCommand(App.java:174) at org.asamk.signal.App.init(App.java:144) at org.asamk.signal.Main.main(Main.java:56) at [email protected]/java.lang.invoke.LambdaForm$DMH/sa346b79c.invokeStaticInit(LambdaForm$DMH) Suppressed: java.net.SocketTimeoutException: Connect timed out at [email protected]/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:546) at [email protected]/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:592) ... 37 more Suppressed: java.net.SocketTimeoutException: Connect timed out at [email protected]/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:546) at [email protected]/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:592) ... 37 more Suppressed: java.net.SocketException: Network is unreachable ... 41 more

even if i try it with your syntax.. yes, server and port are correct, but on the proxy-server there is no connection coming in, so i guess there must be another way to set proxy to signal-cli :/

CaptainFX42 avatar Apr 29 '24 08:04 CaptainFX42

any news on this? even with version 0.13.5 it still does not work yet :(

CaptainFX42 avatar Aug 06 '24 12:08 CaptainFX42

The JAVA_OPTS env variable isn't read by the graalvm native version, so it doesn't pick up the proxy settings. It should work with the jvm version.

AsamK avatar Feb 07 '25 18:02 AsamK

The JAVA_OPTS env variable isn't read by the graalvm native version, so it doesn't pick up the proxy settings. It should work with the jvm version.

is there any solution to get the proxy working with the native version?

CaptainFX42 avatar Feb 10 '25 07:02 CaptainFX42

@CaptFreezer: Did you see/try the snapshot version mentioned in issue #1523?

m-ueberall avatar Feb 10 '25 10:02 m-ueberall

@CaptFreezer: Did you see/try the snapshot version mentioned in issue #1523?

not yet, i will give it a try, when i have time to test it out. :)

CaptainFX42 avatar Feb 10 '25 10:02 CaptainFX42