This repository has been archived on 2025-09-14 . You can view files and clone it, but cannot push or open issues or pull requests.
d3e0a115174d81eb1ad0ca7b98289f46f56da60f
libzt
Embed ZeroTier directly into your app
ZeroTier makes it easy to securely connect devices, servers, cloud VMs, containers, and apps everywhere and manage them at scale. Now, with libzt you can bake this ability directly into your app or service using your preferred language or framework. We provide a BSD socket-like API to make the integration simple.
Pre-Built Binaries Here: zerotier.com/download.shtml.
Example
#include "libzt.h"
char *str = "welcome to the machine";
char *nwid = "c7cd7c9e1b0f52a2";
zts_simple_start("./zt", nwid);
fd = zts_socket(AF_INET, SOCK_STREAM, 0);
zts_connect(fd, (const struct sockaddr *)addr, sizeof(addr));
zts_write(fd, str, strlen(str));
zts_close(fd);
Bindings for other languages and platforms.
Building
All build targets will output to build/.
Static Library
make static_lib
iOS App Framework
make ios_app_framework
macOS App Framework
make macos_app_framework
Using Language Bindings
SDK_LANG_JNI=1: Enable JNI bindings for Java (produces a shared library)SDK_LANG_CSHARP=1SDK_LANG_PYTHON=1SDK_LANG_GO=1
Debugging flags
SDK_DEBUG=1- For debugging libztZT_DEBUG=1- For debugging the ZeroTier core protocol
Tests
- See TESTING.md
Description
Languages
C++
58%
C
21.6%
C#
5.8%
Java
5%
Rust
3.3%
Other
6.3%