diff --git a/src/main/kotlin/org/briarproject/briar/desktop/DesktopModule.kt b/src/main/kotlin/org/briarproject/briar/desktop/DesktopModule.kt index 87263e4879b368d3e630e5294085cf91215f7508..0672e990c85ce7b4b4e5f10e05f2eeb08efc4405 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 8ce0d7b4eab7e7341bdd59f9e7d4ea243a11156f..9065db710c57a2891a10a1c9b9ec4c4a3dc022a7 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