diff --git a/examples/WoL/WoL.cpp b/examples/WoL/WoL.cpp
new file mode 100644
index 0000000..e69de29
diff --git a/examples/cathode/README.md b/examples/cathode/README.md
new file mode 100644
index 0000000..35c5b70
--- /dev/null
+++ b/examples/cathode/README.md
@@ -0,0 +1,3 @@
+## Encrypted P2P chat in the terminal.
+
+See: [https://github.com/zerotier/cathode](https://github.com/zerotier/cathode)
\ No newline at end of file
diff --git a/examples/intercept/intercept.cpp b/examples/intercept/intercept.cpp
new file mode 100644
index 0000000..995fc07
--- /dev/null
+++ b/examples/intercept/intercept.cpp
@@ -0,0 +1,56 @@
+/*
+ * ZeroTier SDK - Network Virtualization Everywhere
+ * Copyright (C) 2011-2017 ZeroTier, Inc. https://www.zerotier.com/
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ * --
+ *
+ * You can be released from the requirements of the license by purchasing
+ * a commercial license. Buying such a license is mandatory as soon as you
+ * develop commercial closed-source software that incorporates or links
+ * directly against ZeroTier software without disclosing the source code
+ * of your own application.
+ */
+
+#include "libzt.h"
+
+#include
+#include
+#include
+#include
+#include
+#include
+
+#include
+#include
+
+int (*realsocket)(ZT_SOCKET_SIG) = 0;
+
+extern void load_symbols()
+{
+ DEBUG_INFO();
+ realsocket = (int(*)(ZT_SOCKET_SIG))dlsym(RTLD_NEXT, "socket");
+}
+
+int socket(ZT_SOCKET_SIG)
+{
+ DEBUG_INFO();
+ return zts_socket(socket_family, socket_type, protocol);
+}
+
+int main()
+{
+ return 0;
+}
\ No newline at end of file
diff --git a/examples/intercept/intercept.hpp b/examples/intercept/intercept.hpp
new file mode 100644
index 0000000..e69de29
diff --git a/test/ztproxy.cpp b/examples/ztproxy/ztproxy.cpp
similarity index 100%
rename from test/ztproxy.cpp
rename to examples/ztproxy/ztproxy.cpp
diff --git a/test/ztproxy.hpp b/examples/ztproxy/ztproxy.hpp
similarity index 100%
rename from test/ztproxy.hpp
rename to examples/ztproxy/ztproxy.hpp
diff --git a/make-bsd.mk b/make-bsd.mk
index 7131131..0d16890 100644
--- a/make-bsd.mk
+++ b/make-bsd.mk
@@ -156,8 +156,6 @@ PICO_OBJS+= ext/picotcp/build/lib/pico_device.o \
all:
-tests: unit_tests
-
##############################################################################
## User-Space Stack ##
##############################################################################
@@ -195,8 +193,16 @@ $(TEST_BUILD_DIR)/%: $(UNIT_TEST_SRC_DIR)/%.cpp
@-$(CXX) $(UNIT_TEST_INCLUDES) -o $@ $< $(UNIT_TEST_LIBS)
@-./check.sh $@
-unit_tests: $(UNIT_TEST_OBJ_FILES)
+tests: $(UNIT_TEST_OBJ_FILES)
+intercept:
+ @$(CXX) $(CXXFLAGS) $(UNIT_TEST_INCLUDES) examples/intercept/intercept.cpp -D_GNU_SOURCE -shared -o $(BUILD)/intercept.so $< $(UNIT_TEST_LIBS) -ldl
+ @./check.sh $(BUILD)/intercept.so
+
+ztproxy:
+ @$(CXX) $(CXXFLAGS) $(UNIT_TEST_INCLUDES) examples/ztproxy/ztproxy.cpp -o $(BUILD)/ztproxy $< $(UNIT_TEST_LIBS) -ldl
+ @./check.sh $(BUILD)/ztproxy
+
##############################################################################
## Misc ##
##############################################################################
diff --git a/make-linux.mk b/make-linux.mk
index 4e40ff3..c191dab 100644
--- a/make-linux.mk
+++ b/make-linux.mk
@@ -252,6 +252,14 @@ $(TEST_BUILD_DIR)/%: $(UNIT_TEST_SRC_DIR)/%.cpp
tests: $(UNIT_TEST_OBJ_FILES)
+intercept:
+ @$(CXX) $(CXXFLAGS) $(UNIT_TEST_INCLUDES) examples/intercept/intercept.cpp -D_GNU_SOURCE -shared -o $(BUILD)/intercept.so $< $(UNIT_TEST_LIBS) -ldl
+ @./check.sh $(BUILD)/intercept.so
+
+ztproxy:
+ @$(CXX) $(CXXFLAGS) $(UNIT_TEST_INCLUDES) examples/ztproxy/ztproxy.cpp -o $(BUILD)/ztproxy $< $(UNIT_TEST_LIBS) -ldl
+ @./check.sh $(BUILD)/ztproxy
+
##############################################################################
## Misc ##
##############################################################################
diff --git a/make-mac.mk b/make-mac.mk
index 18fb3d3..4925032 100644
--- a/make-mac.mk
+++ b/make-mac.mk
@@ -263,6 +263,14 @@ $(TEST_BUILD_DIR)/%: $(UNIT_TEST_SRC_DIR)/%.cpp
tests: $(UNIT_TEST_OBJ_FILES)
+intercept:
+ @$(CXX) $(CXXFLAGS) $(UNIT_TEST_INCLUDES) examples/intercept/intercept.cpp -D_GNU_SOURCE -shared -o $(BUILD)/intercept.so $< $(UNIT_TEST_LIBS) -ldl
+ @./check.sh $(BUILD)/intercept.so
+
+ztproxy:
+ @$(CXX) $(CXXFLAGS) $(UNIT_TEST_INCLUDES) examples/ztproxy/ztproxy.cpp -o $(BUILD)/ztproxy $< $(UNIT_TEST_LIBS) -ldl
+ @./check.sh $(BUILD)/ztproxy
+
##############################################################################
## Misc ##
##############################################################################