2
0
Adam Ierymenko 29ba34ab7c Kill old testnet stuff, update main.cpp for new SocketManager abstraction. 11 жил өмнө
..
supernodes be6b61b1bc Accept supernode dictionaries in Topology, also fix (unused) field name in one of these. 11 жил өмнө
Makefile 673aab5ba2 Fix an oversight in signed dictionaries: the timestamp and signing identity should themselves be part of the signature. Also include the raw dictionary in addition to the bin2c version in root-topology/ 11 жил өмнө
README.md dcea212e40 Add noupdate flag in root topologies, add ability for mktopology to read from a template. 11 жил өмнө
ZT_DEFAULT_ROOT_TOPOLOGY.c 56296f96db Regenerate root topology dictionary with field fix. 11 жил өмнө
ZT_DEFAULT_ROOT_TOPOLOGY.dict 56296f96db Regenerate root topology dictionary with field fix. 11 жил өмнө
bin2c.c e77e224171 bin2c warning removed 11 жил өмнө
mktopology.cpp dcea212e40 Add noupdate flag in root topologies, add ability for mktopology to read from a template. 11 жил өмнө

README.md

This folder contains the source files to compile the signed network root topology dictionary. Users outside ZeroTier won't find this useful except for testing, since the root topology must be signed by the root topology authority (public identity in root-topology-authority.public) to be considered valid.

Keys in the root topology dictionary are:

  • supernodes: contains another Dictionary mapping supernode address to supernode definition
    • ##########: supernode address, contains supernode definition
      • id: supernode identity (public) in string-serialized format
      • udp: comma-delimited list of ip/port UDP addresses of node
      • tcp: comma-delimited list of ip/port TCP addresses of node
      • desc: human-readable description (optional)
      • dns: DNS name (optional, not currently used for anything)
  • noupdate: if the value of this is '1', do not auto-update from ZeroTier's servers

ZT_DEFAULT_ROOT_TOPOLOGY.c contains the current default value, and this URL is periodically checked for updates:

http://download.zerotier.com/net/topology/ROOT

Obviously nothing prevents OSS users from replacing this topology with their own, changing the hard coded topology signing identity and update URL in Defaults, and signing their own dictionary. But doing so would yield a network that would have a tough(ish) time talking to the main one. Since the main network is a free service, why bother? (Except for building testnets, which ZeroTier already does for internal testing.)