owntracks/android

owntracks app , Pixel 6 not able to send message to recorder

macross-it opened this issue · 6 comments

I have setup the owntracks app and recorder is up and running on local ubuntu jammy version using docker

Mode: HTTP

endpoint
URL: http://172.20.216.151:8083/pub

Recorder is up and running
image

  • App build number: 2.5.0 (420500014) -Google Play
  • Android version: 14
  • Device: Google - Pixel 6
  • Installation source: Google Play

Failed to send error shown in

OwnTracks/Status/Logs

ts=2024-08-30T20:58:23Z,lat=40.2580358,long=-74.4747889,created_at=2024-08-30T20:58:57.272Z,trigger=PING]
2024-08-30 17:03:17.454 W [DefaultDispatcher-worker-8] MessageProcessor: Error sending message [MessageLocation id=623bc4aa ts=2024-08-30T20:58:57Z,lat=40.2580358,long=-74.4747889,created_at=2024-08-30T20:59:46.749Z,trigger=DEFAULT]. Re-queueing
org.owntracks.android.net.OutgoingMessageSendingException: java.net.SocketTimeoutException: failed to connect to /172.20.216.151 (port 8083) from /192.168.1.169 (port 35244) after 30000ms
at org.owntracks.android.net.http.HttpMessageProcessorEndpoint.sendMessage(SourceFile:615)
at org.owntracks.android.services.MessageProcessor.sendAvailableMessages(SourceFile:216)
at org.owntracks.android.services.MessageProcessor.access$sendAvailableMessages(Unknown Source:0)
at org.owntracks.android.services.MessageProcessor$sendAvailableMessages$1.invokeSuspend(Unknown Source:11)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(Unknown Source:8)
at kotlinx.coroutines.DispatchedTask.run(Unknown Source:98)
at androidx.work.Worker$2.run(SourceFile:14)
at kotlinx.coroutines.scheduling.TaskImpl.run(Unknown Source:2)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(SourceFile:96)
Caused by: java.net.SocketTimeoutException: failed to connect to /172.20.216.151 (port 8083) from /192.168.1.169 (port 35244) after 30000ms
at libcore.io.IoBridge.connectErrno(IoBridge.java:235)
at libcore.io.IoBridge.connect(IoBridge.java:179)
at java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java:142)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:390)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:230)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:212)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:436)
at java.net.Socket.connect(Socket.java:646)
at okhttp3.internal.platform.Platform.connectSocket(Unknown Source:5)
at okhttp3.internal.connection.RealConnection.connectSocket(SourceFile:74)
at okhttp3.internal.connection.RealConnection.connect(SourceFile:166)
at okhttp3.internal.connection.ExchangeFinder.findHealthyConnection(SourceFile:713)
at okhttp3.internal.connection.ConnectInterceptor.intercept(SourceFile:56)
at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source:121)
at okhttp3.internal.cache.CacheInterceptor.intercept(SourceFile:139)
at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source:121)
at okhttp3.internal.http.BridgeInterceptor.intercept(SourceFile:143)
at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source:121)
at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(SourceFile:143)
at okhttp3.internal.http.RealInterceptorChain.proceed(Unknown Source:121)
at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(SourceFile:97)
at okhttp3.internal.connection.RealCall.execute(SourceFile:42)
at org.owntracks.android.net.http.HttpMessageProcessorEndpoint.sendMessage(SourceFile:207)
... 8 more

2024-08-30 17:03:17.464 I [DefaultDispatcher-worker-6] MessageProcessor$sendAvailableMessages: Waiting for 2m before retrying [MessageLocation id=623bc4aa ts=2024-08-30T20:58:57Z,lat=40.2580358,long=-74.4747889,created_at=2024-08-30T20:59:46.749Z,trigger=DEFAULT]

Please advise on what might be the issue to solve this error.

thank you

That's timing out.

Can you reach the recorder from your phone's browser?

Did you read the error message?

failed to connect to /172.20.216.151 (port 8083) from /192.168.1.169 (port 35244) after 30000ms

after configuring docker desktop using host IP, I am able to connect.

thank you

Question:
currently i am able to successfully send requests to owntracks/recorder pub endpoint on my desktop from android phone over Wifi.

I am planning to configure docker desktop on public AWS EC2 instance and run owntracks/recorder in docker.
what are my options to secure owntracks/recorder pub endpoint and not used by malicious requests over the internet?

please advise.