chore(servers): remove "udp": true for Wireguard
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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]
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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}}},
|
||||
},
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user