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.
 
 
 
 
 
 
Luke Souter a6d2e80b08
Merge branch 'dev' into update-readme
6 months ago
.github add 'apt update' to validation action, as prior runs have started failing due to a stale package cache 8 months ago
artwork Added 90x90 AppIcon 7 years ago
attic/historic cleanup 8 months ago
ci new drone bits 3 years ago
debian License stuff, version bump, CLI output. 7 months ago
doc Fix minor spelling errors in docs 2 years ago
ext Advanced installer update. 6 months ago
include Make encrypted HELLO a local.conf setting -- 99.999999% of users do not need it and it introduces scalability problems on large controllers. 7 months ago
java Fix JNI after `ZT_Node_New` function signature change 6 months ago
node Removing this, which was suggested by a linter, turns out to break things by breaking equality comparison. The NetworkConfig struct would have to be re-implemented in a more modern way to allow the compiler to properly generate comparison operators, which is not important right now. 7 months ago
nonfree Merge branch 'dev' of github.com:/zerotier/ZeroTierOne into adam/1.16 7 months ago
osdep Merge pull request #2493 from jfly/add-warning-about-allowDNS-on-linux 6 months ago
pkg Merge branch 'dev' into ChrisCarini/addArchToSynologyDSM7 2 years ago
rule-compiler Rest -> MPL except controller. 7 months ago
rustybits bump rust versions per bot recommendation. 6 months ago
service Merge pull request #2489 from SwarmboticsAI/fix-link-select-cli 6 months ago
tcp-proxy Rest -> MPL except controller. 7 months ago
windows Enable controller on production Windows builds. 6 months ago
.clang-format clang-format this branch 9 months ago
.clangd Remove antique software updater code. It has not been used in many years, is not something we intend to use, and might in theory be an attack vector if someone found a problem with it. Better for it not to be there. 7 months ago
.dockerignore can now build centos8 docker container with Redis support 6 years ago
.gitattributes force eol=crlf for driver .inf files 5 years ago
.gitignore Merge github/dev 7 months ago
CMakeLists.txt Removed build flag in CMake script 8 years ago
Dockerfile.ci more RELEASE-NOTES 5 years ago
Dockerfile.release add `make docker-release` command & update dockerfile 1 year ago
LICENSE-MPL.txt License files. 7 months ago
LICENSE.txt License files. 7 months ago
Makefile Move controller/ into nonfree/controller and update references 8 months ago
OFFICIAL-RELEASE-STEPS.md clean out some stuff 2 years ago
README.docker.md Allow setting local.conf content from Docker environment variable 12 months ago
README.md Update README.md 6 months ago
RELEASE-NOTES.md Add merged PRs. 6 months ago
SECURITY.md cleanup 8 months ago
cycle_controllers.sh add application_name to pgbouncer connectio string 7 years ago
entrypoint.sh.release Allow setting local.conf content from Docker environment variable 12 months ago
make-bsd.mk Add -Iext/opentelemetry-cpp-api-only/include for BSD 7 months ago
make-linux.mk Make nonfree the official build for Linux. 6 months ago
make-mac.mk messages for non-free builds 6 months ago
make-netbsd.mk Add -Iext/opentelemetry-cpp-api-only/include for BSD 7 months ago
objects-nonfree.mk Add conditional compilation of controller. 7 months ago
objects.mk Add conditional compilation of controller. 7 months ago
one.cpp messages for non-free builds 6 months ago
selftest.cpp License stuff, version bump, CLI output. 7 months ago
update_controllers.sh update docker registry used 7 years ago
version.h License stuff, version bump, CLI output. 7 months ago
windows-clean.bat Revise Windows build to VS2022. 4 years ago
zerotier-cli-completion.bash Create a bash completion script. 6 years ago
zerotier-one.spec License stuff, version bump, CLI output. 7 months ago

README.md

ZeroTier - Global Area Networking

ZeroTier - Global Area Networking

ZeroTier is a smart programmable Ethernet switch for planet Earth. It allows all networked devices, VMs, containers, and applications to communicate as if they all reside in the same physical data center or cloud region.

This is accomplished by combining a cryptographically addressed and secure peer-to-peer network (termed VL1) with an Ethernet emulation layer somewhat similar to VXLAN (termed VL2). Our VL2 Ethernet virtualization layer includes advanced enterprise SDN features like fine grained access control rules for network micro-segmentation and security monitoring.

All ZeroTier traffic is encrypted end-to-end using secret keys that only you control. Most traffic flows peer-to-peer, though we offer free (but slow) relaying for users who cannot establish peer-to-peer connections.

Visit ZeroTier’s site or ZeroTier's documentation for more information and pre-built binary packages. Apps for Android and iOS are available for free in the Google Play and Apple app stores.

Project Layout

  • artwork/: icons, logos, etc.

  • attic/: old stuff and experimental code that we want to keep around for reference.

  • controller/: the reference network controller implementation, which is built and included by default on desktop and server build targets.

  • debian/: files for building Debian packages on Linux.

  • doc/: manual pages and other documentation.

  • ext/: third party libraries, binaries that we ship for convenience on some platforms (Mac and Windows), and installation support files.

  • include/: include files for the ZeroTier core.

  • java/: a JNI wrapper used with our Android mobile app.

  • node/: the ZeroTier virtual Ethernet switch core. Note: do not use C++11 features in here, since we want this to build on old embedded platforms.

  • osdep/: code to support and integrate with OSes, including platform-specific stuff only built for certain targets.

  • rule-compiler/: JavaScript rules language compiler for defining network-level rules.

  • service/: the ZeroTier One service, which wraps the ZeroTier core and provides VPN-like connectivity to virtual networks.

  • windows/: Visual Studio solution files, Windows service code, and the Windows task bar app UI.

  • zeroidc/: OIDC implementation used by ZeroTier service to log into SSO-enabled networks. (Written in Rust)

License

ZeroTier is licensed under the BSL version 1.1. See LICENSE.txt and the ZeroTier pricing page for details. 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 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.).

Additional Resources