Be less pedantic, improve logging

This commit is contained in:
Fabian Bläse 2024-03-10 23:40:27 +01:00
parent f0a0237bab
commit 4dc8d11538
74 changed files with 184 additions and 162 deletions

View File

@ -60,11 +60,11 @@ func main() {
} }
if len(h.Polygons) == 0 { if len(h.Polygons) == 0 {
hood.Location = []Coordinate{{Lat: h.Lat, Long: h.Long}} hood.Location = []HoodCoordinate{{Lat: h.Lat, Long: h.Long}}
} else { } else {
hood.Location = []Coordinate{} hood.Location = []HoodCoordinate{}
for _, p := range h.Polygons[0] { for _, p := range h.Polygons[0] {
hood.Location = append(hood.Location, Coordinate{Lat: p.Lat, Long: p.Long}) hood.Location = append(hood.Location, HoodCoordinate{Lat: p.Lat, Long: p.Long})
} }
} }

View File

@ -15,28 +15,23 @@ type InputCoordinate struct {
Long float64 `json:"lon"` Long float64 `json:"lon"`
} }
type Coordinate struct {
Lat float64 `json:"lat"`
Long float64 `json:"long"`
}
type Hood struct { type Hood struct {
Version uint64 `json:"version"` Version uint64 `json:"version"`
Network HoodNetwork `json:"network"` Network HoodNetwork `json:"network"`
Vpn []VpnEndpoint `json:"vpn"` Vpn []HoodVpnEndpoint `json:"vpn"`
HoodInfo HoodInfo `json:"hood"` HoodInfo HoodInfo `json:"hood"`
// one coordinate: voronoi // one coordinate: voronoi
// two coordinates: invalid // two coordinates: invalid
// three or more coordinates: polygon // three or more coordinates: polygon
Location []Coordinate `json:"location,omitempty"` Location []HoodCoordinate `json:"location,omitempty"`
} }
type HoodNetwork struct { type HoodNetwork struct {
UlaPrefix string `json:"ula_prefix"` UlaPrefix string `json:"ula_prefix"`
} }
type VpnEndpoint struct { type HoodVpnEndpoint struct {
Name string `json:"name"` Name string `json:"name"`
Protocol string `json:"protocol"` Protocol string `json:"protocol"`
Address string `json:"address"` Address string `json:"address"`
@ -63,3 +58,8 @@ type HoodInfo struct {
NtpIp string `json:"ntp_ip"` NtpIp string `json:"ntp_ip"`
Timestamp uint64 `json:"timestamp"` Timestamp uint64 `json:"timestamp"`
} }
type HoodCoordinate struct {
Lat float64 `json:"lat"`
Long float64 `json:"lon"`
}

View File

@ -53,7 +53,8 @@ func hoodPoly(lat, long float64) *Hood {
if !poly.IsClosed() { if !poly.IsClosed() {
// TODO: validate when parsing files! // TODO: validate when parsing files!
log.Print("polygon is not closed!") log.Printf("Polygon is not closed for hood: %s", hood.HoodInfo.Name)
continue
} }
if poly.Contains(geo.NewPoint(lat, long)) { if poly.Contains(geo.NewPoint(lat, long)) {
@ -95,16 +96,31 @@ func keyserverV2Time(w http.ResponseWriter, r *http.Request) {
log.Printf("Processed request in %s", duration) log.Printf("Processed request in %s", duration)
} }
func httpHeader(w http.ResponseWriter, r *http.Request, statusCode int) {
log.Printf("\"%s %s %s\" %d", r.Method, r.RequestURI, r.Proto, statusCode)
w.WriteHeader(statusCode)
}
func keyserverV2(w http.ResponseWriter, r *http.Request) { func keyserverV2(w http.ResponseWriter, r *http.Request) {
hoodid := r.URL.Query().Get("hoodid") hoodid := r.URL.Query().Get("hoodid")
lat := r.URL.Query().Get("lat") lat := r.URL.Query().Get("lat")
long := r.URL.Query().Get("long") long := r.URL.Query().Get("long")
lon := r.URL.Query().Get("lon")
var hood *Hood = hoodId(0) var hood *Hood = hoodId(0)
if lon != "" && long != "" {
httpHeader(w, r, http.StatusBadRequest)
return
}
if lon != "" {
long = lon
}
if hoodid != "" { if hoodid != "" {
id, err := strconv.ParseUint(hoodid, 10, 64) id, err := strconv.ParseUint(hoodid, 10, 64)
if err != nil { if err != nil {
w.WriteHeader(http.StatusBadRequest) httpHeader(w, r, http.StatusBadRequest)
return return
} }
hood = hoodId(id) hood = hoodId(id)
@ -112,7 +128,7 @@ func keyserverV2(w http.ResponseWriter, r *http.Request) {
if lat != "" { if lat != "" {
if long == "" { if long == "" {
w.WriteHeader(http.StatusBadRequest) httpHeader(w, r, http.StatusBadRequest)
return return
} }
@ -122,12 +138,12 @@ func keyserverV2(w http.ResponseWriter, r *http.Request) {
latF, err := strconv.ParseFloat(lat, 64) latF, err := strconv.ParseFloat(lat, 64)
if err != nil { if err != nil {
w.WriteHeader(http.StatusBadRequest) httpHeader(w, r, http.StatusBadRequest)
return return
} }
longF, err := strconv.ParseFloat(long, 64) longF, err := strconv.ParseFloat(long, 64)
if err != nil { if err != nil {
w.WriteHeader(http.StatusBadRequest) httpHeader(w, r, http.StatusBadRequest)
return return
} }
@ -139,24 +155,24 @@ func keyserverV2(w http.ResponseWriter, r *http.Request) {
} }
if hood == nil { if hood == nil {
w.WriteHeader(http.StatusInternalServerError) httpHeader(w, r, http.StatusInternalServerError)
return return
} }
} else if long != "" { } else if long != "" {
w.WriteHeader(http.StatusBadRequest) httpHeader(w, r, http.StatusBadRequest)
return return
} }
if hood == nil { if hood == nil {
log.Print("No hood found") log.Print("No hood found")
w.WriteHeader(http.StatusNotFound) httpHeader(w, r, http.StatusNotFound)
return return
} }
b, err := json.MarshalIndent(hood, "", " ") b, err := json.MarshalIndent(hood, "", " ")
if err != nil { if err != nil {
log.Printf("Marshaling error: %s", err) log.Printf("Marshaling error: %s", err)
w.WriteHeader(http.StatusInternalServerError) httpHeader(w, r, http.StatusInternalServerError)
return return
} }
w.Header().Add("Content-Type", "application/json; charset=utf-8") w.Header().Add("Content-Type", "application/json; charset=utf-8")

View File

@ -1,22 +1,22 @@
package main package main
type Hood struct { type Hood struct {
Version uint64 `json:"version"` Version uint64 `json:"version"`
Network HoodNetwork `json:"network"` Network HoodNetwork `json:"network"`
Vpn []VpnEndpoint `json:"vpn"` Vpn []HoodVpnEndpoint `json:"vpn"`
HoodInfo HoodInfo `json:"hood"` HoodInfo HoodInfo `json:"hood"`
// one coordinate: voronoi // one coordinate: voronoi
// two coordinates: invalid // two coordinates: invalid
// three or more coordinates: polygon // three or more coordinates: polygon
Location []Coordinate `json:"location,omitempty"` Location []HoodCoordinate `json:"location,omitempty"`
} }
type HoodNetwork struct { type HoodNetwork struct {
UlaPrefix string `json:"ula_prefix"` UlaPrefix string `json:"ula_prefix"`
} }
type VpnEndpoint struct { type HoodVpnEndpoint struct {
Name string `json:"name"` Name string `json:"name"`
Protocol string `json:"protocol"` Protocol string `json:"protocol"`
Address string `json:"address"` Address string `json:"address"`
@ -44,7 +44,7 @@ type HoodInfo struct {
Timestamp uint64 `json:"timestamp"` Timestamp uint64 `json:"timestamp"`
} }
type Coordinate struct { type HoodCoordinate struct {
Lat float64 `json:"lat"` Lat float64 `json:"lat"`
Long float64 `json:"long"` Long float64 `json:"lon"`
} }

View File

@ -42,7 +42,7 @@
"location": [ "location": [
{ {
"lat": 49.71, "lat": 49.71,
"long": 10.89 "lon": 10.89
} }
] ]
} }

View File

@ -42,7 +42,7 @@
"location": [ "location": [
{ {
"lat": 49.981666, "lat": 49.981666,
"long": 9.969662 "lon": 9.969662
} }
] ]
} }

View File

@ -42,7 +42,7 @@
"location": [ "location": [
{ {
"lat": 49.975661, "lat": 49.975661,
"long": 9.146826 "lon": 9.146826
} }
] ]
} }

View File

@ -34,31 +34,31 @@
"location": [ "location": [
{ {
"lat": 50.940906, "lat": 50.940906,
"long": 9.668312 "lon": 9.668312
}, },
{ {
"lat": 50.862527, "lat": 50.862527,
"long": 9.598617 "lon": 9.598617
}, },
{ {
"lat": 50.760133, "lat": 50.760133,
"long": 9.684448 "lon": 9.684448
}, },
{ {
"lat": 50.776201, "lat": 50.776201,
"long": 9.772338 "lon": 9.772338
}, },
{ {
"lat": 50.818083, "lat": 50.818083,
"long": 9.888381 "lon": 9.888381
}, },
{ {
"lat": 50.907146, "lat": 50.907146,
"long": 9.879798 "lon": 9.879798
}, },
{ {
"lat": 50.938094, "lat": 50.938094,
"long": 9.780235 "lon": 9.780235
} }
] ]
} }

View File

@ -42,7 +42,7 @@
"location": [ "location": [
{ {
"lat": 49.50198129, "lat": 49.50198129,
"long": 10.40405273 "lon": 10.40405273
} }
] ]
} }

