Be less pedantic, improve logging
This commit is contained in:
parent
f0a0237bab
commit
4dc8d11538
|
@ -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})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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"`
|
||||||
|
}
|
||||||
|
|
|
@ -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")
|
||||||
|
|
|
@ -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"`
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,7 +42,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 49.71,
|
"lat": 49.71,
|
||||||
"long": 10.89
|
"lon": 10.89
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -42,7 +42,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 49.981666,
|
"lat": 49.981666,
|
||||||
"long": 9.969662
|
"lon": 9.969662
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -42,7 +42,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 49.975661,
|
"lat": 49.975661,
|
||||||
"long": 9.146826
|
"lon": 9.146826
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -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
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -42,7 +42,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 49.50198129,
|
"lat": 49.50198129,
|
||||||
"long": 10.40405273
|
"lon": 10.40405273
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -42,7 +42,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 50.37,
|
"lat": 50.37,
|
||||||
"long": 11.62
|
"lon": 11.62
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -42,7 +42,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 49.89,
|
"lat": 49.89,
|
||||||
"long": 10.898
|
"lon": 10.898
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -42,7 +42,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 49.94814,
|
"lat": 49.94814,
|
||||||
"long": 11.580566
|
"lon": 11.580566
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -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
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -42,7 +42,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 47.873644,
|
"lat": 47.873644,
|
||||||
"long": 12.638943
|
"lon": 12.638943
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -42,7 +42,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 50.268233,
|
"lat": 50.268233,
|
||||||
"long": 10.9608003
|
"lon": 10.9608003
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -42,7 +42,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 49.058,
|
"lat": 49.058,
|
||||||
"long": 10.065
|
"lon": 10.065
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -42,7 +42,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 49.068678,
|
"lat": 49.068678,
|
||||||
"long": 10.325771
|
"lon": 10.325771
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -42,7 +42,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 49.78,
|
"lat": 49.78,
|
||||||
"long": 11.18
|
"lon": 11.18
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -42,7 +42,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 50.09652289,
|
"lat": 50.09652289,
|
||||||
"long": 10.80041885
|
"lon": 10.80041885
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -42,7 +42,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 49.581851,
|
"lat": 49.581851,
|
||||||
"long": 11.200677
|
"lon": 11.200677
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -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
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -42,7 +42,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 49.63645351,
|
"lat": 49.63645351,
|
||||||
"long": 10.97757339
|
"lon": 10.97757339
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -42,7 +42,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 49.58957114,
|
"lat": 49.58957114,
|
||||||
"long": 11.02100372
|
"lon": 11.02100372
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -42,7 +42,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 49.58934858,
|
"lat": 49.58934858,
|
||||||
"long": 10.9388
|
"lon": 10.9388
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -42,7 +42,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 50,
|
"lat": 50,
|
||||||
"long": 11.8524
|
"lon": 11.8524
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -42,7 +42,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 50.010718,
|
"lat": 50.010718,
|
||||||
"long": 11.8079
|
"lon": 11.8079
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -42,7 +42,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 50.0132,
|
"lat": 50.0132,
|
||||||
"long": 11.84792
|
"lon": 11.84792
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -42,7 +42,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 50.0522,
|
"lat": 50.0522,
|
||||||
"long": 11.7946
|
"lon": 11.7946
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -42,7 +42,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 50.0163,
|
"lat": 50.0163,
|
||||||
"long": 11.94961
|
"lon": 11.94961
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -42,7 +42,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 49.9743,
|
"lat": 49.9743,
|
||||||
"long": 11.8652
|
"lon": 11.8652
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -42,7 +42,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 49.993077,
|
"lat": 49.993077,
|
||||||
"long": 11.775884
|
"lon": 11.775884
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -42,7 +42,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 49.72,
|
"lat": 49.72,
|
||||||
"long": 11.06
|
"lon": 11.06
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -42,7 +42,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 49.94,
|
"lat": 49.94,
|
||||||
"long": 11.29
|
"lon": 11.29
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -42,7 +42,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 49.7762,
|
"lat": 49.7762,
|
||||||
"long": 11.4049
|
"lon": 11.4049
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -42,7 +42,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 49.65,
|
"lat": 49.65,
|
||||||
"long": 11.26
|
"lon": 11.26
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -42,7 +42,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 50.252,
|
"lat": 50.252,
|
||||||
"long": 11.415
|
"lon": 11.415
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -42,7 +42,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 49.4814,
|
"lat": 49.4814,
|
||||||
"long": 10.966
|
"lon": 10.966
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -42,7 +42,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 49.900258,
|
"lat": 49.900258,
|
||||||
"long": 10.347808
|
"lon": 10.347808
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -42,7 +42,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 50.031638,
|
"lat": 50.031638,
|
||||||
"long": 10.506658
|
"lon": 10.506658
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -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
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -34,7 +34,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 50.235,
|
"lat": 50.235,
|
||||||
"long": 11.716
|
"lon": 11.716
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -42,7 +42,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 49.709,
|
"lat": 49.709,
|
||||||
"long": 10.845
|
"lon": 10.845
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -42,7 +42,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 50.31478,
|
"lat": 50.31478,
|
||||||
"long": 11.912398
|
"lon": 11.912398
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -34,7 +34,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 50.136694,
|
"lat": 50.136694,
|
||||||
"long": 10.523199
|
"lon": 10.523199
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -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
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -34,7 +34,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 50.271,
|
"lat": 50.271,
|
||||||
"long": 11.847
|
"lon": 11.847
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -42,7 +42,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 49.518,
|
"lat": 49.518,
|
||||||
"long": 11.281
|
"lon": 11.281
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -34,7 +34,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 50.294,
|
"lat": 50.294,
|
||||||
"long": 11.797
|
"lon": 11.797
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -42,7 +42,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 50.395,
|
"lat": 50.395,
|
||||||
"long": 11.687
|
"lon": 11.687
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -42,7 +42,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 50.144,
|
"lat": 50.144,
|
||||||
"long": 11.055
|
"lon": 11.055
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -34,7 +34,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 50.0023,
|
"lat": 50.0023,
|
||||||
"long": 12.0786
|
"lon": 12.0786
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -34,7 +34,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 49.84,
|
"lat": 49.84,
|
||||||
"long": 9.3
|
"lon": 9.3
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -34,7 +34,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 49.348265,
|
"lat": 49.348265,
|
||||||
"long": 9.113524
|
"lon": 9.113524
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -42,7 +42,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 50.182,
|
"lat": 50.182,
|
||||||
"long": 11.788
|
"lon": 11.788
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -50,7 +50,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 50.328488,
|
"lat": 50.328488,
|
||||||
"long": 11.705781
|
"lon": 11.705781
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -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
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -42,7 +42,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 49.444,
|
"lat": 49.444,
|
||||||
"long": 11.05
|
"lon": 11.05
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -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
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -42,7 +42,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 49.7581,
|
"lat": 49.7581,
|
||||||
"long": 11.5401
|
"lon": 11.5401
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -34,7 +34,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 50.248,
|
"lat": 50.248,
|
||||||
"long": 12.037
|
"lon": 12.037
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -34,7 +34,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 51.176178,
|
"lat": 51.176178,
|
||||||
"long": 7.189986
|
"lon": 7.189986
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -42,7 +42,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 49.68,
|
"lat": 49.68,
|
||||||
"long": 10.96
|
"lon": 10.96
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -34,7 +34,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 49.252047,
|
"lat": 49.252047,
|
||||||
"long": 11.091189
|
"lon": 11.091189
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -42,7 +42,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 47.873644,
|
"lat": 47.873644,
|
||||||
"long": 12.743185
|
"lon": 12.743185
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -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
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -42,7 +42,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 49.575217,
|
"lat": 49.575217,
|
||||||
"long": 11.337566
|
"lon": 11.337566
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -34,7 +34,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 50.221,
|
"lat": 50.221,
|
||||||
"long": 11.932
|
"lon": 11.932
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -42,7 +42,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 50.04499,
|
"lat": 50.04499,
|
||||||
"long": 10.23419
|
"lon": 10.23419
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -34,7 +34,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 50.171,
|
"lat": 50.171,
|
||||||
"long": 12.131
|
"lon": 12.131
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -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
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -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
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -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
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -34,7 +34,7 @@
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
"lat": 49.79688,
|
"lat": 49.79688,
|
||||||
"long": 9.93489
|
"lon": 9.93489
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -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
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
Loading…
Reference in New Issue