From add3b53e2726d326faca6e8ebca91264dff7c812 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20K=C3=BCrten?= <sebastian@mobanisto.de> Date: Fri, 29 Oct 2021 14:36:21 +0200 Subject: [PATCH] Allow Tor ports to be specified on the command line --- .../org/briarproject/briar/desktop/DesktopModule.kt | 8 ++++++-- .../kotlin/org/briarproject/briar/desktop/Main.kt | 13 ++++++++++++- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/src/main/kotlin/org/briarproject/briar/desktop/DesktopModule.kt b/src/main/kotlin/org/briarproject/briar/desktop/DesktopModule.kt index 87263e4879..0672e990c8 100644 --- a/src/main/kotlin/org/briarproject/briar/desktop/DesktopModule.kt +++ b/src/main/kotlin/org/briarproject/briar/desktop/DesktopModule.kt @@ -50,7 +50,11 @@ import javax.inject.Singleton SocksModule::class ] ) -internal class DesktopModule(private val appDir: Path) { +internal class DesktopModule( + private val appDir: Path, + private val socksPort: Int = DEFAULT_SOCKS_PORT, + private val controlPort: Int = DEFAULT_CONTROL_PORT +) { @Provides @Singleton @@ -67,7 +71,7 @@ internal class DesktopModule(private val appDir: Path) { @Provides @Singleton fun provideTorPorts(): TorPorts { - return TorPortsImpl(DEFAULT_SOCKS_PORT, DEFAULT_CONTROL_PORT) + return TorPortsImpl(socksPort, controlPort) } @Provides diff --git a/src/main/kotlin/org/briarproject/briar/desktop/Main.kt b/src/main/kotlin/org/briarproject/briar/desktop/Main.kt index 8ce0d7b4ea..9065db710c 100644 --- a/src/main/kotlin/org/briarproject/briar/desktop/Main.kt +++ b/src/main/kotlin/org/briarproject/briar/desktop/Main.kt @@ -7,7 +7,10 @@ import com.github.ajalt.clikt.parameters.options.counted import com.github.ajalt.clikt.parameters.options.default import com.github.ajalt.clikt.parameters.options.flag import com.github.ajalt.clikt.parameters.options.option +import com.github.ajalt.clikt.parameters.types.int import org.briarproject.bramble.BrambleCoreEagerSingletons +import org.briarproject.bramble.api.plugin.TorConstants.DEFAULT_CONTROL_PORT +import org.briarproject.bramble.api.plugin.TorConstants.DEFAULT_SOCKS_PORT import org.briarproject.briar.BriarCoreEagerSingletons import org.briarproject.briar.desktop.utils.FileUtils import org.briarproject.briar.desktop.utils.InternationalizationUtils.i18n @@ -43,6 +46,14 @@ private class Main : CliktCommand( metavar = "PATH", envvar = "BRIAR_DATA_DIR" ).default(DEFAULT_DATA_DIR) + private val socksPort by option( + "--socks-port", + help = "Tor Socks Port" + ).int().default(DEFAULT_SOCKS_PORT) + private val controlPort by option( + "--control-port", + help = "Tor Control Port" + ).int().default(DEFAULT_CONTROL_PORT) @OptIn(ExperimentalComposeUiApi::class) override fun run() { @@ -57,7 +68,7 @@ private class Main : CliktCommand( val dataDir = getDataDir() val app = DaggerBriarDesktopApp.builder().desktopModule( - DesktopModule(dataDir) + DesktopModule(dataDir, socksPort, controlPort) ).build() // We need to load the eager singletons directly after making the // dependency graphs -- GitLab