View File

@ -42,7 +42,7 @@
"location": [ "location": [
{ {
"lat": 50.37, "lat": 50.37,
"long": 11.62 "lon": 11.62
} }
] ]
} }

View File

@ -42,7 +42,7 @@
"location": [ "location": [
{ {
"lat": 49.89, "lat": 49.89,
"long": 10.898 "lon": 10.898
} }
] ]
} }

View File

@ -42,7 +42,7 @@
"location": [ "location": [
{ {
"lat": 49.94814, "lat": 49.94814,
"long": 11.580566 "lon": 11.580566
} }
] ]
} }

View File

@ -42,43 +42,43 @@
"location": [ "location": [
{ {
"lat": 49.68773326885868, "lat": 49.68773326885868,
"long": 9.200448989868164 "lon": 9.200448989868164
}, },
{ {
"lat": 49.68562314289233, "lat": 49.68562314289233,
"long": 9.200277328491211 "lon": 9.200277328491211
}, },
{ {
"lat": 49.676626315133916, "lat": 49.676626315133916,
"long": 9.218602180480957 "lon": 9.218602180480957
}, },
{ {
"lat": 49.68342962539177, "lat": 49.68342962539177,
"long": 9.218344688415527 "lon": 9.218344688415527
}, },
{ {
"lat": 49.686789276459145, "lat": 49.686789276459145,
"long": 9.221091270446777 "lon": 9.221091270446777
}, },
{ {
"lat": 49.68701139396704, "lat": 49.68701139396704,
"long": 9.224524497985838 "lon": 9.224524497985838
}, },
{ {
"lat": 49.693008183060336, "lat": 49.693008183060336,
"long": 9.228386878967283 "lon": 9.228386878967283
}, },
{ {
"lat": 49.69750528937159, "lat": 49.69750528937159,
"long": 9.223923683166504 "lon": 9.223923683166504
}, },
{ {
"lat": 49.69670028240164, "lat": 49.69670028240164,
"long": 9.213409423828125 "lon": 9.213409423828125
}, },
{ {
"lat": 49.68773326885868, "lat": 49.68773326885868,
"long": 9.200448989868164 "lon": 9.200448989868164
} }
] ]
} }

