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.)