chore(servers): remove "udp": true for Wireguard

This commit is contained in:
Quentin McGaw
2022-08-25 13:24:22 +00:00
parent d1c5e00df8
commit 4ace99f318
7 changed files with 30 additions and 939 deletions

View File

@@ -39,7 +39,8 @@ var (
ErrVPNFieldEmpty = errors.New("vpn field is empty")
ErrHostnameFieldEmpty = errors.New("hostname field is empty")
ErrIPsFieldEmpty = errors.New("ips field is empty")
ErrNoNetworkProtocol = errors.New("both TCP and UDP fields are false")
ErrNoNetworkProtocol = errors.New("both TCP and UDP fields are false for OpenVPN")
ErrNetworkProtocolSet = errors.New("no network protocol should be set")
ErrWireguardPublicKeyEmpty = errors.New("wireguard public key field is empty")
)
@@ -51,7 +52,9 @@ func (s *Server) HasMinimumInformation() (err error) {
return ErrHostnameFieldEmpty
case len(s.IPs) == 0:
return ErrIPsFieldEmpty
case !s.TCP && !s.UDP:
case s.VPN == vpn.Wireguard && (s.TCP || s.UDP):
return ErrNetworkProtocolSet
case s.VPN == vpn.OpenVPN && !s.TCP && !s.UDP:
return ErrNoNetworkProtocol
case s.VPN == vpn.Wireguard && s.WgPubKey == "":
return ErrWireguardPublicKeyEmpty

View File

@@ -99,10 +99,10 @@ func (u *Updater) FetchServers(ctx context.Context, minServers int) (
Region: serverData.Region,
City: serverData.City,
WgPubKey: serverData.WgPubKey,
UDP: true,
}
if serverData.OpenVPNHostname != "" {
server.VPN = vpn.OpenVPN
server.UDP = true
server.TCP = true
server.Hostname = serverData.OpenVPNHostname
server.IPs = hostToIPs[serverData.OpenVPNHostname]

View File

@@ -52,27 +52,26 @@ func (u *Updater) FetchServers(ctx context.Context, minServers int) (
servers = make([]models.Server, 0, len(hosts))
for _, serverData := range data.Servers {
vpnType := vpn.OpenVPN
hostname := serverData.Hostnames.OpenVPN
tcp := true
wgPubKey := ""
if hostname == "" {
vpnType = vpn.Wireguard
hostname = serverData.Hostnames.Wireguard
tcp = false
wgPubKey = serverData.WgPubKey
}
server := models.Server{
VPN: vpnType,
Country: serverData.Country,
City: serverData.City,
ISP: serverData.ISP,
Hostname: hostname,
WgPubKey: wgPubKey,
TCP: tcp,
UDP: true,
IPs: hostToIPs[hostname],
}
switch {
case serverData.Hostnames.OpenVPN != "":
server.Hostname = serverData.Hostnames.OpenVPN
server.VPN = vpn.OpenVPN
server.UDP = true
server.TCP = true
server.IPs = hostToIPs[server.Hostname]
case serverData.Hostnames.Wireguard != "":
server.Hostname = serverData.Hostnames.Wireguard
server.VPN = vpn.Wireguard
server.IPs = hostToIPs[server.Hostname]
server.WgPubKey = serverData.WgPubKey
default:
warning := fmt.Sprintf("server data %v has no OpenVPN nor Wireguard hostname", serverData)
warnings = append(warnings, warning)
}
servers = append(servers, server)
}

View File

@@ -124,7 +124,7 @@ func Test_Updater_GetServers(t *testing.T) {
IPs: []net.IP{{3, 3, 3, 3}, {4, 4, 4, 4}}},
{VPN: vpn.Wireguard,
Country: "Country3", City: "City C",
Hostname: "hostc", UDP: true,
Hostname: "hostc",
WgPubKey: "xyz",
IPs: []net.IP{{5, 5, 5, 5}, {6, 6, 6, 6}}},
},

View File

@@ -40,7 +40,6 @@ func (hts hostToServer) add(data serverData) (err error) {
server.TCP = true
case "wireguard":
server.VPN = vpn.Wireguard
server.UDP = true
case "bridge":
// ignore bridge servers
return nil

View File

@@ -56,7 +56,7 @@ func (u *Updater) FetchServers(ctx context.Context, minServers int) (
}
server.VPN = vpn.Wireguard
server.UDP = true
server.UDP = false
server.TCP = false
server.OvpnX509 = ""
server.WgPubKey = wgPubKey

File diff suppressed because it is too large Load Diff