View File

@ -42,7 +42,7 @@
"location": [ "location": [
{ {
"lat": 47.873644, "lat": 47.873644,
"long": 12.638943 "lon": 12.638943
} }
] ]
} }

View File

@ -42,7 +42,7 @@
"location": [ "location": [
{ {
"lat": 50.268233, "lat": 50.268233,
"long": 10.9608003 "lon": 10.9608003
} }
] ]
} }

View File

@ -42,7 +42,7 @@
"location": [ "location": [
{ {
"lat": 49.058, "lat": 49.058,
"long": 10.065 "lon": 10.065
} }
] ]
} }

View File

@ -42,7 +42,7 @@
"location": [ "location": [
{ {
"lat": 49.068678, "lat": 49.068678,
"long": 10.325771 "lon": 10.325771
} }
] ]
} }

View File

@ -42,7 +42,7 @@
"location": [ "location": [
{ {
"lat": 49.78, "lat": 49.78,
"long": 11.18 "lon": 11.18
} }
] ]
} }

View File

@ -42,7 +42,7 @@
"location": [ "location": [
{ {
"lat": 50.09652289, "lat": 50.09652289,
"long": 10.80041885 "lon": 10.80041885
} }
] ]
} }

View File

@ -42,7 +42,7 @@
"location": [ "location": [
{ {
"lat": 49.581851, "lat": 49.581851,
"long": 11.200677 "lon": 11.200677
} }
] ]
} }

