mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-18 13:49:53 +01:00
Use Windows Tor plugin in briar-headless.
This commit is contained in:
@@ -30,7 +30,7 @@ import static org.briarproject.bramble.util.OsUtils.isWindows;
|
|||||||
|
|
||||||
@Immutable
|
@Immutable
|
||||||
@NotNullByDefault
|
@NotNullByDefault
|
||||||
class WindowsTorPluginFactory extends TorPluginFactory {
|
public class WindowsTorPluginFactory extends TorPluginFactory {
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
WindowsTorPluginFactory(@IoExecutor Executor ioExecutor,
|
WindowsTorPluginFactory(@IoExecutor Executor ioExecutor,
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ import org.briarproject.bramble.event.DefaultEventExecutorModule
|
|||||||
import org.briarproject.bramble.network.JavaNetworkModule
|
import org.briarproject.bramble.network.JavaNetworkModule
|
||||||
import org.briarproject.bramble.plugin.tor.CircumventionModule
|
import org.briarproject.bramble.plugin.tor.CircumventionModule
|
||||||
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.socks.SocksModule
|
import org.briarproject.bramble.socks.SocksModule
|
||||||
import org.briarproject.bramble.system.ClockModule
|
import org.briarproject.bramble.system.ClockModule
|
||||||
import org.briarproject.bramble.system.DefaultTaskSchedulerModule
|
import org.briarproject.bramble.system.DefaultTaskSchedulerModule
|
||||||
@@ -29,6 +30,7 @@ import org.briarproject.bramble.system.DesktopSecureRandomModule
|
|||||||
import org.briarproject.bramble.system.JavaSystemModule
|
import org.briarproject.bramble.system.JavaSystemModule
|
||||||
import org.briarproject.bramble.util.OsUtils.isLinux
|
import org.briarproject.bramble.util.OsUtils.isLinux
|
||||||
import org.briarproject.bramble.util.OsUtils.isMac
|
import org.briarproject.bramble.util.OsUtils.isMac
|
||||||
|
import org.briarproject.bramble.util.OsUtils.isWindows
|
||||||
import org.briarproject.briar.headless.blogs.HeadlessBlogModule
|
import org.briarproject.briar.headless.blogs.HeadlessBlogModule
|
||||||
import org.briarproject.briar.headless.contact.HeadlessContactModule
|
import org.briarproject.briar.headless.contact.HeadlessContactModule
|
||||||
import org.briarproject.briar.headless.event.HeadlessEventModule
|
import org.briarproject.briar.headless.event.HeadlessEventModule
|
||||||
@@ -94,9 +96,15 @@ internal class HeadlessModule(private val appDir: File) {
|
|||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@Singleton
|
@Singleton
|
||||||
internal fun providePluginConfig(tor: UnixTorPluginFactory): PluginConfig {
|
internal fun providePluginConfig(
|
||||||
val duplex: List<DuplexPluginFactory> =
|
unixTor: UnixTorPluginFactory,
|
||||||
if (isLinux() || isMac()) listOf(tor) else emptyList()
|
winTor: WindowsTorPluginFactory
|
||||||
|
): PluginConfig {
|
||||||
|
val duplex: List<DuplexPluginFactory> = when {
|
||||||
|
isLinux() || isMac() -> listOf(unixTor)
|
||||||
|
isWindows() -> listOf(winTor)
|
||||||
|
else -> emptyList()
|
||||||
|
}
|
||||||
return object : PluginConfig {
|
return object : PluginConfig {
|
||||||
override fun getDuplexFactories(): Collection<DuplexPluginFactory> = duplex
|
override fun getDuplexFactories(): Collection<DuplexPluginFactory> = duplex
|
||||||
override fun getSimplexFactories(): Collection<SimplexPluginFactory> = emptyList()
|
override fun getSimplexFactories(): Collection<SimplexPluginFactory> = emptyList()
|
||||||
|
|||||||
@@ -8,6 +8,8 @@ import com.github.ajalt.clikt.parameters.options.option
|
|||||||
import com.github.ajalt.clikt.parameters.types.int
|
import com.github.ajalt.clikt.parameters.types.int
|
||||||
import org.bouncycastle.util.encoders.Base64.toBase64String
|
import org.bouncycastle.util.encoders.Base64.toBase64String
|
||||||
import org.briarproject.bramble.BrambleCoreEagerSingletons
|
import org.briarproject.bramble.BrambleCoreEagerSingletons
|
||||||
|
import org.briarproject.bramble.util.OsUtils.isLinux
|
||||||
|
import org.briarproject.bramble.util.OsUtils.isMac
|
||||||
import org.briarproject.briar.BriarCoreEagerSingletons
|
import org.briarproject.briar.BriarCoreEagerSingletons
|
||||||
import org.slf4j.impl.SimpleLogger.DEFAULT_LOG_LEVEL_KEY
|
import org.slf4j.impl.SimpleLogger.DEFAULT_LOG_LEVEL_KEY
|
||||||
import java.io.File
|
import java.io.File
|
||||||
@@ -90,11 +92,13 @@ private class Main : CliktCommand(
|
|||||||
} else if (!file.isDirectory) {
|
} else if (!file.isDirectory) {
|
||||||
throw IOException("Data dir is not a directory: ${file.absolutePath}")
|
throw IOException("Data dir is not a directory: ${file.absolutePath}")
|
||||||
}
|
}
|
||||||
val perms = HashSet<PosixFilePermission>()
|
if (isLinux() || isMac()) {
|
||||||
perms.add(OWNER_READ)
|
val perms = HashSet<PosixFilePermission>()
|
||||||
perms.add(OWNER_WRITE)
|
perms.add(OWNER_READ)
|
||||||
perms.add(OWNER_EXECUTE)
|
perms.add(OWNER_WRITE)
|
||||||
setPosixFilePermissions(file.toPath(), perms)
|
perms.add(OWNER_EXECUTE)
|
||||||
|
setPosixFilePermissions(file.toPath(), perms)
|
||||||
|
}
|
||||||
return file
|
return file
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user