A Smart Ethernet Switch for Earth
Find a file
2025-11-11 18:40:58 -08:00
.github cleanup controller github action 2025-09-04 14:47:58 -07:00
artwork Added 90x90 AppIcon 2019-05-01 12:53:50 -07:00
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 can now build centos8 docker container with Redis support 2020-05-12 15:17:57 -07:00
.gitattributes force eol=crlf for driver .inf files 2020-11-25 18:22:52 -08:00
.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 add application_name to pgbouncer connectio string 2018-12-10 12:26:20 -08:00
Dockerfile.ci more RELEASE-NOTES 2021-09-15 08:12:25 +02:00
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 update docker registry used 2019-02-08 10:40:57 -08:00
version.h License stuff, version bump, CLI output. 2025-08-21 11:01:52 -04:00
windows-clean.bat Revise Windows build to VS2022. 2022-06-06 19:33:35 -04:00
zerotier-cli-completion.bash Create a bash completion script. 2020-07-23 13:40:48 -07:00
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.