Compare commits

...

3 Commits

Author SHA1 Message Date
Bastian Doetsch
a6992b2373 archive binaries without version number, use commit timestamp as mod_timestamp 2022-03-06 19:31:40 +01:00
Bastian Doetsch
31859569fc fix typo in README 2022-03-06 19:25:06 +01:00
Bastian Doetsch
d31571fc50 cleanup (country default now comes from flag) 2022-03-06 19:20:21 +01:00
3 changed files with 7 additions and 12 deletions

View File

@@ -14,6 +14,7 @@ builds:
- linux - linux
- windows - windows
- darwin - darwin
mod_timestamp: "{{ .CommitTimestamp }}"
archives: archives:
- replacements: - replacements:
darwin: Darwin darwin: Darwin
@@ -21,6 +22,8 @@ archives:
windows: Windows windows: Windows
386: i386 386: i386
amd64: x86_64 amd64: x86_64
format: binary
name_template: "{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}"
checksum: checksum:
name_template: 'checksums.txt' name_template: 'checksums.txt'
snapshot: snapshot:

View File

@@ -1,7 +1,7 @@
# mullvad-best-server # mullvad-best-server
![Build](https://github.com/bastiandoetsch/mullvad-best-server/actions/workflows/go.yml/badge.svg) ![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 ## Installation

14
main.go
View File

@@ -24,7 +24,7 @@ func main() {
flag.Parse() flag.Parse()
servers := getServers(*typeFlag) servers := getServers(*typeFlag)
bestIndex := selectBestServerIndex(servers, countryFlag) bestIndex := selectBestServerIndex(servers, *countryFlag)
best := servers[bestIndex] best := servers[bestIndex]
log.Debug().Interface("server", best).Msg("Best latency server found.") log.Debug().Interface("server", best).Msg("Best latency server found.")
hostname := strings.TrimSuffix(best.Hostname, "-wireguard") 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 best := servers[0].Hostname
bestIndex := -1 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 { for i, server := range servers {
if server.Active && allowedCountries[server.CountryCode] != "" { if server.Active && server.CountryCode == country {
duration, err := serverLatency(server) duration, err := serverLatency(server)
if err == nil { if err == nil {
pings[server.Hostname] = duration pings[server.Hostname] = duration