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.
This commit is contained in:
greenart7c3
2026-03-16 10:13:20 -03:00
parent ad89b99696
commit 8f622c6ea2
3 changed files with 7 additions and 5 deletions
@@ -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)
@@ -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)
}
}
@@ -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()