A Smart Ethernet Switch for Earth
Find a file
2025-11-12 16:17:03 -08:00
.github set --provenance false on docker build to try and fix docker image creation issue 2025-11-12 16:17:03 -08:00
artwork
attic/historic cleanup 2025-07-31 11:09:09 -04:00
ci new drone bits 2023-03-31 16:29:18 +02:00
cmake apply patch to libnatpmp repo so we can compile on macOS with CMake 2025-09-06 15:01:48 -07:00
debian Include controller on debian. 2025-09-12 19:17:11 -04:00
doc Fix minor spelling errors in docs 2024-03-22 20:43:46 -07:00
ext Merge branch 'dev' into gl/ctl-pubsub 2025-10-06 16:55:28 -07:00
include Make encrypted HELLO a local.conf setting -- 99.999999% of users do not need it and it introduces scalability problems on large controllers. 2025-08-12 12:34:54 -04:00
java Fix JNI after ZT_Node_New function signature change 2025-09-11 07:36:25 -07:00
node Merge branch 'dev' into gl/ctl-pubsub 2025-11-06 10:01:11 -08:00
nonfree controller build readme update 2025-11-11 18:40:58 -08:00
osdep Merge branch 'dev' into gl/ctl-pubsub 2025-10-06 16:55:28 -07:00
pkg Merge branch 'dev' into ChrisCarini/addArchToSynologyDSM7 2024-06-01 03:22:38 -07:00
rule-compiler Rest -> MPL except controller. 2025-08-06 12:16:44 -04:00
rustybits dont NACK failed messages. That gets us into a loop of failing the same messages over and over again 2025-10-09 14:34:24 -07:00
service Enable cross-service propagation of otel trace metadata 2025-10-30 13:47:50 +01:00
tcp-proxy Rest -> MPL except controller. 2025-08-06 12:16:44 -04:00
tmp misc bugfixes 2025-09-06 12:37:28 -07:00
windows Merge branch 'dev' into gl/ctl-pubsub 2025-10-06 16:55:28 -07:00
.clang-format clang format change (not applied project-wide yet) 2025-08-28 17:00:06 -07:00
.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. 2025-08-08 13:21:38 -04:00
.dockerignore
.gitattributes
.gitignore Merge branch 'adam/1.16' into gl/ctl-pubsub 2025-09-01 16:47:55 -07:00
build.md added build.md 2025-09-18 14:29:09 -07:00
build_central_controller.sh Update central controller build to use CMake + conda 2025-08-27 16:23:02 -07:00
CMakeLists.txt fix typo in cmake file 2025-09-08 08:53:35 -07:00
conda_env_build.yml trying to build in a docker container 2025-09-04 14:02:58 -07:00
conda_env_run.yml trying to build in a docker container 2025-09-04 14:02:58 -07:00
cycle_controllers.sh
Dockerfile.ci
Dockerfile.release add make docker-release command & update dockerfile 2024-10-02 12:59:21 -07:00
entrypoint.sh.release Allow setting local.conf content from Docker environment variable 2025-03-26 11:23:46 -07:00
LICENSE-MPL.txt License files. 2025-08-21 10:39:25 -04:00
LICENSE.txt License files. 2025-08-21 10:39:25 -04:00
make-bsd.mk Add -Iext/opentelemetry-cpp-api-only/include for BSD 2025-08-25 14:16:56 -07:00
make-linux.mk Merge branch 'dev' into gl/ctl-pubsub 2025-10-06 16:55:28 -07:00
make-mac.mk Merge branch 'dev' into gl/ctl-pubsub 2025-10-06 16:55:28 -07:00
make-netbsd.mk Add -Iext/opentelemetry-cpp-api-only/include for BSD 2025-08-25 14:16:56 -07:00
Makefile Move controller/ into nonfree/controller and update references 2025-07-30 14:18:36 -04:00
objects-nonfree.mk Add conditional compilation of controller. 2025-08-21 09:55:08 -04:00
objects.mk Add conditional compilation of controller. 2025-08-21 09:55:08 -04:00
OFFICIAL-RELEASE-STEPS.md clean out some stuff 2024-09-14 08:21:08 -04:00
one.cpp messages for non-free builds 2025-09-05 15:39:47 -04:00
README.docker.md Allow setting local.conf content from Docker environment variable 2025-03-26 11:23:46 -07:00
README.md removed duplicate title, added build link, fixed controller link 2025-09-23 10:20:49 -07:00
RELEASE-NOTES.md Add merged PRs. 2025-09-08 13:05:25 -04:00
SECURITY.md cleanup 2025-07-31 11:09:09 -04:00
selftest.cpp License stuff, version bump, CLI output. 2025-08-21 11:01:52 -04:00
update_controllers.sh
version.h License stuff, version bump, CLI output. 2025-08-21 11:01:52 -04:00
windows-clean.bat
zerotier-cli-completion.bash
zerotier-one.spec Build fix. 2025-09-13 11:07:36 -04:00

ZeroTier - Global Area Networking

About

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.

Apps for Android and iOS are available for free in the Google Play and Apple app stores.

For repository layout, build instructions, platform requirements, and information about running ZeroTier, see build.md.

License

See LICENSE-MPL.txt for all code in node/, osdep/. service/, and everywhere else except ext/ and nonfree/.

See nonfree/LICENSE.md for all non-free ("source available") portions of this repository.

Code in ext/ is external code included for build convenience or backward compatibility and retains its original license.