View File

@ -42,27 +42,27 @@
"location": [ "location": [
{ {
"lat": 49.602992, "lat": 49.602992,
"long": 10.99951 "lon": 10.99951
}, },
{ {
"lat": 49.601709, "lat": 49.601709,
"long": 11.00521 "lon": 11.00521
}, },
{ {
"lat": 49.592037, "lat": 49.592037,
"long": 11.008728 "lon": 11.008728
}, },
{ {
"lat": 49.590035, "lat": 49.590035,
"long": 11.009025 "lon": 11.009025
}, },
{ {
"lat": 49.589917, "lat": 49.589917,
"long": 11.002528 "lon": 11.002528
}, },
{ {
"lat": 49.593084, "lat": 49.593084,
"long": 11.002599 "lon": 11.002599
} }
] ]
} }

View File

@ -42,7 +42,7 @@
"location": [ "location": [
{ {
"lat": 49.63645351, "lat": 49.63645351,
"long": 10.97757339 "lon": 10.97757339
} }
] ]
} }

View File

@ -42,7 +42,7 @@
"location": [ "location": [
{ {
"lat": 49.58957114, "lat": 49.58957114,
"long": 11.02100372 "lon": 11.02100372
} }
] ]
} }

View File

@ -42,7 +42,7 @@
"location": [ "location": [
{ {
"lat": 49.58934858, "lat": 49.58934858,
"long": 10.9388 "lon": 10.9388
} }
] ]
} }

View File

@ -42,7 +42,7 @@
"location": [ "location": [
{ {
"lat": 50, "lat": 50,
"long": 11.8524 "lon": 11.8524
} }
] ]
} }

View File

@ -42,7 +42,7 @@
"location": [ "location": [
{ {
"lat": 50.010718, "lat": 50.010718,
"long": 11.8079 "lon": 11.8079
} }
] ]
} }

View File

