Compare commits

...

2 Commits

Author SHA1 Message Date
2998e1d39d Create README.md 2022-03-06 17:09:40 +01:00
5821d890b8 only give short server (e.g. de5) as output 2022-03-06 16:51:45 +01:00
2 changed files with 16 additions and 1 deletions

13
README.md Normal file
View File

@ -0,0 +1,13 @@
# mullvad-best-server
Determines the mullvat.net server with the lowest latency.
## Installation
Download binary from releases for your platform and unpack.
## Usage
Execute `mullvad-best-server`. It outputs the code, e.g. `de05`. You can then connect to it with e.g. wireguard using the normal shell scripts.
## Background
The program uses `https://api.mullvad.net/www/relays/wireguard/` to get the current server list, pings the ones with the right country
and outputs the server with the lowest ping.

View File

@ -9,6 +9,7 @@ import (
"io" "io"
"io/ioutil" "io/ioutil"
"net/http" "net/http"
"strings"
"time" "time"
) )
@ -19,7 +20,8 @@ func main() {
servers := getServers() servers := getServers()
bestIndex := selectBestServerIndex(servers) bestIndex := selectBestServerIndex(servers)
log.Debug().Interface("server", servers[bestIndex]).Msg("Best latency server found.") log.Debug().Interface("server", servers[bestIndex]).Msg("Best latency server found.")
fmt.Println(servers[bestIndex].Hostname) hostname := strings.Split(servers[bestIndex].Hostname, "-")[0]
fmt.Println(hostname)
} }
func selectBestServerIndex(servers []server) int { func selectBestServerIndex(servers []server) int {