ZeroTier One

ZeroTier One is our network endpoint service. It makes ZeroTier virtual networks available to desktops, laptops, servers/VMs, and mobile devices as VPN connections or virtual network (tun/tap) ports.

The latest version of ZeroTier One is 1.1.14.

Source code is available on GitHub.

Binary Downloads

Windows .MSI | 7+ | Intel 32/64-bit

Windows XP is not supported as it is missing several required network API functions. Vista and Server 2008 may work but are not officially supported. On these versions a reboot may be required after install, and the GUI may not work. If the GUI is not available, you can use the command line interface by opening an administrator-mode console, changing to \ProgramData\ZeroTier\One, and running "zerotier-one.exe -q" to access CLI functionality.

Macintosh OSX .PKG | 10.7+ | Intel 64-bit

To cleanly uninstall ZeroTier One for Macintosh, open a terminal and type: sudo "/Library/Application Support/ZeroTier/One/uninstall.sh"

Linux | RPM/DEB Based Distributions | Intel 32/64-bit (and ARM on Debian/Raspbian)

Linux packages are now kept in our own APT and YUM repositories. You can install our repository and the zerotier-one package with the simple one-line command:

curl -s https://install.zerotier.com/ | bash

For a more secure GPG-checked option use these two commands (gpg required):

curl -s https://raw.githubusercontent.com/zerotier/ZeroTierOne/master/doc/contact%40zerotier.com.gpg | gpg --import
curl -s https://install.zerotier.com/ | gpg --output - >/tmp/zt-install.sh && bash /tmp/zt-install.sh

Our script contains an embedded GPG signature which the second command verifies before executing the installer. The key should have the fingerprint and date 4096R/23E52A61 2016-06-02 and may also be found at pgp.mit.edu.

Alternative installation instructions for those who want to manually add the repository are coming shortly, and we have several maintainers working to add zerotier-one to several upstream Linux distributions too!

iOS | iPhone/iPad/iPod | ARM -> via Apple App Store

Android -> via Google Play Store

FreeBSD -> "pkg install zerotier" since FreeBSD 10.0

Using the Desktop UI (Mac/Windows)

The UI is designed to make joining and leaving virtual networks as easy as joining and leaving chat rooms or conference calls.

At the bottom is shown your 10-digit device address, connection status, and software version. Connection status may be ONLINE, TUNNELED, or OFFLINE. TUNNELED means your traffic is being sent via one of our TCP relay servers. This is the slowest mode of operation, and is made available to ensure functionality behind highly restrictive firewalls that only permit TCP traffic over well-known ports (we use 443/https). See our technical FAQ for more information about how to remedy this if you have control over your network environment.

Network status will initially show REQUESTING_CONFIGURATION, followed by OK or ACCESS_DENIED. If you see ACCESS_DENIED it means that the administrator of this network must authorize your device. PORT_ERROR may be shown if there is a problem with your installation or operating system, such as a missing driver, or if you exceed 32 networks on Macintosh computers.

For each network, a new device is created on your computer. These will be visible in the Windows 'Network Connections' dialog, and on Mac or Linux via the 'ifconfig' terminal command.

Using the Command Line Interface

The 'zerotier-cli' command line interface is available on Macintosh, Linux, and FreeBSD systems. It may also be accessed under Windows by running '/ProgramData/ZeroTier/One/zerotier-one.exe' with the '-q' (query) option.

Under the hood, the CLI program queries the running ZeroTier One service via its local JSON API. See the linked documentation on GitHub for information about this API and how to authenticate to it and query it from other programs that support http/JSON.

Run 'zerotier-cli' with no options for help. Basic commands offer the same functionality as the GUI. By default the CLI outputs easy to parse tabular data. The '-j' option can be used to instead output the raw JSON response from the running service.