@ -42,7 +42,7 @@
"location": [ "location": [
{ {
"lat": 50.0132, "lat": 50.0132,
"long": 11.84792 "lon": 11.84792
} }
] ]
} }

View File

@ -42,7 +42,7 @@
"location": [ "location": [
{ {
"lat": 50.0522, "lat": 50.0522,
"long": 11.7946 "lon": 11.7946
} }
] ]
} }

View File

@ -42,7 +42,7 @@
"location": [ "location": [
{ {
"lat": 50.0163, "lat": 50.0163,
"long": 11.94961 "lon": 11.94961
} }
] ]
} }

View File

@ -42,7 +42,7 @@
"location": [ "location": [
{ {
"lat": 49.9743, "lat": 49.9743,
"long": 11.8652 "lon": 11.8652
} }
] ]
} }

View File

@ -42,7 +42,7 @@
"location": [ "location": [
{ {
"lat": 49.993077, "lat": 49.993077,
"long": 11.775884 "lon": 11.775884
} }
] ]
} }

View File

@ -42,7 +42,7 @@
"location": [ "location": [
{ {
"lat": 49.72, "lat": 49.72,
"long": 11.06 "lon": 11.06
} }
] ]
} }

View File

@ -42,7 +42,7 @@
"location": [ "location": [
{ {
"lat": 49.94, "lat": 49.94,
"long": 11.29 "lon": 11.29
} }
] ]
} }

View File

@ -42,7 +42,7 @@
"location": [ "location": [
{ {
"lat": 49.7762, "lat": 49.7762,
"long": 11.4049 "lon": 11.4049
} }
] ]
} }

View File

@ -42,7 +42,7 @@
"location": [ "location": [
{ {
"lat": 49.65, "lat": 49.65,
"long": 11.26 "lon": 11.26
} }
] ]
} }

View File

@ -42,7 +42,7 @@
"location": [ "location": [
{ {
"lat": 50.252, "lat": 50.252,
"long": 11.415 "lon": 11.415
} }
] ]
} }

View File

@ -42,7 +42,7 @@
"location": [ "location": [
{ {
"lat": 49.4814, "lat": 49.4814,
"long": 10.966 "lon": 10.966
} }
] ]
} }

View File

@ -42,7 +42,7 @@
"location": [ "location": [
{ {
"lat": 49.900258, "lat": 49.900258,
"long": 10.347808 "lon": 10.347808
} }
] ]
} }

View File

@ -42,7 +42,7 @@
"location": [ "location": [
{ {
"lat": 50.031638, "lat": 50.031638,
"long": 10.506658 "lon": 10.506658
} }
] ]
} }

View File

@ -34,23 +34,23 @@
"location": [ "location": [
{ {
"lat": 50.03917119338, "lat": 50.03917119338,
"long": 10.47477705002 "lon": 10.47477705002
}, },
{ {
"lat": 50.02417459643, "lat": 50.02417459643,
"long": 10.47700864792 "lon": 10.47700864792
}, },
{ {
"lat": 50.0086217092, "lat": 50.0086217092,
"long": 10.53949338913 "lon": 10.53949338913
}, },
{ {
"lat": 50.0436912, "lat": 50.0436912,
"long": 10.55966377 "lon": 10.55966377
}, },
{ {
"lat": 50.03928155539, "lat": 50.03928155539,
"long": 10.4782101059 "lon": 10.4782101059
} }
] ]
} }

View File

@ -34,7 +34,7 @@
"location": [ "location": [
{ {
"lat": 50.235, "lat": 50.235,
"long": 11.716 "lon": 11.716
} }
] ]
} }

View File

@ -42,7 +42,7 @@
"location": [ "location": [
{ {
"lat": 49.709, "lat": 49.709,
"long": 10.845 "lon": 10.845
} }
] ]
} }

View File

