ZEROTIER-IDTOOL(1)

πŸ“¦ version 1.16.2, in arch rolling, nixpkgs unstable

πŸ’– zerotier-idtool β€” bestie's guide to ZeroTier identities πŸ’–

okay so real talk, zerotier-idtool is the manual page we're vibing with today, and it lives in the zerotier-idtool(1) section of the manual, so jot that down πŸ“

✨ THE NAME ✨

zerotier-idtool β€” the tool for creating and manipulating ZeroTier identities, and yes she's iconic for it πŸ’…

πŸŽ€ SYNOPSIS πŸŽ€

zerotier-idtool <command> [args]

πŸ¦‹ DESCRIPTION πŸ¦‹

so zerotier-idtool is a command line utility for doing things with ZeroTier identities, and honestly? it's giving main character energy πŸ”₯ A ZeroTier identity consists of a public/private key pair (or just the public if it's only an identity.public) and a 10-digit hexadecimal ZeroTier address derived from the public key by way of a proof of work based hash function. no cap, that's the whole vibe πŸ’œ

🌸 COMMANDS 🌸

okay before we get into it β€” when command arguments call for a public or secret (full) identity, the identity can be specified as a path to a file or directly on the command line. easy peasy 🫢

  • help β€” Display help. (Also running with no command does this, so you literally can't get lost bestie ✨)
  • generate [secret file] [public file] [vanity] β€” Generate a new ZeroTier identity. If a secret file is specified, the full identity including the private key will be written to this file. If the public file is specified, the public portion will be written there. If no file paths are specified the full secret identity is output to STDOUT. The vanity prefix is a series of hexadecimal digits that the generated identity's address should start with. Typically this isn't used, and if it's specified generation can take a very long time due to the intrinsic cost of generating identities with their proof of work function 😭 Generating an identity with a known 16-bit (4 digit) prefix on a 2.8ghz Core i5 (using one core) takes an average of two hours. two. whole. hours. πŸ’€ so maybe grab a snack before you try that one, fr fr
  • validate <identity, only public part required> β€” Locally validate an identity's key and proof of work function correspondence. it's the vibe check for your identity, slay βœ…
  • getpublic <full identity with secret> β€” Extract the public portion of an identity.secret and print to STDOUT. lowkey so useful πŸ‘‘
  • sign <full identity with secret> <file to sign> β€” Sign a file's contents with SHA512+ECC-256 (ed25519). The signature is output in hex to STDOUT. cryptographic girlypop behavior honestly πŸ”
  • verify <identity, only public part required> <file to check> <signature in hex> β€” Verify a signature created with sign. the way that it checks if your signature is actually real, obsessed πŸ’–
  • mkcom <full identity with secret> [id,value,maxdelta] [...] β€” Create and sign a network membership certificate. This is not generally useful since network controllers do this automatically and is included mostly for testing purposes. ngl it's kinda just here for the test girlies, but we respect her πŸ™ˆ

🌈 EXAMPLES 🌈

Generate and dump a new identity:

$ zerotier-idtool generate

Generate and write a new identity, both secret and public parts:

$ zerotier-idtool generate identity.secret identity.public

Generate a vanity address that begins with the hex digits "beef" (this will take a while!):

$ zerotier-idtool generate beef.secret beef.public beef
ok bestie real warning here: this will take a while! like, a while while 😭 beef is cute but she is not cheap πŸ’€

Sign a file with an identity's secret key:

$ zerotier-idtool sign identity.secret last_will_and_testament.txt

Verify a file's signature with a public key:

$ zerotier-idtool verify identity.public last_will_and_testament.txt
ngl I love the example file being called last_will_and_testament.txt, that's such a mood πŸŽ€

(c)2011-2016 ZeroTier, Inc. -- https://www.zerotier.com/ -- https://github.com/zerotier

πŸ’œ SEE ALSO πŸ’œ


alright bestie, that's the whole page πŸ’… this gem is ZEROTIER-IDTOOL(1), from back in December 2016, brought to you by the fine folks at ZeroTier β€” now go generate some identities and slay βœ¨πŸ¦‹πŸ’–

πŸ“¦ where this page comes from