hyperboria / peers

A geographically sorted list of public peering credentials for joining Hyperboria
200 stars 74 forks source link

Add GeoJSON for Public Peer Location #25

Open ghost opened 8 years ago

ghost commented 8 years ago

Adding more metadata on where peers are would assist in third-party mapping of the CJDNS network using openstreetmap mashups.

For example, fc00.org could add a map background and root known nodes before calculating force layout, representing known nodes with "pins" and location-unknown nodes as "clouds".

For this data, would have to insist that the geo-mapping match the actual location of the server and not the server operator, because someone hosting a VPS in a datacentre might accidentally add their location as operator.

It would also be helpful to correlate this map with a public database of significant clearnet infrastructure. For example, in Cork, Ireland I'm thinking of approaching a local datacentre to suggest a Cork CJDNS node on which to build a local network, which would then be adjacent to several inbound oceanic cables/fibres. It'd be cool for the map to present this data so that international peering negotiations between nodes could have more useful visual data attached. If you ask to peer with me and I observe that you're connected through some fat pipes that'll improve the network, that's a big argument in favour of agreeing.

Kubuxu commented 8 years ago

It fits more nodeinfo.json which suggested format already includes geographic position.

ghost commented 8 years ago

I saw that in the spec, but noted that nobody in the peers list included it. I've since noticed the overflow bug, so perhaps that's why.

My reasoning was, if nobody's following the spec yet, now would be a good time to change the spec to an existing standard like geojson, which would allow consumers of the information to use libraries in their own languages easily. IIRC, GeoJSON supports several different formats, some of which are pretty simple and straightforward to fill in.

However, with the 404 bug, I can see why nobody's bothering right now..

ghost commented 8 years ago

..found this: https://github.com/waaghals/Hyperboria-Map

Which is turning the idea on its head; have a geographical map of GeoJSON that contains NodeInfos instead of the other way around. That would solve the buffer issue, I suppose.

But, from a mindshare/platform point of view, this repository has more data than Hyperboria-Map. Although, they do have a dataset of NL datacentres, so they're clearly thinking along the same lines; helping to make the equivalence of Clearnet vs. CJDNS more explicit to assist in peering strategy, particularly given the Horizon issue.

Kubuxu commented 8 years ago

nodeinfo.json is something different. It is file that is supposed to be hosted via HTTP on each node (look at http://[fc88:c649:1d80:e13f:4206:4b3e:e1e3:bc37]/nodeinfo.json). It doesn't include location specification but I might add it right now.

EDIT: I've added location to my node. EDIT: Peers repo is for public/open peers listing, additional informations should be IMHO included in in nodeinfo.json or other database.

ghost commented 8 years ago

(Heh, I'm not on cjdns/hyperboria yet, I'm looking at bootstrapping a localnet and then peering internationally, which is how I found all this stuff) :)

Kubuxu commented 8 years ago

Here is how nodeinfo.json looks in my case: http://hastebin.com/raw/uxofubibow

Here is general specification: https://github.com/hyperboria/docs/blob/master/cjdns/nodeinfo-json.md

ghost commented 8 years ago

Cool, thanks for the pointers for info. Glad to know it is in use, if not here on the pub peer list. :)

While we're on the subject of acclimatising noobs like myself, how long is projectmeshnet.org likely to be down for? Lots of links and beginner info seems to link there but the wiki's "down for maintenance" and the root domain is down completely according to cloudflare.

I'm guessing lots of information on how the various bits like CJDNS-internal DNS systems (.hype, .bit..), the apparent "spec" of using a "h." subdomain for hyperboria-servers, etcetera were all documented on that wiki but are now inaccessible from clearweb.

Kubuxu commented 8 years ago

Use https://github.com/hyperboria/docs/ for starters and get peers and talk with us on HypeIRC.

DNS part of project was hanged up, everyone uses what fits him. It will be much easier via IRC: irc://hypeirc.cjdns.ca

thefinn93 commented 8 years ago

@cathalgarvey I finally figured out the issue with projectmeshnet.org and made the guy running it fix it. It was only broken on https, leading to everyone telling me i was crazy when i asked when it was down. It's been redirecting (on http) to hyperboria.net for a while, now works on https too

ghost commented 8 years ago

Cool, thanks! Although, the wiki still appears to be dead. :)

thefinn93 commented 8 years ago

Yeah, he's "going to update that message soon" for the last month or so. It's gone. it was a shit hole of bad info written by people who didn't understand it. We asked that it be taken down, which he did, but rather than explain this he put up that absurd maintenance message.

ghost commented 8 years ago

Hm, I see the problem with bad info, but I hope the diamonds in that rough will be preserved somehow instead of vanishing into the great /dev/null in the cloud?

kpcyrd commented 8 years ago

@cathalgarvey here's an export: https://github.com/hyperboria/old-wiki

kylerchin commented 6 years ago

Hello?

wfleurant commented 6 years ago

Should we add an optional coordinates key with permitted values: lat, lon, alt
or do we really want geojson?
I'd rather see a script ./make-geojson.js which builds the geojson from the collection of documents in the repo.

ghost commented 6 years ago

If you're already creating a multi-key optional object to describe locations, why on earth create a new one instead of using GeoJSON?

On 4 December 2017 17:37:03 GMT+00:00, William Fleurant notifications@github.com wrote:

Should we add an optional coordinates key with permitted values: lat, lon, alt
or do we really want geojson?
I'd rather see a script ./make-geojson.js which builds the geojson from the collection of documents in the repo.

-- You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub: https://github.com/hyperboria/peers/issues/25#issuecomment-349040486

-- Sent from my Android device with K-9 Mail. Please excuse my brevity.

wfleurant commented 6 years ago

because adding opt-in fields to the existing design is effective. the data is bottom up, too. the peers (bottom) support projects above (up)

changing the spec now will simply break the earth.

  1. get all of the hyperboria/peers data in the repo
  2. build the FeatureCollection i. optionally omit Features based on country ii. optionally add Feature properties such as state, name, icon, style, operator, contact
  3. update hyperboria/peers with latest peers.geojson

how else would it be done?

ghost commented 6 years ago

Opt-in is fine. I meant, why invent a custom spec for location/bounding/distance instead of just using geojson?

You suggested using a custom lon/lat/other scheme, but GeoJSON has several flavours and some are very lightweight. It also comes with library support in many (most?) languages.

On 5 December 2017 02:32:17 GMT+00:00, William Fleurant notifications@github.com wrote:

because adding opt-in fields to the existing design is effective. the data is bottom up, too. the peers (bottom) support projects above (up)

changing the spec now will simply break the earth.

  1. get all of the hyperboria/peers data in the repo
  2. build the FeatureCollection i. optionally omit Features based on country ii. optionally add Feature properties such as state, name, icon, style, operator, contact
  3. update hyperboria/peers with latest peers.geojson

how else would it be done?

-- You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub: https://github.com/hyperboria/peers/issues/25#issuecomment-349175630

-- Sent from my Android device with K-9 Mail. Please excuse my brevity.

wfleurant commented 6 years ago

make a pull request and we'll see what needs to be fixed. may be the confusion is if we focus on one JSON file per node? we'd need to source a GeoJSON validator, preferably in Python re: tests.py