libzt

Library version of ZeroTier

  • Owner: zerotier/libzt
  • Platform:
  • License:: Other
  • Category::
  • Topic:
    p2p
  • Like:
    0
      Compare:

Github stars Tracking Chart

ZeroTier SDK (libzt, libztcore)

Library edition of ZeroTier


The ZeroTier SDK is composed of two libraries: libztcore which is the platform-agnostic network hypervisor, and libzt which is the network hypervisor paired with a userspace network stack. libzt is a superset of libztcore and is distinguished by the fact that it exposes a standard socket API and simple network control API. With these libraries the stack and virtual link are exclusive to your app and traffic is fully encrypted via the Salsa20 cipher. For a more in-depth discussion on the technical side of ZeroTier, check out our Manual


Downloads / Installation

Tarballs:

Homebrew

brew install libzt

Example

#include "ZeroTier.h"

void myZeroTierEventCallback(struct zts_callback_msg *msg)
{
    switch (msg->eventCode)
    {
        //
    }
}

int main()
{
    zts_start("yourConfig/key/path", &myZeroTierEventCallback, 9994);
    zts_join(0x0123456789abcdef);
    zts_socket(ZTS_AF_INET, ZTS_SOCK_STREAM, 0);
    zts_connect(fd, (const struct sockaddr *)&addr, sizeof(addr));
    zts_write(fd, "welcome to the machine", 22);
    zts_close(fd);
    zts_stop();
    return 0;
}

...

After you've created a virtual network and added its nwid to the sample code, run:

clang++ example.cpp -o example -lzt
./example

The complete API specification can be found here: API.md


Build from source

Build scripts use a combination of make, and cmake. To retrieve sources for all submodules, patch them, and build all targets (debug and release) for your host machine, issue the following:

make update
make patch
make all

All build targets can be seen by using make list.

Resultant libraries will be placed in lib, test and example programs will be placed in bin.


Commercial License

If you want a commercial license to use the ZeroTier SDK in your product contact us directly via contact@zerotier.com

Main metrics

Overview
Name With Ownerzerotier/libzt
Primary LanguageC++
Program languageShell (Language Count: 13)
Platform
License:Other
所有者活动
Created At2016-07-18 22:40:55
Pushed At2024-11-07 22:06:48
Last Commit At
Release Count40
Last Release Name1.8.10 (Posted on 2022-06-01 15:36:48)
First Release Name0.2.0 (Posted on 2017-06-06 15:01:54)
用户参与
Stargazers Count219
Watchers Count15
Fork Count65
Commits Count1.4k
Has Issues Enabled
Issues Count185
Issue Open Count64
Pull Requests Count74
Pull Requests Open Count5
Pull Requests Close Count18
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private