diff --git a/pkg/vpn/openvpn.go b/pkg/vpn/openvpn.go index 3df5a23703b54f6341c4a38a70f386c0df0f3d53..b15530b67d2b790da76797b0188956c78603fc74 100644 --- a/pkg/vpn/openvpn.go +++ b/pkg/vpn/openvpn.go @@ -160,7 +160,12 @@ func (b *Bitmask) startOpenVPN() error { for _, gw := range gateways { for _, port := range gw.Ports { - arg = append(arg, "--remote", gw.IPAddress, port, "tcp4") + + if os.Getenv("UDP") == "1" && port != "53" { + arg = append(arg, "--remote", gw.IPAddress, port, "udp4") + } else { + arg = append(arg, "--remote", gw.IPAddress, port, "tcp4") + } } } }