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.
f5de570334cde92434b6bf24859eb8a7ebd6fca0
ZeroTier SDK: 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 the SDK you can bake this ability directly into your application or service using your preferred language. We provide a BSD socket-like API to make the integration simple.
Pre-Built Binaries Here: zerotier.com/download.shtml.
Example
char *str = "welcome to the machine";
char *nwid = "c7cd7c9e1b0f52a2";
zts_simple_start("./zt", nwid);
if((fd = zts_socket(AF_INET, SOCK_STREAM, 0)) < 0) {
printf("error creating ZeroTier socket");
}
if((err = zts_connect(fd, (const struct sockaddr *)addr, sizeof(addr))) < 0) {
printf("error (%d) connecting to remote host\n", err);
}
int wrote = zts_write(fd, str, strlen(str));
zts_close(fd);
Bindings also exist for many popular languages and platforms.
Static Library
make static_lib SDK_IPV4=1: Will output tobuild/
iOS App Framework
make ios_app_framework SDK_IPV4=1: Will output tobuild/
macOS App Framework
make macos_app_framework SDK_IPV4=1: Will output tobuild/
IP version flags
SDK_IPV4=1SDK_IPV6=1
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- Enable SDK library debuggingZT_DEBUG=1- Enable core ZeroTier service debugging
Tests
- See TESTING.md
Description
Languages
C++
58%
C
21.6%
C#
5.8%
Java
5%
Rust
3.3%
Other
6.3%