From 8f622c6ea2fa34ad027fa8bdfc95774c6e1c0a2f Mon Sep 17 00:00:00 2001 From: greenart7c3 Date: Mon, 16 Mar 2026 10:13:20 -0300 Subject: [PATCH] Update proxy configuration to use TorManager port and TorMode - Update `LocalPreferences.kt` to use `TorManager.socksPort.value` instead of a hardcoded placeholder (1) when `TorMode.BUILTIN` is active. This ensures `HttpClientManager` uses the correct port for the internal Tor service. - Replace usage of the legacy `settings.useProxy` boolean with `settings.torMode != TorMode.DISABLED` across `Amber.kt` and `TrustScoreService.kt`. This unifies the proxy logic to depend on the selected Tor mode. --- app/src/main/java/com/greenart7c3/nostrsigner/Amber.kt | 4 ++-- .../java/com/greenart7c3/nostrsigner/LocalPreferences.kt | 5 +++-- .../com/greenart7c3/nostrsigner/service/TrustScoreService.kt | 3 ++- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/greenart7c3/nostrsigner/Amber.kt b/app/src/main/java/com/greenart7c3/nostrsigner/Amber.kt index 798ca4d1..f0a28c6d 100644 --- a/app/src/main/java/com/greenart7c3/nostrsigner/Amber.kt +++ b/app/src/main/java/com/greenart7c3/nostrsigner/Amber.kt @@ -101,7 +101,7 @@ class Amber : var settings: AmberSettings = AmberSettings() val factory = OkHttpWebSocket.Builder { url -> - val useProxy = if (isPrivateIp(url.url)) false else settings.useProxy + val useProxy = if (isPrivateIp(url.url)) false else settings.torMode != TorMode.DISABLED HttpClientManager.getHttpClient(useProxy) } @@ -446,7 +446,7 @@ class Amber : .build() val coilCallFactory = okhttp3.Call.Factory { request -> val url = request.url.toString() - val useProxy = if (isPrivateIp(url)) false else settings.useProxy + val useProxy = if (isPrivateIp(url)) false else settings.torMode != TorMode.DISABLED HttpClientManager.getHttpClient(useProxy).newCall(request) } return ImageLoader.Builder(context) diff --git a/app/src/main/java/com/greenart7c3/nostrsigner/LocalPreferences.kt b/app/src/main/java/com/greenart7c3/nostrsigner/LocalPreferences.kt index 44336de1..b1bef220 100644 --- a/app/src/main/java/com/greenart7c3/nostrsigner/LocalPreferences.kt +++ b/app/src/main/java/com/greenart7c3/nostrsigner/LocalPreferences.kt @@ -14,6 +14,7 @@ import com.greenart7c3.nostrsigner.models.TorMode import com.greenart7c3.nostrsigner.models.defaultAppRelays import com.greenart7c3.nostrsigner.models.defaultIndexerRelays import com.greenart7c3.nostrsigner.okhttp.HttpClientManager +import com.greenart7c3.nostrsigner.service.TorManager import com.greenart7c3.nostrsigner.ui.parseBiometricsTimeType import com.vitorpamplona.quartz.nip01Core.core.hexToByteArray import com.vitorpamplona.quartz.nip01Core.crypto.KeyPair @@ -212,7 +213,7 @@ object LocalPreferences { TorMode.ORBOT -> HttpClientManager.setDefaultProxyOnPort(proxyPort) // For built-in Tor, set a fail-closed placeholder proxy so no clearnet // traffic can leak before TorManager configures the real SOCKS port. - TorMode.BUILTIN -> HttpClientManager.setDefaultProxyOnPort(1) + TorMode.BUILTIN -> HttpClientManager.setDefaultProxyOnPort(TorManager.socksPort.value) TorMode.DISABLED -> {} } @@ -467,7 +468,7 @@ object LocalPreferences { TorMode.ORBOT -> HttpClientManager.setDefaultProxyOnPort(port) TorMode.DISABLED -> HttpClientManager.clearProxy() // Fail-closed placeholder; TorManager will update to the real port once running. - TorMode.BUILTIN -> HttpClientManager.setDefaultProxyOnPort(1) + TorMode.BUILTIN -> HttpClientManager.setDefaultProxyOnPort(TorManager.socksPort.value) } } diff --git a/app/src/main/java/com/greenart7c3/nostrsigner/service/TrustScoreService.kt b/app/src/main/java/com/greenart7c3/nostrsigner/service/TrustScoreService.kt index 6713e0ac..eb30ff18 100644 --- a/app/src/main/java/com/greenart7c3/nostrsigner/service/TrustScoreService.kt +++ b/app/src/main/java/com/greenart7c3/nostrsigner/service/TrustScoreService.kt @@ -4,6 +4,7 @@ import android.util.Log import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper import com.greenart7c3.nostrsigner.Amber import com.greenart7c3.nostrsigner.BuildFlavorChecker +import com.greenart7c3.nostrsigner.models.TorMode import com.greenart7c3.nostrsigner.okhttp.HttpClientManager import java.net.URLEncoder import java.util.concurrent.ConcurrentHashMap @@ -92,7 +93,7 @@ object TrustScoreService { val encodedUrl = URLEncoder.encode(normalizedUrl, "UTF-8") val requestUrl = "$API_BASE_URL$encodedUrl" - val client = HttpClientManager.getHttpClient(Amber.instance.settings.useProxy) + val client = HttpClientManager.getHttpClient(Amber.instance.settings.torMode != TorMode.DISABLED) val request = Request.Builder() .url(requestUrl) .get()