package utils import ( "github.com/qdm12/gluetun/internal/configuration/settings" "github.com/qdm12/gluetun/internal/constants" "github.com/qdm12/gluetun/internal/constants/vpn" ) func getProtocol(selection settings.ServerSelection) (protocol string) { if selection.VPN == vpn.OpenVPN && selection.OpenVPN.Protocol == constants.TCP { return constants.TCP } return constants.UDP } func filterByProtocol(selection settings.ServerSelection, serverTCP, serverUDP bool, ) (filtered bool) { switch selection.VPN { case vpn.Wireguard: return !serverUDP default: // OpenVPN wantTCP := selection.OpenVPN.Protocol == constants.TCP wantUDP := !wantTCP return (wantTCP && !serverTCP) || (wantUDP && !serverUDP) } }