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.
2017-06-14 16:59:41 -07:00
2017-05-31 13:27:20 -07:00
2017-06-05 17:15:16 -07:00
2017-06-14 16:59:41 -07:00

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.


irc

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);
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.


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=1
  • SDK_LANG_PYTHON=1
  • SDK_LANG_GO=1

Debugging flags

  • SDK_DEBUG=1 - Enable SDK library debugging
  • ZT_DEBUG=1 - Enable core ZeroTier service debugging

Tests

Description
No description provided
Readme 17 MiB
Languages
C++ 58%
C 21.6%
C# 5.8%
Java 5%
Rust 3.3%
Other 6.3%