mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-11 18:29:05 +01:00
Merge branch 'windows-tor-plugin' into 'master'
Add Tor plugin for Windows See merge request briar/briar!1666
This commit is contained in:
@@ -60,7 +60,12 @@ void jarFactory(Jar jarTask, jarArchitecture) {
|
||||
}
|
||||
{
|
||||
it.duplicatesStrategy(DuplicatesStrategy.EXCLUDE)
|
||||
String[] architectures = ["linux-aarch64", "linux-armhf", "linux-x86_64"]
|
||||
String[] architectures = [
|
||||
"linux-aarch64",
|
||||
"linux-armhf",
|
||||
"linux-x86_64",
|
||||
"windows-x86_64"
|
||||
]
|
||||
for (String arch : architectures) {
|
||||
if (arch != jarArchitecture) {
|
||||
exclude "obfs4proxy_" + arch + ".zip"
|
||||
@@ -113,6 +118,10 @@ task x86LinuxJar(type: Jar) {
|
||||
jarFactory(it, 'linux-x86_64')
|
||||
}
|
||||
|
||||
task windowsJar(type: Jar) {
|
||||
jarFactory(it, 'windows-x86_64')
|
||||
}
|
||||
|
||||
task linuxJars {
|
||||
dependsOn(aarch64LinuxJar, armhfLinuxJar, x86LinuxJar)
|
||||
}
|
||||
|
||||
@@ -21,6 +21,7 @@ import org.briarproject.bramble.event.DefaultEventExecutorModule
|
||||
import org.briarproject.bramble.network.JavaNetworkModule
|
||||
import org.briarproject.bramble.plugin.tor.CircumventionModule
|
||||
import org.briarproject.bramble.plugin.tor.UnixTorPluginFactory
|
||||
import org.briarproject.bramble.plugin.tor.WindowsTorPluginFactory
|
||||
import org.briarproject.bramble.socks.SocksModule
|
||||
import org.briarproject.bramble.system.ClockModule
|
||||
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.util.OsUtils.isLinux
|
||||
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.contact.HeadlessContactModule
|
||||
import org.briarproject.briar.headless.event.HeadlessEventModule
|
||||
@@ -94,9 +96,15 @@ internal class HeadlessModule(private val appDir: File) {
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
internal fun providePluginConfig(tor: UnixTorPluginFactory): PluginConfig {
|
||||
val duplex: List<DuplexPluginFactory> =
|
||||
if (isLinux() || isMac()) listOf(tor) else emptyList()
|
||||
internal fun providePluginConfig(
|
||||
unixTor: UnixTorPluginFactory,
|
||||
winTor: WindowsTorPluginFactory
|
||||
): PluginConfig {
|
||||
val duplex: List<DuplexPluginFactory> = when {
|
||||
isLinux() || isMac() -> listOf(unixTor)
|
||||
isWindows() -> listOf(winTor)
|
||||
else -> emptyList()
|
||||
}
|
||||
return object : PluginConfig {
|
||||
override fun getDuplexFactories(): Collection<DuplexPluginFactory> = duplex
|
||||
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 org.bouncycastle.util.encoders.Base64.toBase64String
|
||||
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.slf4j.impl.SimpleLogger.DEFAULT_LOG_LEVEL_KEY
|
||||
import java.io.File
|
||||
@@ -90,11 +92,13 @@ private class Main : CliktCommand(
|
||||
} else if (!file.isDirectory) {
|
||||
throw IOException("Data dir is not a directory: ${file.absolutePath}")
|
||||
}
|
||||
val perms = HashSet<PosixFilePermission>()
|
||||
perms.add(OWNER_READ)
|
||||
perms.add(OWNER_WRITE)
|
||||
perms.add(OWNER_EXECUTE)
|
||||
setPosixFilePermissions(file.toPath(), perms)
|
||||
if (isLinux() || isMac()) {
|
||||
val perms = HashSet<PosixFilePermission>()
|
||||
perms.add(OWNER_READ)
|
||||
perms.add(OWNER_WRITE)
|
||||
perms.add(OWNER_EXECUTE)
|
||||
setPosixFilePermissions(file.toPath(), perms)
|
||||
}
|
||||
return file
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user