help.go 3.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  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. service Start in system service mode
  34. status Show ZeroTier service status and config
  35. peers Show VL1 peers
  36. roots Show configured VL1 root servers
  37. addroot <identity> Add VL1 root server
  38. removeroot <identity|address> Remove VL1 root server
  39. identity <command> [args] Identity management commands
  40. new [c25519|p384] Create new identity (including secret)
  41. getpublic <identity> Extract only public part of identity
  42. validate <identity> Locally validate an identity
  43. sign <identity> <file> Sign a file with an identity's key
  44. verify <identity> <file> <sig> Verify a signature
  45. networks List joined VL2 virtual networks
  46. network <network ID> Show verbose network info
  47. join <network ID> Join a virtual network
  48. leave <network ID> Leave a virtual network
  49. set <network ID> <option> <value> Set a network local config option
  50. manageips <boolean> Is IP management allowed?
  51. manageroutes <boolean> Is route management allowed?
  52. globalips <boolean> Can IPs in global IP space be managed?
  53. globalroutes <boolean> Can global IP space routes be set?
  54. defaultroute <boolean> Can default route be overridden?
  55. set <local config option> <value> Set a local configuration option
  56. phy <IP/bits> blacklist <boolean> Set or clear blacklist for CIDR
  57. phy <IP/bits> trust <path ID/0> Set or clear trusted path ID for CIDR
  58. virt <address> try <IP/port> [...] Set explicit IPs for reaching a peer
  59. port <port> Set primary local port for VL1 P2P
  60. secondaryport <port/0> Set or disable secondary VL1 P2P port
  61. tertiaryport <port/0> Set or disable tertiary VL1 P2P port
  62. portsearch <boolean> Set or disable port search on startup
  63. portmapping <boolean> Set or disable use of uPnP and NAT-PMP
  64. explicitaddresses <IP/port> [...] Set explicit external IPs to advertise
  65. Most commands require a secret token to permit control of a running ZeroTier
  66. service. The CLI will automatically try to read this token from the
  67. authtoken.secret file in the service's working directory and then from a
  68. file called .zerotierauth in the user's home directory. The -t option can be
  69. used to explicitly specify a location.`)
  70. fmt.Println()
  71. }