Compare commits

...

2 Commits

Author SHA1 Message Date
31859569fc fix typo in README 2022-03-06 19:25:06 +01:00
d31571fc50 cleanup (country default now comes from flag) 2022-03-06 19:20:21 +01:00
2 changed files with 4 additions and 12 deletions

View File

@ -1,7 +1,7 @@
# mullvad-best-server
![Build](https://github.com/bastiandoetsch/mullvad-best-server/actions/workflows/go.yml/badge.svg)
Determines the mullvat.net wireguard server with the lowest latency.
Determines the mullvad.net server with the lowest latency.
## Installation

14
main.go
View File

@ -24,7 +24,7 @@ func main() {
flag.Parse()
servers := getServers(*typeFlag)
bestIndex := selectBestServerIndex(servers, countryFlag)
bestIndex := selectBestServerIndex(servers, *countryFlag)
best := servers[bestIndex]
log.Debug().Interface("server", best).Msg("Best latency server found.")
hostname := strings.TrimSuffix(best.Hostname, "-wireguard")
@ -39,19 +39,11 @@ func main() {
}
}
func selectBestServerIndex(servers []server, country *string) int {
func selectBestServerIndex(servers []server, country string) int {
best := servers[0].Hostname
bestIndex := -1
allowedCountries := map[string]string{}
if *country == "" {
allowedCountries["de"] = "1"
allowedCountries["ch"] = "1"
allowedCountries["at"] = "1"
} else {
allowedCountries[*country] = "1"
}
for i, server := range servers {
if server.Active && allowedCountries[server.CountryCode] != "" {
if server.Active && server.CountryCode == country {
duration, err := serverLatency(server)
if err == nil {
pings[server.Hostname] = duration