@ -42,7 +42,7 @@
"location": [ "location": [
{ {
"lat": 50.31478, "lat": 50.31478,
"long": 11.912398 "lon": 11.912398
} }
] ]
} }

View File

@ -34,7 +34,7 @@
"location": [ "location": [
{ {
"lat": 50.136694, "lat": 50.136694,
"long": 10.523199 "lon": 10.523199
} }
] ]
} }

View File

@ -34,27 +34,27 @@
"location": [ "location": [
{ {
"lat": 50.1481138, "lat": 50.1481138,
"long": 10.5282926 "lon": 10.5282926
}, },
{ {
"lat": 50.1454187, "lat": 50.1454187,
"long": 10.5162334 "lon": 10.5162334
}, },
{ {
"lat": 50.1349394, "lat": 50.1349394,
"long": 10.5128002 "lon": 10.5128002
}, },
{ {
"lat": 50.1268513, "lat": 50.1268513,
"long": 10.5178642 "lon": 10.5178642
}, },
{ {
"lat": 50.1337565, "lat": 50.1337565,
"long": 10.5325841 "lon": 10.5325841
}, },
{ {
"lat": 50.1395055, "lat": 50.1395055,
"long": 10.5364894 "lon": 10.5364894
} }
] ]
} }

View File

@ -34,7 +34,7 @@
"location": [ "location": [
{ {
"lat": 50.271, "lat": 50.271,
"long": 11.847 "lon": 11.847
} }
] ]
} }

View File

@ -42,7 +42,7 @@
"location": [ "location": [
{ {
"lat": 49.518, "lat": 49.518,
"long": 11.281 "lon": 11.281
} }
] ]
} }

View File

@ -34,7 +34,7 @@
"location": [ "location": [
{ {
"lat": 50.294, "lat": 50.294,
"long": 11.797 "lon": 11.797
} }
] ]
} }

View File

@ -42,7 +42,7 @@
"location": [ "location": [
{ {
"lat": 50.395, "lat": 50.395,
"long": 11.687 "lon": 11.687
} }
] ]
} }

View File

@ -42,7 +42,7 @@
"location": [ "location": [
{ {
"lat": 50.144, "lat": 50.144,
"long": 11.055 "lon": 11.055
} }
] ]
} }

View File

@ -34,7 +34,7 @@
"location": [ "location": [
{ {
"lat": 50.0023, "lat": 50.0023,
"long": 12.0786 "lon": 12.0786
} }
] ]
} }

View File

@ -34,7 +34,7 @@
"location": [ "location": [
{ {
"lat": 49.84, "lat": 49.84,
"long": 9.3 "lon": 9.3
} }
] ]
} }

View File

@ -34,7 +34,7 @@
"location": [ "location": [
{ {
"lat": 49.348265, "lat": 49.348265,
"long": 9.113524 "lon": 9.113524
} }
] ]
} }

View File

@ -42,7 +42,7 @@
"location": [ "location": [
{ {
"lat": 50.182, "lat": 50.182,
"long": 11.788 "lon": 11.788
} }
] ]
} }

View File

@ -50,7 +50,7 @@
"location": [ "location": [
{ {
"lat": 50.328488, "lat": 50.328488,
"long": 11.705781 "lon": 11.705781
} }
] ]
} }

View File

@ -42,31 +42,31 @@
"location": [ "location": [
{ {
"lat": 49.44896027702345, "lat": 49.44896027702345,
"long": 11.065592765808105 "lon": 11.065592765808105
}, },
{ {
"lat": 49.45875232014657, "lat": 49.45875232014657,
"long": 11.073832511901855 "lon": 11.073832511901855
}, },
{ {
"lat": 49.45942179010528, "lat": 49.45942179010528,
"long": 11.086664199829102 "lon": 11.086664199829102
}, },
{ {
"lat": 49.45766441195774, "lat": 49.45766441195774,
"long": 11.088123321533203 "lon": 11.088123321533203
}, },
{ {
"lat": 49.45543272983746, "lat": 49.45543272983746,
"long": 11.088252067565918 "lon": 11.088252067565918
}, },
{ {
"lat": 49.44667239531518, "lat": 49.44667239531518,
"long": 11.080656051635742 "lon": 11.080656051635742
}, },
{ {
"lat": 49.44748153641486, "lat": 49.44748153641486,
"long": 11.067438125610352 "lon": 11.067438125610352
} }
] ]
} }

