You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Joseph Henry 6a25abb757 various bug fixes 9 years ago
api improved testing and connection handling 9 years ago
ext improved testing and connection handling 9 years ago
include improved testing and connection handling 9 years ago
src various bug fixes 9 years ago
test various bug fixes 9 years ago
zto various bug fixes 9 years ago
.gitignore API and docs update 10 years ago
Makefile various bug fixes 9 years ago
README.md various bug fixes 9 years ago
check.sh dynamic loading of network stack no longer needed 9 years ago
make-linux.mk various bug fixes 9 years ago
make-mac.mk various bug fixes 9 years ago
objects.mk dynamic loading of network stack no longer needed 9 years ago

README.md

ZeroTier SDK

irc

Embed ZeroTier directly into your app or service. Connect everything without worrying about how it's actually connected.


Example

string str = "welcome to the machine";
zts_start("./zt");
while(!zts_service_running())
	sleep(1);
zts_join_network(nwid);
int err, sockfd;
while(!zts_has_address(nwid))
	sleep(1);
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 connecting to remote host (%d)\n", err);
}
int wrote = zts_write(fd, str.c_str(), str.length());
zts_close(fd);

Bindings also exist for many popular languages.

Build Targets

Static Library

  • make static_lib: Will output to build/

Tests

  • make tests: Will output to build/tests/

Then run the comprehensive test suite with whatever configuration you need. For instance:

To run a single-test IPv4 server on port 8787:

  • Host 1: ./build/test/comprehensive c7cd7c9e1b0f52a2 simple 4 server 8787
  • Host 2: ./build/test/comprehensive c7cd7c9e1b0f52a2 simple 4 client 10.9.9.40 8787

Using Language Bindings

SDK_LANG_JAVA=1 SDK_LANG_CSHARP=1 SDK_LANG_PYTHON=1 SDK_LANG_GO=1