From 4503356282b8ff79f93511ae980a9a82bb92d450 Mon Sep 17 00:00:00 2001 From: greenart7c3 Date: Mon, 22 Apr 2024 14:45:29 -0300 Subject: [PATCH] ignore localhost when using tor --- .../com/greenart7c3/nostrsigner/relays/Relay.kt | 7 ++++++- .../nostrsigner/service/HttpClientManager.kt | 16 ++++++++++++---- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/greenart7c3/nostrsigner/relays/Relay.kt b/app/src/main/java/com/greenart7c3/nostrsigner/relays/Relay.kt index fc4f5588..0466b055 100644 --- a/app/src/main/java/com/greenart7c3/nostrsigner/relays/Relay.kt +++ b/app/src/main/java/com/greenart7c3/nostrsigner/relays/Relay.kt @@ -56,7 +56,12 @@ class Relay( const val RECONNECTING_IN_SECONDS = 60 } - private val httpClient = HttpClientManager.getHttpClient() + private val httpClient = + if (url.startsWith("ws://127.0.0.1") || url.startsWith("ws://localhost")) { + HttpClientManager.getHttpClient(false) + } else { + HttpClientManager.getHttpClient() + } private var listeners = setOf() private var socket: WebSocket? = null diff --git a/app/src/main/java/com/greenart7c3/nostrsigner/service/HttpClientManager.kt b/app/src/main/java/com/greenart7c3/nostrsigner/service/HttpClientManager.kt index 98cf1405..0cd8d908 100644 --- a/app/src/main/java/com/greenart7c3/nostrsigner/service/HttpClientManager.kt +++ b/app/src/main/java/com/greenart7c3/nostrsigner/service/HttpClientManager.kt @@ -39,6 +39,7 @@ object HttpClientManager { var proxyChangeListeners = ArrayList<() -> Unit>() private var defaultTimeout = DEFAULT_TIMEOUT_ON_WIFI private var defaultHttpClient: OkHttpClient? = null + private var defaultHttpClientWithoutProxy: OkHttpClient? = null // fires off every time value of the property changes private var internalProxy: Proxy? by @@ -99,11 +100,18 @@ object HttpClientManager { } } - fun getHttpClient(): OkHttpClient { - if (this.defaultHttpClient == null) { - this.defaultHttpClient = buildHttpClient(internalProxy, defaultTimeout) + fun getHttpClient(useProxy: Boolean = true): OkHttpClient { + return if (useProxy) { + if (this.defaultHttpClient == null) { + this.defaultHttpClient = buildHttpClient(internalProxy, defaultTimeout) + } + defaultHttpClient!! + } else { + if (this.defaultHttpClientWithoutProxy == null) { + this.defaultHttpClientWithoutProxy = buildHttpClient(null, defaultTimeout) + } + defaultHttpClientWithoutProxy!! } - return defaultHttpClient!! } fun initProxy(