View File

@ -42,7 +42,7 @@
"location": [ "location": [
{ {
"lat": 49.444, "lat": 49.444,
"long": 11.05 "lon": 11.05
} }
] ]
} }

View File

@ -42,51 +42,51 @@
"location": [ "location": [
{ {
"lat": 49.430291392482545, "lat": 49.430291392482545,
"long": 11.040229797363281 "lon": 11.040229797363281
}, },
{ {
"lat": 49.440896414087646, "lat": 49.440896414087646,
"long": 11.035938262939453 "lon": 11.035938262939453
}, },
{ {
"lat": 49.45183392837305, "lat": 49.45183392837305,
"long": 11.037483215332031 "lon": 11.037483215332031
}, },
{ {
"lat": 49.467120037299296, "lat": 49.467120037299296,
"long": 11.056537628173828 "lon": 11.056537628173828
}, },
{ {
"lat": 49.47035517151213, "lat": 49.47035517151213,
"long": 11.094131469726562 "lon": 11.094131469726562
}, },
{ {
"lat": 49.46014703890668, "lat": 49.46014703890668,
"long": 11.106576919555664 "lon": 11.106576919555664
}, },
{ {
"lat": 49.45936600129137, "lat": 49.45936600129137,
"long": 11.115074157714842 "lon": 11.115074157714842
}, },
{ {
"lat": 49.4560743488551, "lat": 49.4560743488551,
"long": 11.118335723876953 "lon": 11.118335723876953
}, },
{ {
"lat": 49.44988097977617, "lat": 49.44988097977617,
"long": 11.12288475036621 "lon": 11.12288475036621
}, },
{ {
"lat": 49.43609653047201, "lat": 49.43609653047201,
"long": 11.116962432861328 "lon": 11.116962432861328
}, },
{ {
"lat": 49.42884000063522, "lat": 49.42884000063522,
"long": 11.085548400878906 "lon": 11.085548400878906
}, },
{ {
"lat": 49.428170112992, "lat": 49.428170112992,
"long": 11.065464019775389 "lon": 11.065464019775389
} }
] ]
} }

View File

@ -42,7 +42,7 @@
"location": [ "location": [
{ {
"lat": 49.7581, "lat": 49.7581,
"long": 11.5401 "lon": 11.5401
} }
] ]
} }

View File

@ -34,7 +34,7 @@
"location": [ "location": [
{ {
"lat": 50.248, "lat": 50.248,
"long": 12.037 "lon": 12.037
} }
] ]
} }

View File

@ -34,7 +34,7 @@
"location": [ "location": [
{ {
"lat": 51.176178, "lat": 51.176178,
"long": 7.189986 "lon": 7.189986
} }
] ]
} }

View File

@ -42,7 +42,7 @@
"location": [ "location": [
{ {
"lat": 49.68, "lat": 49.68,
"long": 10.96 "lon": 10.96
} }
] ]
} }

View File

@ -34,7 +34,7 @@
"location": [ "location": [
{ {
"lat": 49.252047, "lat": 49.252047,
"long": 11.091189 "lon": 11.091189
} }
] ]
} }

View File

@ -42,7 +42,7 @@
"location": [ "location": [
{ {
"lat": 47.873644, "lat": 47.873644,
"long": 12.743185 "lon": 12.743185
} }
] ]
} }

View File

