From 001f54c5e09e2a73258fd0faa95523fa02a81465 Mon Sep 17 00:00:00 2001 From: sneak Date: Sun, 9 Jun 2024 07:40:44 -0700 Subject: [PATCH] latest --- Makefile | 4 ++++ cmd/mullvadclosest/relays.go | 8 ++++++-- embed.go | 16 ++++++++++++++++ embed.json | 9 --------- go.mod | 15 +++++++++++++++ go.sum | 32 ++++++++++++++++++++++++++++++++ 6 files changed, 73 insertions(+), 11 deletions(-) create mode 100644 Makefile create mode 100644 embed.go delete mode 100644 embed.json create mode 100644 go.mod create mode 100644 go.sum diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..aadfa34 --- /dev/null +++ b/Makefile @@ -0,0 +1,4 @@ +default: build + +build: + @go build -o bin/ ./... diff --git a/cmd/mullvadclosest/relays.go b/cmd/mullvadclosest/relays.go index 2c4ace3..ed12728 100644 --- a/cmd/mullvadclosest/relays.go +++ b/cmd/mullvadclosest/relays.go @@ -102,11 +102,15 @@ func ParseRelayData() ([]Relay, error) { } var fileData []byte + var err error if filePath == "" { // use embedded cache if not on filesystem - fileData = mullvadclosest.RelayJSON + fileData, err = mullvadclosest.GetRelays() + if err != nil { + return nil, fmt.Errorf("failed to read embedded file: %v", err) + } } else { - fileData, err := ioutil.ReadFile(filePath) + fileData, err = ioutil.ReadFile(filePath) if err != nil { return nil, fmt.Errorf("failed to read file: %v", err) } diff --git a/embed.go b/embed.go new file mode 100644 index 0000000..1e137ef --- /dev/null +++ b/embed.go @@ -0,0 +1,16 @@ +package mullvadclosest + +import ( + "embed" +) + +//go:embed relays.2024-06-04.json +var fs embed.FS + +func GetEmbeddedFile(name string) ([]byte, error) { + return fs.ReadFile(name) +} + +func GetRelays() ([]byte, error) { + return GetEmbeddedFile("relays.2024-06-04.json") +} diff --git a/embed.json b/embed.json deleted file mode 100644 index bef90db..0000000 --- a/embed.json +++ /dev/null @@ -1,9 +0,0 @@ -package mullvadclosest - - -import ( - "embed" -) - -//go:embed relays.2024-06-04.json -var RelayJSON embed.FS diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..4328d19 --- /dev/null +++ b/go.mod @@ -0,0 +1,15 @@ +module sneak.berlin/go/mullvadclosest + +go 1.22.3 + +require ( + github.com/go-ping/ping v1.1.0 // indirect + github.com/google/uuid v1.2.0 // indirect + github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db // indirect + github.com/rivo/uniseg v0.4.7 // indirect + github.com/schollz/progressbar/v3 v3.14.3 // indirect + golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4 // indirect + golang.org/x/sync v0.0.0-20210220032951-036812b2e83c // indirect + golang.org/x/sys v0.20.0 // indirect + golang.org/x/term v0.20.0 // indirect +) diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..3f74013 --- /dev/null +++ b/go.sum @@ -0,0 +1,32 @@ +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/go-ping/ping v1.1.0 h1:3MCGhVX4fyEUuhsfwPrsEdQw6xspHkv5zHsiSoDFZYw= +github.com/go-ping/ping v1.1.0/go.mod h1:xIFjORFzTxqIV/tDVGO4eDy/bLuSyawEeojSm3GfRGk= +github.com/google/uuid v1.2.0 h1:qJYtXnJRWmpe7m/3XlyhrsLrEURqHRM2kxzoxXqyUDs= +github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/k0kubun/go-ansi v0.0.0-20180517002512-3bf9e2903213/go.mod h1:vNUNkEQ1e29fT/6vq2aBdFsgNPmy8qMdSay1npru+Sw= +github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db h1:62I3jR2EmQ4l5rM/4FEfDWcRD+abF5XlKShorW5LRoQ= +github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db/go.mod h1:l0dey0ia/Uv7NcFFVbCLtqEBQbrT4OCwCSKTEv6enCw= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ= +github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= +github.com/schollz/progressbar/v3 v3.14.3 h1:oOuWW19ka12wxYU1XblR4n16wF/2Y1dBLMarMo6p4xU= +github.com/schollz/progressbar/v3 v3.14.3/go.mod h1:aT3UQ7yGm+2ZjeXPqsjTenwL3ddUiuZ0kfQ/2tHlyNI= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4 h1:b0LrWgu8+q7z4J+0Y3Umo5q1dL7NXBkKBWkaVkAq17E= +golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c h1:5KslGYwFpkhGh+Q16bwMP3cOontH8FOep7tGV86Y7SQ= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005 h1:pDMpM2zh2MT0kHy037cKlSby2nEhD50SYqwQk76Nm40= +golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= +golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= +golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=