Libzt

libzt

Product Information

Favorites

Public chat

Support Plans

There are currently no OSS plans available

If you are a provider or contributor to the repository, you can start adding your OSS plan.

Add an OSS plan
Learn more here

Contact us if you are looking for a plan for this open source.

We will help you get in touch with professional providers.

Product Details

Encrypted P2P sockets over ZeroTier

ZeroTier Sockets

Part of the ZeroTier SDK P2P cross-platform encrypted sockets library using ZeroTier
Examples | Docs | Report an issue @zerotier r/zerotier latest libzt version Last Commit Build Status (master branch)
Language/Platform Install Version Example
C/C++ Build from source version C/C++
C# Install-Package ZeroTier.Sockets C#
Python pip install libzt Python
Rust See: crates.io/crates/libzt version Rust
Java Install JDK, then: ./build.sh host-jar Java
Linux brew install zerotier/tap/libzt version C/C++
macOS brew install zerotier/tap/libzt version C/C++
iOS / iPadOS ./build.sh iphoneos-framework Objective-C, Swift
Android ./build.sh android-aar Java


``` #include "ZeroTierSockets.h" int main() { zts_node_start(); zts_net_join(net_id); int fd = zts_bsd_socket(ZTS_AF_INET, ZTS_SOCK_STREAM, 0); zts_bsd_connect(fd, ...); ... } ``` # Build from source (optional) ``` git submodule update --init ``` This project uses [CMake](https://cmake.org/download/) as a build system generator. The scripts `build.*` simplify building and packaging for various targets. There are many targets and configurations not mentioned here. |Platform| Build instructions | Notes | |:---|:---|:---| |Linux | `./build.sh host "release"`| [build.sh](./build.sh) | |macOS | `./build.sh host "release"`| [build.sh](./build.sh) | |Windows | `. .\build.ps1; Build-Host -BuildType "Release" -Arch "x64"` | [build.ps1](./build.ps1), *Requires [PowerShell](https://github.com/powershell/powershell)*| Using the `host` keyword will automatically detect the current machine type and build standard libzt for use in C/C++ (no additional language bindings.) See `./build.sh list` for additional target options. `libzt` depends on [cURL](https://github.com/curl/curl) for the optional portion of the API that interfaces with our hosted web offering ([my.zerotier.com](my.zerotier.com)). If you do not need this functionality you can omit it by passing `-DZTS_DISABLE_CENTRAL_API=1` to CMake. Example output: ``` ~/libzt/dist/macos-x64-host-release ├── bin │   ├── client │   ├── server │   └── ... └── lib ├── libzt.a └── libzt.dylib ``` Important directories: |Directory| Purpose| |:---|:---| |`dist`| Contains finished targets (libraries, binaries, packages, etc.)| |`cache`| Contains build system caches that can safely be deleted after use.| |`pkg`| Contains project, script and spec files to generate packages.| # Self-hosting If you'd like to use your own infrastructure we make it easy to [set up your own controllers and roots](https://docs.zerotier.com/self-hosting/introduction). # Help - Documentation: [docs.zerotier.com](https://docs.zerotier.com/sockets/tutorial.html) - Examples: [examples/](./examples) - Bug reports: [Open a github issue](https://github.com/zerotier/libzt/issues). - General ZeroTier troubleshooting: [Knowledgebase](https://zerotier.atlassian.net/wiki/spaces/SD/overview). - Chat with us: [discuss.zerotier.com](https://discuss.zerotier.com) # Licensing ZeroTier and the ZeroTier SDK (libzt and libztcore) are licensed under the [BSL version 1.1](./LICENSE.txt). ZeroTier is free to use internally in businesses and academic institutions and for non-commercial purposes. Certain types of commercial use such as building closed-source apps and devices based on ZeroTier or offering ZeroTier network controllers and network management as a SaaS service require a commercial license. A small amount of third party code is also included in ZeroTier and is not subject to our BSL license. See [AUTHORS.md](ext/ZeroTierOne/AUTHORS.md) for a list of third party code, where it is included, and the licenses that apply to it. All of the third party code in ZeroTier is liberally licensed (MIT, BSD, Apache, public domain, etc.). If you want a commercial license to use the ZeroTier SDK in your product contact us directly via [contact@zerotier.com](mailto:contact@zerotier.com)

Stay in touch

  • Get Practical Tips For Business and Developers.
  • Learn about PieceX Community Needs for Source Code Projects.
  • Be the First to Know PieceX Newest Free Community Code Projects.
PieceX Logo