diff --git a/Makefile b/Makefile
index 74c0c44375881dda56c12a8a810ce9c58fba6ecc..ef69b5053aa330ab0b0938abd83b93e9c2575f38 100644
--- a/Makefile
+++ b/Makefile
@@ -16,6 +16,9 @@ test:
 build_go:
 	go build -tags "$(TAGS) bitmask_go" -ldflags "-X main.version=`git describe --tags`"
 
+build_win:
+	go build -tags "bitmask_go" -ldflags "-H windowsgui"
+
 clean:
 	make -C icon clean
 	rm bitmask-systray
diff --git a/bitmask_go/bonafide.go b/bitmask_go/bonafide.go
index 97d83c948f79efbb5364e960a9aa4e688d535cc6..449383ec5f5cfac33bbed44e4c9b37949ea3625f 100644
--- a/bitmask_go/bonafide.go
+++ b/bitmask_go/bonafide.go
@@ -25,6 +25,7 @@ import (
 	"net/http"
 	"sort"
 	"strconv"
+	"strings"
 	"time"
 )
 
@@ -150,7 +151,8 @@ func (b *bonafide) getOpenvpnArgs() ([]string, error) {
 	for arg, value := range b.eip.OpenvpnConfiguration {
 		switch v := value.(type) {
 		case string:
-			args = append(args, "--"+arg, v)
+			args = append(args, "--"+arg)
+			args = append(args, strings.Split(v, " ")...)
 		case bool:
 			if v {
 				args = append(args, "--"+arg)
diff --git a/bitmask_go/vpn.go b/bitmask_go/vpn.go
index 2a0862b3efc44ef3cbdf29b985edc8a8c43d4eaf..44fa768a769d663118fe3b7dc070ec54a1ddaf18 100644
--- a/bitmask_go/vpn.go
+++ b/bitmask_go/vpn.go
@@ -36,21 +36,30 @@ func (b *Bitmask) StartVPN(provider string) error {
 		return err
 	}
 
-	arg := []string{"--nobind", "--verb", "1"}
-	if runtime.GOOS == "windows" {
-		arg = append(arg, "--dev", "tun", "--log", `C:\bitmask\openvp.log`)
-	}
-
-	bonafideArgs, err := b.bonafide.getOpenvpnArgs()
+	arg, err := b.bonafide.getOpenvpnArgs()
 	if err != nil {
 		return err
 	}
-	arg = append(arg, bonafideArgs...)
 	for _, gw := range gateways {
 		arg = append(arg, "--remote", gw.IPAddress, "443", "tcp4")
 	}
 	certPemPath := b.getCertPemPath()
-	arg = append(arg, "--client", "--tls-client", "--remote-cert-tls", "server", "--management-client", "--management", openvpnManagementAddr+" "+openvpnManagementPort, "--ca", b.getCaCertPath(), "--cert", certPemPath, "--key", certPemPath)
+	arg = append(arg,
+		"--nobind",
+		"--verb", "1",
+		"--dev", "tun",
+		"--client",
+		"--tls-client",
+		"--remote-cert-tls", "server",
+		"--script-security", "1",
+		"--management-client",
+		"--management", openvpnManagementAddr, openvpnManagementPort,
+		"--ca", b.getCaCertPath(),
+		"--cert", certPemPath,
+		"--key", certPemPath)
+	if runtime.GOOS == "windows" {
+		arg = append(arg, "--log", `C:\bitmask\openvp.log`)
+	}
 	return b.launch.openvpnStart(arg...)
 }