fix(protonvpn): set free field for free servers

This commit is contained in:
Quentin McGaw
2022-06-18 18:30:27 +00:00
parent d430ebc34f
commit edbbcc041a
3 changed files with 14 additions and 3 deletions

View File

@@ -10,7 +10,7 @@ import (
type ipToServer map[string]models.Server type ipToServer map[string]models.Server
func (its ipToServer) add(country, region, city, name, hostname string, func (its ipToServer) add(country, region, city, name, hostname string,
entryIP net.IP) { free bool, entryIP net.IP) {
key := entryIP.String() key := entryIP.String()
server, ok := its[key] server, ok := its[key]
@@ -24,6 +24,7 @@ func (its ipToServer) add(country, region, city, name, hostname string,
server.City = city server.City = city
server.ServerName = name server.ServerName = name
server.Hostname = hostname server.Hostname = hostname
server.Free = free
server.UDP = true server.UDP = true
server.TCP = true server.TCP = true
server.IPs = []net.IP{entryIP} server.IPs = []net.IP{entryIP}

View File

@@ -6,6 +6,7 @@ import (
"context" "context"
"fmt" "fmt"
"sort" "sort"
"strings"
"github.com/qdm12/gluetun/internal/constants" "github.com/qdm12/gluetun/internal/constants"
"github.com/qdm12/gluetun/internal/models" "github.com/qdm12/gluetun/internal/models"
@@ -47,6 +48,12 @@ func (u *Updater) FetchServers(ctx context.Context, minServers int) (
hostname := physicalServer.Domain hostname := physicalServer.Domain
entryIP := physicalServer.EntryIP entryIP := physicalServer.EntryIP
lowerCaseName := strings.ToLower(name)
var free bool
if strings.Contains(hostname, "free") || strings.Contains(lowerCaseName, "free") {
free = true
}
// Note: for multi-hop use the server name or hostname // Note: for multi-hop use the server name or hostname
// instead of the country // instead of the country
countryCode := logicalServer.ExitCountry countryCode := logicalServer.ExitCountry
@@ -55,7 +62,7 @@ func (u *Updater) FetchServers(ctx context.Context, minServers int) (
u.warner.Warn(warning) u.warner.Warn(warning)
} }
ipToServer.add(country, region, city, name, hostname, entryIP) ipToServer.add(country, region, city, name, hostname, free, entryIP)
} }
} }

View File

@@ -106773,7 +106773,7 @@
}, },
"protonvpn": { "protonvpn": {
"version": 4, "version": 4,
"timestamp": 1655576932, "timestamp": 1655576953,
"servers": [ "servers": [
{ {
"vpn": "openvpn", "vpn": "openvpn",
@@ -108586,6 +108586,7 @@
"hostname": "node-jp-13.protonvpn.net", "hostname": "node-jp-13.protonvpn.net",
"tcp": true, "tcp": true,
"udp": true, "udp": true,
"free": true,
"ips": [ "ips": [
"45.14.71.5" "45.14.71.5"
] ]
@@ -109016,6 +109017,7 @@
"hostname": "node-nl-17.protonvpn.net", "hostname": "node-nl-17.protonvpn.net",
"tcp": true, "tcp": true,
"udp": true, "udp": true,
"free": true,
"ips": [ "ips": [
"192.40.57.231" "192.40.57.231"
] ]
@@ -111183,6 +111185,7 @@
"hostname": "node-us-41.protonvpn.net", "hostname": "node-us-41.protonvpn.net",
"tcp": true, "tcp": true,
"udp": true, "udp": true,
"free": true,
"ips": [ "ips": [
"172.98.93.226" "172.98.93.226"
] ]