Skip to content
Snippets Groups Projects
Verified Commit 941ce16f authored by Sebastian's avatar Sebastian
Browse files

Enable Tor on Windows

parent d47d7f60
No related branches found
No related tags found
No related merge requests found
...@@ -27,8 +27,11 @@ import org.briarproject.bramble.api.plugin.duplex.DuplexPluginFactory ...@@ -27,8 +27,11 @@ import org.briarproject.bramble.api.plugin.duplex.DuplexPluginFactory
import org.briarproject.bramble.api.plugin.simplex.SimplexPluginFactory import org.briarproject.bramble.api.plugin.simplex.SimplexPluginFactory
import org.briarproject.bramble.plugin.tcp.LanTcpPluginFactory import org.briarproject.bramble.plugin.tcp.LanTcpPluginFactory
import org.briarproject.bramble.plugin.tor.UnixTorPluginFactory import org.briarproject.bramble.plugin.tor.UnixTorPluginFactory
import org.briarproject.bramble.plugin.tor.WindowsTorPluginFactory
import org.briarproject.bramble.util.OsUtils import org.briarproject.bramble.util.OsUtils
import java.util.Collections import org.briarproject.bramble.util.OsUtils.isLinux
import org.briarproject.bramble.util.OsUtils.isMac
import org.briarproject.bramble.util.OsUtils.isWindows
import javax.inject.Singleton import javax.inject.Singleton
@Module( @Module(
...@@ -58,12 +61,19 @@ internal class DesktopModule { ...@@ -58,12 +61,19 @@ internal class DesktopModule {
} }
@Provides @Provides
internal fun providePluginConfig(tor: UnixTorPluginFactory, lan: LanTcpPluginFactory): PluginConfig { internal fun providePluginConfig(
val duplex: List<DuplexPluginFactory> = unixTor: UnixTorPluginFactory,
if (OsUtils.isLinux() || OsUtils.isMac()) listOf(tor, lan) else listOf(lan) winTor: WindowsTorPluginFactory,
lan: LanTcpPluginFactory
): PluginConfig {
val duplex: List<DuplexPluginFactory> = when {
isLinux() || isMac() -> listOf(unixTor, lan)
isWindows() -> listOf(winTor, lan)
else -> listOf(lan)
}
return object : PluginConfig { return object : PluginConfig {
override fun getDuplexFactories(): Collection<DuplexPluginFactory> = duplex override fun getDuplexFactories(): Collection<DuplexPluginFactory> = duplex
override fun getSimplexFactories(): Collection<SimplexPluginFactory> = Collections.emptyList() override fun getSimplexFactories(): Collection<SimplexPluginFactory> = emptyList()
override fun shouldPoll(): Boolean = true override fun shouldPoll(): Boolean = true
override fun getTransportPreferences(): Map<TransportId, List<TransportId>> = emptyMap() override fun getTransportPreferences(): Map<TransportId, List<TransportId>> = emptyMap()
} }
......
...@@ -27,12 +27,15 @@ import org.briarproject.bramble.api.plugin.duplex.DuplexPluginFactory ...@@ -27,12 +27,15 @@ import org.briarproject.bramble.api.plugin.duplex.DuplexPluginFactory
import org.briarproject.bramble.api.plugin.simplex.SimplexPluginFactory import org.briarproject.bramble.api.plugin.simplex.SimplexPluginFactory
import org.briarproject.bramble.plugin.tcp.TestLanTcpPluginFactory import org.briarproject.bramble.plugin.tcp.TestLanTcpPluginFactory
import org.briarproject.bramble.plugin.tor.UnixTorPluginFactory import org.briarproject.bramble.plugin.tor.UnixTorPluginFactory
import org.briarproject.bramble.plugin.tor.WindowsTorPluginFactory
import org.briarproject.bramble.util.OsUtils import org.briarproject.bramble.util.OsUtils
import org.briarproject.bramble.util.OsUtils.isLinux
import org.briarproject.bramble.util.OsUtils.isMac
import org.briarproject.bramble.util.OsUtils.isWindows
import org.briarproject.briar.api.test.TestAvatarCreator import org.briarproject.briar.api.test.TestAvatarCreator
import org.briarproject.briar.desktop.testdata.DeterministicTestDataCreator import org.briarproject.briar.desktop.testdata.DeterministicTestDataCreator
import org.briarproject.briar.desktop.testdata.DeterministicTestDataCreatorImpl import org.briarproject.briar.desktop.testdata.DeterministicTestDataCreatorImpl
import org.briarproject.briar.desktop.testdata.TestAvatarCreatorImpl import org.briarproject.briar.desktop.testdata.TestAvatarCreatorImpl
import java.util.Collections
import javax.inject.Singleton import javax.inject.Singleton
@Module( @Module(
...@@ -72,12 +75,19 @@ internal class DesktopTestModule { ...@@ -72,12 +75,19 @@ internal class DesktopTestModule {
testDataCreator testDataCreator
@Provides @Provides
internal fun providePluginConfig(tor: UnixTorPluginFactory, lan: TestLanTcpPluginFactory): PluginConfig { internal fun providePluginConfig(
val duplex: List<DuplexPluginFactory> = unixTor: UnixTorPluginFactory,
if (OsUtils.isLinux() || OsUtils.isMac()) listOf(tor, lan) else listOf(lan) winTor: WindowsTorPluginFactory,
lan: TestLanTcpPluginFactory
): PluginConfig {
val duplex: List<DuplexPluginFactory> = when {
isLinux() || isMac() -> listOf(unixTor, lan)
isWindows() -> listOf(winTor, lan)
else -> listOf(lan)
}
return object : PluginConfig { return object : PluginConfig {
override fun getDuplexFactories(): Collection<DuplexPluginFactory> = duplex override fun getDuplexFactories(): Collection<DuplexPluginFactory> = duplex
override fun getSimplexFactories(): Collection<SimplexPluginFactory> = Collections.emptyList() override fun getSimplexFactories(): Collection<SimplexPluginFactory> = emptyList()
override fun shouldPoll(): Boolean = true override fun shouldPoll(): Boolean = true
override fun getTransportPreferences(): Map<TransportId, List<TransportId>> = emptyMap() override fun getTransportPreferences(): Map<TransportId, List<TransportId>> = emptyMap()
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment