diff --git a/general/package/zerotier-one/00000-makefile.patch b/general/package/zerotier-one/00000-makefile.patch
index 0664da5f..74561d61 100644
--- a/general/package/zerotier-one/00000-makefile.patch
+++ b/general/package/zerotier-one/00000-makefile.patch
@@ -1,6 +1,6 @@
---- a/make-linux.mk	2023-08-26 02:03:03.000000000 +0300
-+++ b/make-linux.mk	2023-08-28 14:20:07.436267795 +0300
-@@ -25,7 +25,7 @@
+--- a/make-linux.mk	2024-05-07 15:30:36.796169232 +0300
++++ b/make-linux.mk	2024-05-07 15:30:18.156127097 +0300
+@@ -26,7 +26,7 @@
  # otherwise build into binary as done on Mac and Windows.
  ONE_OBJS+=osdep/PortMapper.o
  override DEFS+=-DZT_USE_MINIUPNPC
@@ -9,7 +9,7 @@
  #MINIUPNPC_IS_NEW_ENOUGH=$(shell grep -sqr '.*define.*MINIUPNPC_VERSION.*"2.."' /usr/include/miniupnpc/miniupnpc.h && echo 1)
  ifeq ($(MINIUPNPC_IS_NEW_ENOUGH),1)
  	override DEFS+=-DZT_USE_SYSTEM_MINIUPNPC
-@@ -34,7 +34,7 @@
+@@ -35,7 +35,7 @@
  	override DEFS+=-DMINIUPNP_STATICLIB -DMINIUPNPC_SET_SOCKET_TIMEOUT -DMINIUPNPC_GET_SRC_ADDR -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DOS_STRING="\"Linux\"" -DMINIUPNPC_VERSION_STRING="\"2.0\"" -DUPNP_VERSION_STRING="\"UPnP/1.1\"" -DENABLE_STRNATPMPERR
  	ONE_OBJS+=ext/miniupnpc/connecthostport.o ext/miniupnpc/igd_desc_parse.o ext/miniupnpc/minisoap.o ext/miniupnpc/minissdpc.o ext/miniupnpc/miniupnpc.o ext/miniupnpc/miniwget.o ext/miniupnpc/minixml.o ext/miniupnpc/portlistingparse.o ext/miniupnpc/receivedata.o ext/miniupnpc/upnpcommands.o ext/miniupnpc/upnpdev.o ext/miniupnpc/upnperrors.o ext/miniupnpc/upnpreplyparse.o
  endif
@@ -18,7 +18,7 @@
  	ONE_OBJS+=ext/libnatpmp/natpmp.o ext/libnatpmp/getgateway.o
  else
  	LDLIBS+=-lnatpmp
-@@ -66,11 +66,11 @@
+@@ -67,11 +67,11 @@
  	# C25519 in particular is almost UNUSABLE in -O0 even on a 3ghz box!
  node/Salsa20.o node/SHA512.o node/C25519.o node/Poly1305.o: CXXFLAGS=-Wall -O2 -g -pthread $(INCLUDES) $(DEFS)
  else
@@ -30,10 +30,10 @@
  	override CXXFLAGS+=-Wall -Wno-deprecated -std=c++17 -pthread $(INCLUDES) -DNDEBUG $(DEFS)
 -	LDFLAGS=-pie -Wl,-z,relro,-z,now
 +	LDFLAGS=
- 	RUSTFLAGS=--release
+ 	ZT_CARGO_FLAGS=--release
  endif
  
-@@ -310,7 +310,7 @@
+@@ -311,7 +311,7 @@
  
  # Static builds, which are currently done for a number of Linux targets
  ifeq ($(ZT_STATIC),1)
@@ -42,7 +42,7 @@
  endif
  
  # For building an official semi-static binary on CentOS 7
-@@ -328,13 +328,13 @@
+@@ -334,13 +334,14 @@
  
  # ARM32 hell -- use conservative CFLAGS
  ifeq ($(ZT_ARCHITECTURE),3)
@@ -53,6 +53,7 @@
 +		override CFLAGS+=-mfloat-abi=hard -mfpu=vfp -marm -mno-unaligned-access
 +		override CXXFLAGS+=-mfloat-abi=hard -mfpu=vfp -marm -fexceptions -mno-unaligned-access
  		ZT_USE_ARM32_NEON_ASM_CRYPTO=0
++
  	else
 -		override CFLAGS+=-mfloat-abi=hard -march=armv6zk -marm -mfpu=vfp -mno-unaligned-access -mtp=cp15 -mcpu=arm1176jzf-s
 -		override CXXFLAGS+=-mfloat-abi=hard -march=armv6zk -marm -mfpu=vfp -fexceptions -mno-unaligned-access -mtp=cp15 -mcpu=arm1176jzf-s
@@ -61,7 +62,7 @@
  		ZT_USE_ARM32_NEON_ASM_CRYPTO=0
  	endif
  endif
-@@ -354,8 +354,8 @@
+@@ -360,8 +361,8 @@
  endif
  
  # Position Independence
@@ -72,8 +73,8 @@
  
  # Non-executable stack
  override ASFLAGS+=--noexecstack
-@@ -382,7 +382,7 @@
- $(ONE_OBJS): zeroidc
+@@ -388,7 +389,7 @@
+ $(ONE_OBJS): zeroidc smeeclient
  
  libzerotiercore.a:	FORCE
 -	make CFLAGS="-O3 -fstack-protector -fPIC" CXXFLAGS="-O3 -std=c++17 -fstack-protector -fPIC" $(CORE_OBJS)
diff --git a/general/package/zerotier-one/zerotier-one.mk b/general/package/zerotier-one/zerotier-one.mk
index d08188e8..dee24ee1 100644
--- a/general/package/zerotier-one/zerotier-one.mk
+++ b/general/package/zerotier-one/zerotier-one.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-ZEROTIER_ONE_VERSION = 1.12.2
+ZEROTIER_ONE_VERSION = 1.14.0
 ZEROTIER_ONE_SITE = $(call github,zerotier,ZeroTierOne,$(ZEROTIER_ONE_VERSION))
 
 ZEROTIER_ONE_LICENSE = BUSL-1.1