help.go 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. /*
  2. * Copyright (c)2019 ZeroTier, Inc.
  3. *
  4. * Use of this software is governed by the Business Source License included
  5. * in the LICENSE.TXT file in the project's root directory.
  6. *
  7. * Change Date: 2023-01-01
  8. *
  9. * On the date above, in accordance with the Business Source License, use
  10. * of this software will be governed by version 2.0 of the Apache License.
  11. */
  12. /****/
  13. package cli
  14. import (
  15. "fmt"
  16. "zerotier/pkg/zerotier"
  17. )
  18. var copyrightText = fmt.Sprintf(`ZeroTier Network Virtualization Service Version %d.%d.%d
  19. (c)2019 ZeroTier, Inc.
  20. Licensed under the ZeroTier BSL (see LICENSE.txt)`, zerotier.CoreVersionMajor, zerotier.CoreVersionMinor, zerotier.CoreVersionRevision)
  21. // Help dumps help to stdout
  22. func Help() {
  23. fmt.Println(copyrightText)
  24. fmt.Println(`
  25. Usage: zerotier [-options] <command> [command args]
  26. Global Options:
  27. -j Output raw JSON where applicable
  28. -p <path> Use alternate base path
  29. -t <path> Use secret auth token from this file
  30. Commands:
  31. help Show this help
  32. version Print version
  33. selftest Run internal tests
  34. service [mode] Start as service (default mode: node)
  35. node Start in normal node mode (default)
  36. root [options] Start in root server mode (see docs)
  37. status Show ZeroTier status and config
  38. peers Show VL1 peers
  39. roots Show configured VL1 root servers
  40. addroot <url|identity> [ip/port] [...] Add VL1 root server
  41. removeroot <identity|address> Remove VL1 root server
  42. identity <command> [args] Identity management commands
  43. new [c25519|p384] Create identity (including secret)
  44. getpublic <identity> Extract only public part of identity
  45. validate <identity> Locally validate an identity
  46. sign <identity> <file> Sign a file with an identity's key
  47. verify <identity> <file> <sig> Verify a signature
  48. networks List joined VL2 virtual networks
  49. network <network ID> Show verbose network info
  50. join <network ID> Join a virtual network
  51. leave <network ID> Leave a virtual network
  52. set <network ID> <option> <value> Set a network local config option
  53. manageips <boolean> Is IP management allowed?
  54. manageroutes <boolean> Is route management allowed?
  55. globalips <boolean> Allow assignment of global IPs?
  56. globalroutes <boolean> Can global IP space routes be set?
  57. defaultroute <boolean> Can default route be overridden?
  58. set <local config option> <value> Set a local configuration option
  59. phy <IP/bits> blacklist <boolean> Set or clear blacklist for CIDR
  60. phy <IP/bits> trust <path ID/0> Set or clear trusted path ID for CIDR
  61. virt <address> try <IP/port> [...] Set explicit IPs for reaching a peer
  62. port <port> Set primary local port for VL1 P2P
  63. secondaryport <port/0> Set or disable secondary VL1 P2P port
  64. tertiaryport <port/0> Set or disable tertiary VL1 P2P port
  65. portsearch <boolean> Set or disable port search on startup
  66. portmapping <boolean> Set or disable use of uPnP/NAT-PMP
  67. Most commands require a secret token to permit control of a running ZeroTier
  68. service. The CLI will automatically try to read this token from the
  69. authtoken.secret file in the service's working directory and then from a
  70. file called .zerotierauth in the user's home directory. The -t option can be
  71. used to explicitly specify a location.`)
  72. fmt.Println()
  73. }