@ -42,19 +42,19 @@
"location": [ "location": [
{ {
"lat": 50.279855, "lat": 50.279855,
"long": 11.783019 "lon": 11.783019
}, },
{ {
"lat": 50.259117, "lat": 50.259117,
"long": 11.740018 "lon": 11.740018
}, },
{ {
"lat": 50.28852, "lat": 50.28852,
"long": 11.680795 "lon": 11.680795
}, },
{ {
"lat": 50.293729, "lat": 50.293729,
"long": 11.73813 "lon": 11.73813
} }
] ]
} }

View File

@ -42,7 +42,7 @@
"location": [ "location": [
{ {
"lat": 49.575217, "lat": 49.575217,
"long": 11.337566 "lon": 11.337566
} }
] ]
} }

View File

@ -34,7 +34,7 @@
"location": [ "location": [
{ {
"lat": 50.221, "lat": 50.221,
"long": 11.932 "lon": 11.932
} }
] ]
} }

View File

@ -42,7 +42,7 @@
"location": [ "location": [
{ {
"lat": 50.04499, "lat": 50.04499,
"long": 10.23419 "lon": 10.23419
} }
] ]
} }

View File

@ -34,7 +34,7 @@
"location": [ "location": [
{ {
"lat": 50.171, "lat": 50.171,
"long": 12.131 "lon": 12.131
} }
] ]
} }

View File

@ -42,19 +42,19 @@
"location": [ "location": [
{ {
"lat": 50.29925296, "lat": 50.29925296,
"long": 11.71866989 "lon": 11.71866989
}, },
{ {
"lat": 50.2926733, "lat": 50.2926733,
"long": 11.77840805 "lon": 11.77840805
}, },
{ {
"lat": 50.34002657, "lat": 50.34002657,
"long": 11.81085205 "lon": 11.81085205
}, },
{ {
"lat": 50.31975374, "lat": 50.31975374,
"long": 11.72914123 "lon": 11.72914123
} }
] ]
} }

View File

@ -30,5 +30,11 @@
"upgrade_path": "http://[fd43:5602:29bd:ffff::feee]:83", "upgrade_path": "http://[fd43:5602:29bd:ffff::feee]:83",
"ntp_ip": "fd43:5602:29bd:ffff::42", "ntp_ip": "fd43:5602:29bd:ffff::42",
"timestamp": 1596227702 "timestamp": 1596227702
} },
} "location": [
{
"lat": 0,
"lon": 0
}
]
}

View File

@ -34,27 +34,27 @@
"location": [ "location": [
{ {
"lat": 50.208164, "lat": 50.208164,
"long": 11.836996 "lon": 11.836996
}, },
{ {
"lat": 50.185527, "lat": 50.185527,
"long": 11.837425 "lon": 11.837425
}, },
{ {
"lat": 50.176348, "lat": 50.176348,
"long": 11.832361 "lon": 11.832361
}, },
{ {
"lat": 50.175799, "lat": 50.175799,
"long": 11.855621 "lon": 11.855621
}, },
{ {
"lat": 50.184098, "lat": 50.184098,
"long": 11.859226 "lon": 11.859226
}, },
{ {
"lat": 50.208164, "lat": 50.208164,
"long": 11.856909 "lon": 11.856909
} }
] ]
} }

View File

@ -34,7 +34,7 @@
"location": [ "location": [
{ {
"lat": 49.79688, "lat": 49.79688,
"long": 9.93489 "lon": 9.93489
} }
] ]
} }

View File

@ -34,19 +34,19 @@
"location": [ "location": [
{ {
"lat": 50.145061, "lat": 50.145061,
"long": 11.801462 "lon": 11.801462
}, },
{ {
"lat": 50.122284, "lat": 50.122284,
"long": 11.801462 "lon": 11.801462
}, },
{ {
"lat": 50.122284, "lat": 50.122284,
"long": 11.832361 "lon": 11.832361
}, },
{ {
"lat": 50.145061, "lat": 50.145061,
"long": 11.832361 "lon": 11.832361
} }
] ]
} }